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

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

Войти
Регистрация
Восстановить пароль
 
GARFT
0 / 0 / 0
Регистрация: 15.11.2012
Сообщений: 25
#1

Проверить одну строку на наличие в ней слова из второй строки - C++

30.11.2012, 23:11. Просмотров 758. Ответов 4
Метки нет (Все метки)

Программа просит ввести строку №1 и строку №2. Первая строка больше второй. Затем если в первой строке присудствует фраза либо слово из второй строки выводиться ДА.

Введите строку №1: Я ем мыло
Введите строку №2: ем
Ответ: ДА

P.S. Пожалуйста, максимально простой код, только начал изучать С++.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2012, 23:11     Проверить одну строку на наличие в ней слова из второй строки
Посмотрите здесь:

Определить длину строки. Проверить, есть ли в ней слово “one”. C++
Преобразовать строку, заменив в ней первый символ на второй. C++
Преобразовать строку, заменив в ней первый символ на второй, и заодно подсчитать количество замен C++
C++ Функция копирует строку в другую строку заданой длины и помещает текст первой строки по центру второй строки
Даны две строки. Получить строку, в которой чередуются слова первой и второй строки C++
Ввести строку символов а)вручную, б)из файла и проверить ее на наличие латинских букв C++
1. Скопировать из файла F1 в файл F2 строки, которые не содержат слова, начинающиеся на одну букву 2. Определить номер слова в котором больше всего г C++
Как проверить строку на наличие табуляций? C++
C++ Ввести символьную строку проверить есть ли в ней цифры
C++ Преобразовать строку таким образом, чтобы все слова в ней были напечатаны наоборот
C++ Проверить строку на наличие только букв
C++ Проверка строки на наличие в ней не только цифр

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
no_wearines
52 / 48 / 2
Регистрация: 01.01.2012
Сообщений: 324
01.12.2012, 03:53     Проверить одну строку на наличие в ней слова из второй строки #2
Старая школа (ручная):

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
25
26
27
#include <iostream>
#include <string>
#include <conio>
using namespace std;
 
void main()
{
char array_1[240], array_2[240];
 
cout<<"Entering s_1: ";
cin.getline(array_1, 240);
cout<<"Entering s_2: ";
cin.getline(array_2, 240);
 
//проверка s_1 and s_2
 
for(int i_1 = 0, i_2, i_c_1 = strlen(array_1), i_c_2 = strlen(array_2); i_1 < i_c_1; ++i_1)
{
for(i_2 = 0; i_2 < i_c_2; ++i_2)
if(array_1[(i_1 + i_2)] != array_2[i_2])
break;
if(i_2 == i_c_2)
cout<<"yes";
}
 
getch();
}
Старая школа (Использование встроенной функции strstr):

C++
1
2
if(strstr(array_1, array_2))
cout<<"Yes";
Использование объекта string

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
#include <conio>
using namespace std;
 
void main()
{
string s_1, s_2;
cin>>s_1>>s_2;
 
if((s_1.find(s_2, 0) + 1)
cout<<"Yes";
 
getch();
}
MrGluck
Ворчун
Эксперт CЭксперт С++
6614 / 3805 / 495
Регистрация: 29.11.2010
Сообщений: 10,044
01.12.2012, 04:06     Проверить одну строку на наличие в ней слова из второй строки #3
C++
1
#include <conio>
Интересный инклюд.
Для справки: Использование функций для работы со строками в сишном стиле(char*) требует подключение заголовочного файла string.h или же cstring. <string> же содержит описание контейнера std::string и его методов.
И еще, void main - плохо.
C++
1
if((s_1.find(s_2, 0) + 1)
надо бы
C++
1
if (s_1.find(s_2) != std::string::npos)
no_wearines
52 / 48 / 2
Регистрация: 01.01.2012
Сообщений: 324
01.12.2012, 04:16     Проверить одну строку на наличие в ней слова из второй строки #4
Цитата Сообщение от MrGluck Посмотреть сообщение
И еще, void main - плохо.
не предполагается, что программа будет возвращать результат. (человек просил упрощенный код.

по поводу подключения файла тоже спешил - Builder компилирует
MrGluck
Ворчун
Эксперт CЭксперт С++
6614 / 3805 / 495
Регистрация: 29.11.2010
Сообщений: 10,044
01.12.2012, 04:27     Проверить одну строку на наличие в ней слова из второй строки #5
Цитата Сообщение от no_wearines Посмотреть сообщение
не предполагается, что программа будет возвращать результат. (человек просил упрощенный код.
Упрощенный не значит несоответствующий стандарту. А в нем четко написано: main должна быть int. В нормальных компиляторах данный код не скомпилится.
Yandex
Объявления
01.12.2012, 04:27     Проверить одну строку на наличие в ней слова из второй строки
Ответ Создать тему
Опции темы

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