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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 39, средняя оценка - 4.77
romster
5 / 3 / 1
Регистрация: 25.11.2011
Сообщений: 78
#1

Сравнить два введённых слова - C++

25.11.2011, 20:00. Просмотров 5433. Ответов 29
Метки нет (Все метки)

Всем привет!! Помогите решить задачку: ввести два слова и сравнить их.
Вот я почти решил, надо как-то внедрить проверку длины слова (может strlen?)
Атто у меня если введёшь dos и dosa, то считает правильным))
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include<string>
 
using namespace std;
 
int main()
{
char a[50],b[50];
int i;
cout<<"Vvedite slovo N1 i N2\n";
cin>>a>>b;
for(i=0;i<1;i++)
if (a[i]==b[i])
cout<<"da";
else cout<<"net";
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
12891 / 7277 / 811
Регистрация: 27.09.2012
Сообщений: 17,976
Записей в блоге: 2
Завершенные тесты: 1
31.05.2014, 19:10     Сравнить два введённых слова #21
Цитата Сообщение от Ринат Посмотреть сообщение
"арбуз был первый а баран второй"??
нет, просто третьим козел шел

уточните что Вам нужно, а то не понятно ничего.
zss
Модератор
Эксперт С++
6248 / 5851 / 1891
Регистрация: 18.12.2011
Сообщений: 14,993
Завершенные тесты: 1
31.05.2014, 19:14     Сравнить два введённых слова #22
C++
1
strncmp(a, b, sizeof(a))==0
истина, если sizeof(a) символов строки a совпадают с sizeof(a) символов строки b
Несколько странное сравнение. Я бы написал
C++
1
strncmp(a, b, strlen(a))==0
C++
1
2
3
4
5
char a[]="Арбуз",char b[]="Баран";
if(strcmp(a,b)==1)
   cout<<a<<" первый,"<<b<<" второй"<<endl;
else
   cout<<b<<" первый,"<<a<<" второй"<<endl;
Ринат
0 / 0 / 0
Регистрация: 29.05.2014
Сообщений: 80
31.05.2014, 19:14     Сравнить два введённых слова #23
Вот к примеру условие:
i
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
nclude <iostream>
include <string>
using namespace std;
 
Int main()
{
char arbuz[100];
char baran[100];
cout<<"Vvedite arbuz"<<endl;
cin>>arbuz;
cout<<"Vvedite baran"<<endl;
cin>>baran;
 
if(arbuz>baran){
cout<<arbuz<<endl;
}
else{
cout<<baran<<endl;
}
return(0);
}
zss
Модератор
Эксперт С++
6248 / 5851 / 1891
Регистрация: 18.12.2011
Сообщений: 14,993
Завершенные тесты: 1
31.05.2014, 19:16     Сравнить два введённых слова #24
Цитата Сообщение от Ринат Посмотреть сообщение
if(arbuz>baran){
надо
C++
1
if(strcmp(arbuz,baran)==1)
Croessmah
Модератор
Эксперт CЭксперт С++
12891 / 7277 / 811
Регистрация: 27.09.2012
Сообщений: 17,976
Записей в блоге: 2
Завершенные тесты: 1
31.05.2014, 19:17     Сравнить два введённых слова #25
Цитата Сообщение от zss Посмотреть сообщение
надо
корректней сравнивать с нулем, потому что никто не гарантирует возврат единицы. Гарантируется только возврат нуля, значение больше или меньше нуля.

7.21.4.2 The strcmp function
Synopsis
C
1
2
#include <string.h>
int strcmp(const char *s1, const char *s2);
Description
The strcmp function compares the string pointed to by s1 to the string pointed to by s2.
Returns
The strcmp function returns an integer greater than, equal to, or less than zero, accordingly as the string pointed to by s1 is greater than, equal to, or less than the string pointed to by s2.
Ринат
0 / 0 / 0
Регистрация: 29.05.2014
Сообщений: 80
31.05.2014, 19:24     Сравнить два введённых слова #26
Те, получается по этому коду я вводу например имя Артем. потом Ввожу Иван, на выводе будет выводится Артем
, если же буду вводить Иван и колян будет выводится Иван.

Добавлено через 7 минут
strcmp к какой библиотеке относится?
Croessmah
Модератор
Эксперт CЭксперт С++
12891 / 7277 / 811
Регистрация: 27.09.2012
Сообщений: 17,976
Записей в блоге: 2
Завершенные тесты: 1
31.05.2014, 19:26     Сравнить два введённых слова #27
Цитата Сообщение от Ринат Посмотреть сообщение
strcmp к какой библиотеке относится?
к стандартной библиотеке C
Объявление тут: string.h (для c++ cstring)
zss
Модератор
Эксперт С++
6248 / 5851 / 1891
Регистрация: 18.12.2011
Сообщений: 14,993
Завершенные тесты: 1
31.05.2014, 19:28     Сравнить два введённых слова #28
Цитата Сообщение от Ринат Посмотреть сообщение
strcmp к какой библиотеке относится?
Достаточно
C++
1
#include <string.h>
Ринат
0 / 0 / 0
Регистрация: 29.05.2014
Сообщений: 80
31.05.2014, 19:50     Сравнить два введённых слова #29
Все заработало спс) интересный эксперимент-)

Добавлено через 22 минуты
Цитата Сообщение от zss Посмотреть сообщение
if(strcmp(arbuz,baran)==1)
хотел уточнить, тут благодаря команде strcmp арьуз и баран сравниваются с 1цей? в чём сама фишка? и в чем будет отличия 1цы от 0ля?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.05.2014, 20:20     Сравнить два введённых слова
Еще ссылки по теме:

Как сравнить два слова C++
C++ Сравнить два контейнера set
Сравнить два вектора размерности n C++
C++ Сравнить два подмножества в матрице
Сравнить два массива C++

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

Или воспользуйтесь поиском по форуму:
ник нэйм
3 / 3 / 1
Регистрация: 10.11.2013
Сообщений: 175
31.05.2014, 20:20     Сравнить два введённых слова #30
C++
1
2
3
4
5
string a;
string b;
if(a==b)
{cout<<" совпало ";
}
Yandex
Объявления
31.05.2014, 20:20     Сравнить два введённых слова
Ответ Создать тему
Опции темы

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