Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.89
Kaktotak
Сообщений: n/a
#1

Строки в С++....сравнение слов не получется... - C++

19.12.2010, 18:32. Просмотров 2334. Ответов 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 минуту
спасибо.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2010, 18:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Строки в С++....сравнение слов не получется... (C++):

Функция, получает строку слов и рзделителей, а на выходе имеет массив слов из строки и количество этих слов - C++
мне нужна функция, которая во входе получает строку слов и рзделителей (&quot; &quot;, &quot;,&quot;, &quot;.&quot;, &quot;_&quot;, &quot;&quot;&quot;), а на выходе имеет массив слов из строки...

Не получется отладить программу - C++
Программа ведомость результатов экзаменационной сессии. выдает такие ошибки: 1&gt;c:\documents\visual studio...

Не получется вызвать шаблон функции - C++
Уважаемые пользователи, подскажите почему не вызывается шаблон, а в процессе компиляции вылетает ошибка error C2784: T masmax(T...

сравнение слов... - C++
Доброго времени суток. У меня следующая проблема. Есть задача: Ввести две строки символов. Определить, совпадает ли в них первое...

Сравнение слов - C++
Предположим список слова ехал грека грека через реку, ищу все максимальной длины x-слова, в y-слова макс длины while(x!=0) { ...

Сравнение русских слов - C++
Как сравнить русские слова? Имеется вот такой код. При сравнении слов не выводит перевод { case 1: { cout &lt;&lt; &quot;Введите...

2
lilcassie
Сообщений: n/a
27.12.2010, 05:28 #2
кааак решили? у меня такая же проблема(((
ForEveR
В астрале
Эксперт С++
7979 / 4738 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
27.12.2010, 06:38 #3
strcmp(first, second) - сравнение С-строк если что, first и second параметры типа char* (const char*).
Возвращает 0 если строки равны, меньше нуля, если первая меньше второй по лексикограф. порядку, больше нуля, если больше соответственно.
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.12.2010, 06:38
Привет! Вот еще темы с ответами:

Алфавит и сравнение слов - C++
не понял такой вещи a, b, c, d if (&quot;dd&quot; &lt; &quot;cc&quot;) cout &lt;&lt; &quot;cc &gt; dd&quot; &lt;&lt;'\n'; if (&quot;aa&quot; &lt; &quot;bb&quot;) cout &lt;&lt; &quot;bb &gt; aa&quot; &lt;&lt;'\n'; ...

Сравнение слов в строке - C++
Не могу понять как сравнивать слова. В данной проге у меня просто выводятся все 4-х символьные слова, а нужно чтобы выводились только те...

Сравнение слов в структуре - C++
Есть структура, состоящая из 10 элементов. Часть элементов хранят числовые значения, часть — слова. Как мне узнать, является ли...

Сравнение двух слов - C++
Как сравнить два слова? использую strcmp но результата не дает


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru