2 / 2 / 0
Регистрация: 25.02.2016
Сообщений: 14
1

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

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

Author24 — интернет-сервис помощи студентам
Даны 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;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.03.2016, 11:49
Ответы с готовыми решениями:

Для каждой буквы первого слова определить, входит ли она во второе слово
Даны 2 слова. Для каждой буквы первого слова (в том числе и для повторяющихся в этом слове букв) ...

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

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

Даны два слова. Для каждой буквы первого слова определить, входит ли она во второе слово
Помогите с заданием: Даны два слова. Для каждой буквы первого слова (в том числе для повторяющихся...

7
BrainOverflow
126 / 130 / 64
Регистрация: 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;
}
0
1 / 1 / 4
Регистрация: 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 ";
}
0
BrainOverflow
126 / 130 / 64
Регистрация: 31.03.2013
Сообщений: 556
01.03.2016, 13:35 4
nar10z, для чего? Что поменяется?
0
nd2
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
01.03.2016, 14:07 5
Sabnik18, проверял, как работает твой код?
0
BrainOverflow
126 / 130 / 64
Регистрация: 31.03.2013
Сообщений: 556
01.03.2016, 14:33 6
nd2, я так понял, что автор под словом "ошибка" подразумевает то, почему после ввода слов вылезает еррор, поэтому я исправил код и теперь программа компилится.
До этого я выкладывал код, который работает, но только для строк, которые равны, но автору нужно так, чтобы была проверка есть ли ВООБЩЕ символы из 1 строки во второй, внезависимости от их положения и внезависимости от длин строк.
0
Любитель чаепитий
3743 / 1799 / 566
Регистрация: 24.08.2014
Сообщений: 6,016
Записей в блоге: 1
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 "); });
}
0
2 / 2 / 0
Регистрация: 25.02.2016
Сообщений: 14
01.03.2016, 21:32  [ТС] 8
Цитата Сообщение от Sabnik18 Посмотреть сообщение
под словом "ошибка" подразумевает то, почему после ввода слов вылезает еррор
Нет. ошибка в том, что программа сравнивает элементы каждого слова неправильно. Например, если вводишь "Hello" и "World", то выводит "NO NO NO NO NO".
0
01.03.2016, 21:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.03.2016, 21:32
Помогаю со студенческими работами здесь

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

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

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru