Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2012, 12:35   #1
Evielle
Пользователь
 
Регистрация: 23.04.2012
Сообщений: 22
По умолчанию Сравнение строк через strcmp(), Си++

Не работает нормально сравнение строк.
Пробовал сравнивать через такое if (str[j] == " i"). Он вообще в цикл не заходит.
И всяко разно брыкается при записи в файл.

И еще не знаю как локализовать ее, т.к используется strcmp..

Код:
#include <iostream>
#include <cstdio>
#include <conio.h>
#include <stdio.h>
#include <string.h>
using namespace std;
int main()
{   
    string str[20], men;
    char c;
    FILE *read, *write;
    read = fopen("in.txt", "r");
    int i=0, j;
    while ((c = getc(read))!= EOF)
    {
          if (c == ' ')
          {
                str[i] += '\0';
                i++;
          }
          str[i] += c;
    }
    for(j=0; j<=i; j++)
    {
          if (strcmp(str[j]," i") == 0)
          {
                 men = str[j-1];
                 str[j-1] = str[j+1];
                 str[j+1] = men;               
          }
    }
    fclose(read);
    write = fopen("out.txt", "w");
    for(j=0; j<=i; j++)
    cout<<str[j]; //записать в файл через fprintf
    fclose(write);
    getch();
}

Последний раз редактировалось Evielle; 26.04.2012 в 12:56.
Evielle вне форума Ответить с цитированием
Старый 26.04.2012, 13:40   #2
Helloween
Форумчанин
 
Регистрация: 24.04.2012
Сообщений: 300
По умолчанию

" i" - почему пробел перед i? так точно не заработает, т.к там только 1 символ содержиться в str[j]
Помог? Оставляем отзыв =)
Helloween вне форума Ответить с цитированием
Старый 26.04.2012, 14:00   #3
Evielle
Пользователь
 
Регистрация: 23.04.2012
Сообщений: 22
По умолчанию

Готов поспорить! Я отладку делал, там " i".

Ошибка в записи strcmp() какая-то.

И вообще какой оптимальный вид сравнения сделать? Потом ее надо будет адаптировать к кириллице.
Evielle вне форума Ответить с цитированием
Старый 26.04.2012, 14:02   #4
Helloween
Форумчанин
 
Регистрация: 24.04.2012
Сообщений: 300
По умолчанию

Значит у тебя там не "i", а некоторый другой символ, который отображается так из-за кодировки, но символ там 1 =))
Помог? Оставляем отзыв =)
Helloween вне форума Ответить с цитированием
Старый 26.04.2012, 14:03   #5
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

Почему у вас здесь if (str[j] == " i") перед i пробел? Вы сравниваете j-ый символ строки str со строкой i с пробелом впереди.
Опа, уже опередили!
Помог - жми на весы!
ByAlex89@mail.ru
ByAlex вне форума Ответить с цитированием
Старый 26.04.2012, 14:20   #6
Evielle
Пользователь
 
Регистрация: 23.04.2012
Сообщений: 22
По умолчанию

Так нее, ребят, я ж все-таки считывал его из файла!
Evielle вне форума Ответить с цитированием
Старый 26.04.2012, 14:23   #7
Helloween
Форумчанин
 
Регистрация: 24.04.2012
Сообщений: 300
По умолчанию

Выпей йаду если не веришь. Бесполезно что-то говорить.
Помог? Оставляем отзыв =)
Helloween вне форума Ответить с цитированием
Старый 27.04.2012, 13:36   #8
Evielle
Пользователь
 
Регистрация: 23.04.2012
Сообщений: 22
По умолчанию

В таком случае был бы рад, если бы еще прилепили рабочий код, заместо посылания выпить яду)
Бесполезно что-то говорить - напиши.
Evielle вне форума Ответить с цитированием
Старый 27.04.2012, 13:52   #9
Helloween
Форумчанин
 
Регистрация: 24.04.2012
Сообщений: 300
По умолчанию

Что ты хотел добиться от программы? И файл твой нужен.
Помог? Оставляем отзыв =)
Helloween вне форума Ответить с цитированием
Старый 27.04.2012, 21:00   #10
Evielle
Пользователь
 
Регистрация: 23.04.2012
Сообщений: 22
По умолчанию

Код тот же пока. Никак не продвинулся.

Нужно составить программу, которая бы считывала с файла строку (макс. 255 символов). А так же меняла слова местами, между которыми есть союз "и". Результат записать в файл.

Заранее спасибо!
Вложения
Тип файла: rar Pr1.rar (628 байт, 8 просмотров)
Evielle вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение строк в СИ Artem_Kokos Помощь студентам 6 14.11.2011 18:46
Сравнение строк Corvette Общие вопросы C/C++ 4 11.09.2011 23:42
Сравнение строк Dasharnb777 Общие вопросы .NET 5 22.09.2010 20:46
Макрос на сравнение и подсчет в первом столбце строк, и сумирование значений этих строк в другом столбце Shpr0T Microsoft Office Excel 8 30.08.2010 17:52
Сравнение строк Jasper92 Общие вопросы C/C++ 6 23.12.2009 12:49