С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Vedynn
2 / 2 / 1
Регистрация: 29.05.2009
Сообщений: 22
#1

сравнение слов... - C++

02.06.2009, 16:31. Просмотров 1298. Ответов 4
Метки нет (Все метки)

Доброго времени суток.

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


Я навоял вот такую программу.
Хоть и с точки зрения синтаксиса прога правильна , но не работает.
Код
#include <stdio.h>
void main ()
{
char ss,s,z;
char A[80];
int k,M,M2,sav;
printf("vvedite slovo \n");
[COLOR="Red"]
1for (s=' ',z='A';z<='Z';z++)
2{
3 ss=s; s=getchar();

4if(z==s) goto M2;
5if(z!=s) break;
6z=sav;
7while (z==s)
8{
9z='A';
10z++;
11}
12z=sav;
13M2:if(ss==' ') k=0;
14s=z;
15A[k]=s;k++;
}
[/COLOR]
printf("Slovo: %c",A);
}
Посмотрели, ужаснулись

Я постараюсь объяснить что я хотел сделать.
Строки пронумерованы для более удобного изложения.
1-15 строку это весь цикл который должен осуществлять проверку символов и записи их 16 разрядного значения в массив. После чего массивы должны будут сравниваться и если их эллементы не совпадают то слова различны , а если наоборот то слова одинаковые.
Cистема проверки должна состоять из цикла for и вложенного в него цикл while и соответственно if как условия проверки …

Цикл проверки второй строчки я думаю аналогичен , за исключением переменных и названия массива.

Молю вас помогите мне
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2009, 16:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос сравнение слов... (C++):

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

Алфавит и сравнение слов - 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++
Как сравнить русские слова? Имеется вот такой код. При сравнении слов не выводит перевод { case 1: { cout &lt;&lt; &quot;Введите...

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

Сравнение и вывод слов - C++
Всем доброго времени суток. Хочу попросить помощи. Моя задача - составить программу, которая бы при вводе фамилии выдавала некие данные...

4
Patch
2277 / 492 / 11
Регистрация: 01.04.2009
Сообщений: 2,178
02.06.2009, 17:25 #2
плохо понял...
но что сразу видно - строки с 6 по 13 цикла не исполняются никогда.
стоят условия:
Цитата Сообщение от Vedynn Посмотреть сообщение
4if(z==s) goto M2;
5if(z!=s) break;
если не секрет, а как еще по вашему могут соотносится z и s? кроме "==" и "!=" ?
соответственно, все, что дальше до M2 - фактически комментарии.
1
Vedynn
2 / 2 / 1
Регистрация: 29.05.2009
Сообщений: 22
02.06.2009, 18:28  [ТС] #3
Цитата Сообщение от Patch Посмотреть сообщение
плохо понял...
но что сразу видно - строки с 6 по 13 цикла не исполняются никогда.
стоят условия:

если не секрет, а как еще по вашему могут соотносится z и s? кроме "==" и "!=" ?
соответственно, все, что дальше до M2 - фактически комментарии.
Код
 
for (s='  ',z='A';z<='Z';z++)
 {
  ss=s; s=getchar();
while (s=='  ');
{
 while (z==s);
 {
 z='A';
 z++;
 }
if (ss=='  ') k=0;
A[k]=s;k++;
}
}

это уже ближе у истине....
цикл должен перебрать все символы до пробела

Добавлено через 31 минуту 48 секунд
плохо понял...
но что сразу видно - строки с 6 по 13 цикла не исполняются никогда.
стоят условия:
Ввести две строки символов.
Определить, совпадает ли в них первое слово.

цикл постом выше должен перебирать буквы от A до Z и сравнивать с буквами в ведённом предложении, а после записывать последовательно в массив....
А когда получаем второй массив (от аналог. действий проведённых со вторым предложение) сравниваем их и получаем результат...

Осталось узнать правильно или точнее корректно ли написан цикл, который проверяет предложение и как сравнить два массива... ?
0
Patch
2277 / 492 / 11
Регистрация: 01.04.2009
Сообщений: 2,178
02.06.2009, 19:22 #4
все равно не понимаю этого кода...
может закомментируешь?
из задача, должно быть 3 блока:
1)ввод строки1 в массив1.
2)ввод строки2 в массив2.
3)сравнение массивов до пробела.
по идее - делается процедура: ввод слова.
и функция: сравнение массивов.
Цитата Сообщение от Vedynn Посмотреть сообщение
цикл постом выше должен перебирать буквы от A до Z и сравнивать с буквами в ведённом предложении
а это еще зачем??

Добавлено через 53 минуты 48 секунд
я вообще-то не пишу на консоли.
соответственно, в написании функций могу ошибатся.

если не надо заморочек, то примерно так должно быть.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
void main ()
{
char str1[21], str2[21]; //строка на 20 символов
scanf("%20s", str1, 21);
scanf("%20s", str2, 21);
if(compare(&str1[0],&str2[0]))
{
//пишем, что совпадает
}
else
{
//... не совпадает
}
}
 
bool compare(char * str1, char * str2)
{
int i =0;
while((str1[i]!=0)&(str2[i]!=0)&(str1[i]!=" ")&(str2[i]!=" ")){
if(str1[i]!=str2[i]) return false; //не совпадают
i++;
}
return true;//строки совпадают
}
1
accept
4828 / 3249 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
03.06.2009, 02:15 #5
тут с функциями
1
Вложения
Тип файла: zip compare_first_words.zip (915 байт, 36 просмотров)
03.06.2009, 02:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2009, 02:15
Привет! Вот еще темы с ответами:

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

Сравнение русских слов - C++
Здравствуйте! Пишу программу для опроса людей (так сказать тест знаний). Так вот, программа задает вопрос, человек должен на него ответить,...

Строки в С++....сравнение слов не получется... - C++
Прога для решения задачи: С клавиатуры вводятся две строки, содержащие некоторые слова. Слова перечислены через запятую. Исключить из...

Сравнение строк и вывод одинаковых слов С++ - C++
Хочу чтобы пользователь вводил 2 строки, они сравнивались и выводились одинаковые слова с двух строк. Программирую не так много, знаю мало,...


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

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

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