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

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

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

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

19.12.2010, 18:32. Просмотров 2301. Ответов 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++ Сравнение двух слов
Сравнение и вывод слов C++
C++ Сравнение русских слов
C++ Алфавит и сравнение слов
C++ Обработка слов строки без массива слов
Сравнение слов C++
C++ Сравнение русских слов
C++ Не получется отладить программу
C++ Сравнение слов в строке
C++ Сравнение слов в структуре
Сравнение строк и вывод одинаковых слов С++ C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lilcassie
Сообщений: n/a
27.12.2010, 05:28     Строки в С++....сравнение слов не получется... #2
кааак решили? у меня такая же проблема(((
ForEveR
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
27.12.2010, 06:38     Строки в С++....сравнение слов не получется... #3
strcmp(first, second) - сравнение С-строк если что, first и second параметры типа char* (const char*).
Возвращает 0 если строки равны, меньше нуля, если первая меньше второй по лексикограф. порядку, больше нуля, если больше соответственно.
Yandex
Объявления
27.12.2010, 06:38     Строки в С++....сравнение слов не получется...
Ответ Создать тему
Опции темы

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