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

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

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

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

25.11.2011, 20:00. Просмотров 5733. Ответов 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";
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2011, 20:00     Сравнить два введённых слова
Посмотрите здесь:

Проверить, совпадают ли два введённых слова - C++
1. Проверить, совпадают ли два введённых слова (есть решённая) 2. Вставить вместо &quot;т&quot;, стоячей на нечётном месте букву &quot;у&quot;. Помогите со...

Как сравнить два слова - C++
как сравнить два слова в массиве структур ? // masS.stud=go_23 // // masS.stud=go_23 // ... if(masS.stud==masS.stud) //...

Сравнить два массива - C++
Подскажите пожалуйста как решить задачу: Нужно сравнить два массива, проверить все элементы на совпадение и если они совпадают то вывести...

Сравнить два подмножества в матрице - C++
подскажите пжл как сравнить 2 подмножества в матрице

Сравнить два контейнера set - C++
Всем добрый вечер . Как сравнить два контейнера set? Допустим: set &lt;int&gt; m1; set &lt;int&gt; m2; for( int i = 0; i &lt; 5;...

Как сравнить два символа? - C++
Я сегодня пытался решить задачу и столкнулся с проблемой. Мне нужно было сравнить элементы массива с символами. (a==&quot;B&quot;)&amp;&amp;(a==&quot;G&quot;) На...

Сравнить два любых файла на С++ - C++
В общем задача такая: Надо сравнить два любых файла(ехе, doc, pdf) - и вывести сообщение: а) если они различаются - то место(номер)...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
25.11.2011, 20:26     Сравнить два введённых слова #2
Используйте функцию strcmp() для сравнения строк
lemegeton
2923 / 1352 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
25.11.2011, 20:27     Сравнить два введённых слова #3
Ну или можно самостоятельно написать.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
 
int strcmp(const char *a, const char *b) {
  for (; a != '\0' && b != '\0'; ++a, ++b)
    if (*a != *b)
      return *a - *b;
  return 0;
}
 
int main(void) {
  printf("%d\n", strcmp("abcd", "abcd"));
  printf("%d\n", strcmp("abcd", "abc"));
  printf("%d\n", strcmp("abc", "abcd"));
  printf("%d\n", strcmp("abce", "abcd"));
  printf("%d\n", strcmp("abcd", "abce"));
  return 0;
}
romster
5 / 3 / 1
Регистрация: 25.11.2011
Сообщений: 78
25.11.2011, 20:30  [ТС]     Сравнить два введённых слова #4
Цитата Сообщение от Thinker Посмотреть сообщение
Используйте функцию strcmp() для сравнения строк
Можно фрагмент программы, ато только начал изучать строки
for(i=0;strcmp(i)+1;i++) как его использовать в fore?
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
25.11.2011, 20:35     Сравнить два введённых слова #5
цикл здесь совсем не нужен, функция все сама сделает:
C
1
2
3
if (strcmp(a, b) == 0)
   puts("строки равны");
else puts("не равны");
romster
5 / 3 / 1
Регистрация: 25.11.2011
Сообщений: 78
25.11.2011, 20:35  [ТС]     Сравнить два введённых слова #6
Цитата Сообщение от lemegeton Посмотреть сообщение
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
 
int strcmp(const char *a, const char *b) {
  for (; a != '\0' && b != '\0'; ++a, ++b)
    if (*a != *b)
      return *a - *b;
  return 0;
}
 
int main(void) {
  printf("%d\n", strcmp("abcd", "abcd"));
  printf("%d\n", strcmp("abcd", "abc"));
  printf("%d\n", strcmp("abc", "abcd"));
  printf("%d\n", strcmp("abce", "abcd"));
  printf("%d\n", strcmp("abcd", "abce"));
  return 0;
}
А мне именно ввести и сравнить
absokolov
29 / 29 / 1
Регистрация: 10.05.2011
Сообщений: 120
25.11.2011, 20:38     Сравнить два введённых слова #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#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;
if (strncmp(&a, &b, sizeof(a)) == 0)
cout<<"da";
else cout<<"net";
}
romster
5 / 3 / 1
Регистрация: 25.11.2011
Сообщений: 78
25.11.2011, 20:38  [ТС]     Сравнить два введённых слова #8
А для strcmp библиотека <string>?
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
25.11.2011, 20:39     Сравнить два введённых слова #9
romster, cstring. И не библиотека а заголовочный файл.
absokolov
29 / 29 / 1
Регистрация: 10.05.2011
Сообщений: 120
25.11.2011, 20:39     Сравнить два введённых слова #10
да!
C++
1
#include <string.h>
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
25.11.2011, 20:40     Сравнить два введённых слова #11
absokolov, амперсанды не нужны, имя массива это и так адрес.
absokolov
29 / 29 / 1
Регистрация: 10.05.2011
Сообщений: 120
25.11.2011, 20:41     Сравнить два введённых слова #12
Ну можно и без них!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#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;
if (strncmp(a, b, sizeof(a)) == 0)
cout<<"da";
else cout<<"net";
}
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
25.11.2011, 20:43     Сравнить два введённых слова #13
Цитата Сообщение от absokolov Посмотреть сообщение
можно и без них!

Не по теме:

Хотя и правда с ними ошибки не будет.

romster
5 / 3 / 1
Регистрация: 25.11.2011
Сообщений: 78
25.11.2011, 20:46  [ТС]     Сравнить два введённых слова #14
А почему вот strcmp не объявлена говорит? #include <string> есть
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2011, 21:05     Сравнить два введённых слова
Еще ссылки по теме:

Сравнить два вектора размерности n - C++
Как сравнить два вектора размерности n? Например вектор a(2,3,2) сравнить с вектором b(1,3,3). Какой из векторов больше? Вообще можно ли их...

Сравнить два кода с условием - C++
if(a == 1) b = 2; else b = 3; c = 2; if(a== 1) { b = 2 } else { b = 3 } c = 2; Тоже самое произойдет? Или в 1 варианте...

Сравнить два поля узла - C++
Имеется двусвязный список фишек домино. В нём два поля: левое и правое числа фишки домино. Нужно пробежать такой цикл, чтобы выяснить...

Как сравнить два массива - C++
Здравствуйте форумчане! Помогите пожалуйста, скажите как сравнить два массива побитово и побайтово. В инете ни чего не могу найти((

Сравнить логически два массива - C++
Сравнить , используя логическое или(||) два одномерных массива (А и В) и записать результат в массив С Массивы создал , но не знаю как...


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

Или воспользуйтесь поиском по форуму:
lemegeton
2923 / 1352 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
25.11.2011, 21:05     Сравнить два введённых слова #15
Цитата Сообщение от romster Посмотреть сообщение
А мне именно ввести и сравнить
А по-аналогии сделать?
Yandex
Объявления
25.11.2011, 21:05     Сравнить два введённых слова
Ответ Создать тему
Опции темы

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