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

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

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

Для каждой буквы первого слова определить, входит ли она во второе слово - C++

01.03.2016, 11:49. Просмотров 237. Ответов 7
Метки нет (Все метки)

Даны 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
#include <iostream>
#include <string>
#include <conio.h>
 
using namespace std;
 
int main ()
{
    setlocale(LC_ALL, "Russian");
    string word1, word2;
    cout << "Введите первое слово" << endl;
    cin >> word1;
    cout << "Введите второе слово" << endl;
    cin >> word2;
 
    for (int i = 0; i <= word1.size(); i++){
        for (int j = 0; j <= word2.size(); j++){
        if (word1.at(i) == word2.at(j))
            cout << "YES ";
        else cout << "NO ";
    }
}
    _getch();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.03.2016, 11:49     Для каждой буквы первого слова определить, входит ли она во второе слово
Посмотрите здесь:

C++ поменять местами первое и второе слово в каждой строке
Для каждого слова первого предложения определить, входит ли оно во второе предложение C++
Ввести строку и два слова, заменить все вхождения первого слова на второе C++
Вывести строку, в которой все вхождения первого слова заменены на второе слово C++
Для каждого слова первого предложения определить, вхо-дит ли оно во второе предложение C++
Для каждой буквы первого слова определить, входит ли она во второе слово C++
Просканировать строку, и вернуть слово, если ASCII код каждой буквы этого слова четный C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sab1ch
BrainOverflow
123 / 127 / 41
Регистрация: 31.03.2013
Сообщений: 556
01.03.2016, 12:47     Для каждой буквы первого слова определить, входит ли она во второе слово #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int main()
{
    setlocale(LC_ALL, "Russian");
    string word1, word2;
    cout << "Введите первое слово" << endl;
    cin >> word1;
    cout << "Введите второе слово" << endl;
    cin >> word2;
    for (int i = 0; i < word1.size() && i < word2.size(); i++) // <, а не <= (по крайней мере именно из-за этого вылазила ошибка в конце)
    {
            if (word1.at(i) == word2.at(i)) 
                cout << "YES ";
            else cout << "NO ";
    }
    _getch();
    return 0;
}
nar10z
1 / 1 / 1
Регистрация: 04.12.2015
Сообщений: 51
01.03.2016, 12:51     Для каждой буквы первого слова определить, входит ли она во второе слово #3
А что если сравнить длину двух слов. И условие потом добавить.
C++
1
2
3
4
5
6
7
8
9
10
11
12
if (размер 1 слова > второго)
{
   if (word1.at(i) == word2.at(i))
                cout << "YES ";
            else cout << "NO ";
}
else
 {
    if (word2.at(i) == word1.at(i))
                cout << "YES ";
            else cout << "NO ";
}
sab1ch
BrainOverflow
123 / 127 / 41
Регистрация: 31.03.2013
Сообщений: 556
01.03.2016, 13:35     Для каждой буквы первого слова определить, входит ли она во второе слово #4
nar10z, для чего? Что поменяется?
nd2
1764 / 1446 / 504
Регистрация: 29.01.2016
Сообщений: 4,471
01.03.2016, 14:07     Для каждой буквы первого слова определить, входит ли она во второе слово #5
Sabnik18, проверял, как работает твой код?
sab1ch
BrainOverflow
123 / 127 / 41
Регистрация: 31.03.2013
Сообщений: 556
01.03.2016, 14:33     Для каждой буквы первого слова определить, входит ли она во второе слово #6
nd2, я так понял, что автор под словом "ошибка" подразумевает то, почему после ввода слов вылезает еррор, поэтому я исправил код и теперь программа компилится.
До этого я выкладывал код, который работает, но только для строк, которые равны, но автору нужно так, чтобы была проверка есть ли ВООБЩЕ символы из 1 строки во второй, внезависимости от их положения и внезависимости от длин строк.
GbaLog-
Не Эксперт C++
2534 / 1073 / 271
Регистрация: 24.08.2014
Сообщений: 3,923
Записей в блоге: 1
Завершенные тесты: 2
01.03.2016, 14:54     Для каждой буквы первого слова определить, входит ли она во второе слово #7
Lessmond, Если правильно понял.
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
 
int main()
{
    string w1,w2;
    cin >> w1 >> w2;
    for_each(w1.cbegin(),w1.cend(),[&w2] (char c) { cout << (count(w2.cbegin(),w2.cend(),c) ? "Yes ":"No "); });
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.03.2016, 21:32     Для каждой буквы первого слова определить, входит ли она во второе слово
Еще ссылки по теме:

Даны два слова.Верно ли,что первое слово начинается на ту же букву,на которую заканчивается второе слово (работа с символами строки) C++
C++ Определить, можно ли из букв первого слова получить второе
Даны два слова.Верно ли, что первое слово начинается на ту же букву, на которую заканчивается второе слово C++
Для каждой буквы первого слова определить, входит ли она во второе слово C++
Для каждой буквы первого слова определить, входит ли она во второе слово C++

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

Или воспользуйтесь поиском по форуму:
Lessmond
1 / 1 / 0
Регистрация: 25.02.2016
Сообщений: 14
01.03.2016, 21:32  [ТС]     Для каждой буквы первого слова определить, входит ли она во второе слово #8
Цитата Сообщение от Sabnik18 Посмотреть сообщение
под словом "ошибка" подразумевает то, почему после ввода слов вылезает еррор
Нет. ошибка в том, что программа сравнивает элементы каждого слова неправильно. Например, если вводишь "Hello" и "World", то выводит "NO NO NO NO NO".
Yandex
Объявления
01.03.2016, 21:32     Для каждой буквы первого слова определить, входит ли она во второе слово
Ответ Создать тему
Опции темы

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