Kaktotak
|
|
1 | |
Строки в С++....сравнение слов не получется...19.12.2010, 18:32. Показов 2743. Ответов 2
Метки нет (Все метки)
Прога для решения задачи: С клавиатуры вводятся две строки, содержащие некоторые слова.
Слова перечислены через запятую. Исключить из первой строки слова, входящие во вторую строку. Слова должны сравниваться без учета регистра символов. Строка 1: world,cat,DOG,BALL Строка 2: World,dog,processor,memory,programming Результат: cat ball Накалякал прогу... #include <stdlib.h> #include <stdio.h> #include <string.h> #include <conio.h> #include <iostream> using namespace std; char slovo[30];// задаем глобально int count(char *s) { int n=1; for (int i=0; i<strlen(s);i++) if (s[i]==',') n++; return n+1; } char*get(char* s, int n, char*slovo) //выковыриваем слово { int l=0,i=0; int el=0; if (n==0) {while (s[i]!=',') {slovo[i]=s[i];i++;}slovo[i]='\0';} else for (int i=0; i<strlen(s); i++) if (s[i]==',') { el++; if (el==n) while(s[i+1]!=','){ if (s[i+1]!=','){ slovo[l]=s[i+1]; i++; l++; }} slovo[l]='\0';} return slovo; } void main() { char str1[100], str2[100], s[100]; //вводим 1 строку puts("stroka1: "); gets(str1); //вводим 2 строку puts ("stroka2: "); gets(str2); int n=0; for (int i=0; i<count(str1); i++) { char* W1=get(str1, i,slovo);//вытаскиваем слово из строки 1 bool t=true; for (int j=0; j<count(str2); j++) { char* W2=get(str2, j,slovo);//вытаскиваем слово из строки 2 if(stricmp (W1,W2)==0)//если слова равны t=false; } if (t==true) cout<<W1; } getch(); } Функция get сама по себе работает, например , если написать cout<<get(str2, 1,slovo), то слово она вытащит и на экран все выводится... а вот при сравнении ничего не получается (stricmp (W1,W2)==0))....уже мучаю ее несколько дней, завтра последний срок сдачи....помогите бездарю...заранее Добавлено через 1 минуту спасибо. |
19.12.2010, 18:32 | |
Ответы с готовыми решениями:
2
Функция, получает строку слов и рзделителей, а на выходе имеет массив слов из строки и количество этих слов Не получется скомпилировать что то не получется Не получется отладить программу |
lilcassie
|
|
27.12.2010, 05:28 | 2 |
кааак решили? у меня такая же проблема(((
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
27.12.2010, 06:38 | 3 |
strcmp(first, second) - сравнение С-строк если что, first и second параметры типа char* (const char*).
Возвращает 0 если строки равны, меньше нуля, если первая меньше второй по лексикограф. порядку, больше нуля, если больше соответственно.
2
|
27.12.2010, 06:38 | |
27.12.2010, 06:38 | |
Помогаю со студенческими работами здесь
3
Не получется подключить принтер Не получется указать путь к файлу Не получется вызвать шаблон функции Не получется войти в учетную запись Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |