Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

01.03.2016, 11:49. Просмотров 310. Ответов 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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.03.2016, 11:49
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Для каждой буквы первого слова определить, входит ли она во второе слово (C++):

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

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

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

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

Для каждого слова первого предложения определить, вхо-дит ли оно во второе предложение - C++
Народ,пожалуйста,подскажите как к вот этой задаче программу написать? :Даны два предложения. Для каждого слова первого предложения...

Вывести строку, в которой все вхождения первого слова заменены на второе слово - C++
Ввести строку и два слова. Вывести строку, в которой все вхождения первого слова заменены на второе слово. Программу на Си. ...

7
sab1ch
BrainOverflow
124 / 128 / 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;
}
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 ";
}
0
sab1ch
BrainOverflow
124 / 128 / 41
Регистрация: 31.03.2013
Сообщений: 556
01.03.2016, 13:35 #4
nar10z, для чего? Что поменяется?
0
nd2
2820 / 2390 / 851
Регистрация: 29.01.2016
Сообщений: 8,004
01.03.2016, 14:07 #5
Sabnik18, проверял, как работает твой код?
0
sab1ch
BrainOverflow
124 / 128 / 41
Регистрация: 31.03.2013
Сообщений: 556
01.03.2016, 14:33 #6
nd2, я так понял, что автор под словом "ошибка" подразумевает то, почему после ввода слов вылезает еррор, поэтому я исправил код и теперь программа компилится.
До этого я выкладывал код, который работает, но только для строк, которые равны, но автору нужно так, чтобы была проверка есть ли ВООБЩЕ символы из 1 строки во второй, внезависимости от их положения и внезависимости от длин строк.
0
GbaLog-
Любитель чаепитий
3122 / 1462 / 351
Регистрация: 24.08.2014
Сообщений: 5,175
Записей в блоге: 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 "); });
}
0
Lessmond
1 / 1 / 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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.03.2016, 21:32
Привет! Вот еще темы с ответами:

Получить новый файл, в котором все вхождения первого слова заменены на второе слово - C++
Доброго времени суток, очень прошу помочь! Который день бьюсь над задачей и ничего не выходит. Уже не знаю что и делать (( Дан...

Замена слов: получить новый файл, в котором все вхождения первого слова заменены на второе слово - C++
Помогите, пожалуйста, с программой. Дан текстовый файл и два слова. Переносов слов нет. Получить новый файл, в котором все...

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

Просканировать строку, и вернуть слово, если ASCII код каждой буквы этого слова четный - C++
написать функцию которая сканирует строку и возвращает слово если ASCII код каждой буквы этого слова четный.Пользоваться арифмитическими...


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

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

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