Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 11.11.2014
Сообщений: 26

Задача на поиск совпадений букв первого слова во втором

05.01.2016, 18:47. Показов 3177. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребят, решите пожалуйста задачу:
Даны два слова. Для каждой буквы первого слова (в том числе для повторяющихся в этом слове букв) определить, входит ли она во второе слово. Например, если заданные слова информация и процессор, то для букв первого из них ответом должно быть: нет нет нет да да нет нет да нет нет
Заранее спасибо
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.01.2016, 18:47
Ответы с готовыми решениями:

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

Удалить из данного предложения слова, множество букв которых совпадает с множеством букв первого слова
стандартными стрелковыми функциями, объявленными в файле string.h пользоваться не разрешается удалить из данного предложения слова,...

Функция должна принимать два слова и возвращать те буквы из первого слова, которых нет во втором.
Здравствуйте, помогите разобраться. Функция должна принимать два слова и возвращать те буквы из первого слова, которых нет во втором....

13
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
05.01.2016, 19:19
Gusakou,
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
28
29
#include <iostream>
#include <conio.h>
 
using namespace std;
 
void compare( const string& str1, const string& str2 ) {
    for( const auto& i : str1.size() ) {
        for( const auto& j : str2.size() ) {
            if( str1[i] == str2[j] ) cout << "Yes ";
            else cout << "No ";
        }
    }
}
 
int main()
{
    string str1, str2;
    getline( cin, str1 );
    getline( cin, str2 );
    int n;
    cin >> n; // 1-е или 2-е слово?
    switch( n ) {
        case 1: compare( str1, str2 ); break;
        case 2: compare( str2, str1 ); break;
        default: break;
    }
    getch();
    return 0;
}
0
130 / 70 / 25
Регистрация: 20.03.2014
Сообщений: 261
05.01.2016, 19:27
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
#include <iostream>
 
using namespace std;
 
int main()
{
    string str1, str2;
    cout << "str1 = "; cin >> str1;
    cout << "str2 = "; cin >> str2;
    
    bool chars[255] = {false};
    
    for(char c : str2)
        chars[(int)c] = true;
    
    for(char c : str1)
    {
        if(chars[(int)c])
            cout << "да";
        else
            cout << "нет";
        cout << " ";
    }
    
    return 0;
}
Добавлено через 6 минут
makfak, вам не кажется что у Вас слишком много выводит?
Нпример: нам вам
Сначала у Вас выводит для каждого н, No No No, потом для каждого а, No Yes No и т.д.
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
05.01.2016, 19:41
Горелый, А, да, ошибочка. сейчас перепишу.

Добавлено через 8 минут
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
28
29
30
31
#include<iostream>
#include <conio.h>
 
using namespace std;
 
void compare( const string& str1, const string& str2 ) {
    for( size_t i = 0; i < str1.size(); i++ ) {
        bool flag = false;
        for( size_t j = 0; j < str2.size(); j++ ) {
            if( str1[i] == str2[j] ) flag = true;
        }
        if( flag ) cout << "Yes ";
        else if( !flag ) cout << "No ";
    }
}
 
int main()
{
    string str1, str2;
    getline( cin, str1 );
    getline( cin, str2 );
    int n;
    cin >> n; // 1-е или 2-е слово?
    switch( n ) {
        case 1: compare( str1, str2 ); break;
        case 2: compare( str2, str1 ); break;
        default: break;
    }
    getch();
    return 0;
}
1
0 / 0 / 0
Регистрация: 11.11.2014
Сообщений: 26
05.01.2016, 20:06  [ТС]
Спасибо за код
Единственный вопрос: ввожу в консоли 3 слова и когда ввожу 4-е, консоль просто закрывается, что это может быть?
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
05.01.2016, 20:13
Gusakou, Дак вы просили для 2-х слов.
Цитата Сообщение от Gusakou Посмотреть сообщение
Даны два слова
0
0 / 0 / 0
Регистрация: 11.11.2014
Сообщений: 26
05.01.2016, 20:16  [ТС]
Так я не могу ввести меньше слов, оно вводится до 3-х слов и вылетает, у меня С++ 4.9.9.2, вы на 5-м пишете?
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
05.01.2016, 20:29
Gusakou, У меня MinGW 4.9.3
А сначала вы вводите 1-е слово, потом 2-е, потом вводите цифру, какое слово нужно проверить на совпадения.
0
16 / 16 / 13
Регистрация: 08.11.2014
Сообщений: 119
05.01.2016, 20:31
Вот такой вот монстр получился)
Например слова: ifs tsy pon rki
Ответ: Да, Нет, Да

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include "stdafx.h"
#include <iostream>
#include <string>
 
using namespace std;
void s1(char *str)
{
    char *w1 = new char[50];
    char *w2 = new char[50];
    int n = strlen(str);
    int j=0;int r;int k=0;
        for(int i =0; i<n; i++)
            {
                if(str[i] == ' '){r=i+1;}
                if(str[i] != ' ')
                {
                w1[j] = str[i];
                j++;
                }
                else break;
            }
        w1[j] = '\0';       
    for(int i=r; i<n; i++)
            {   
            w2[k]=str[i];
            k++;
            }
    w2[k]='\0'; 
    for(int i=0; i<strlen(w1); i++)
    {
        bool f = false;
        for(int j=0; j<strlen(w2); j++)
        {
            if(w1[i] == w2[j]){ f = true; }
        }
            if(f)
            {
                cout<<"Da"<<endl;
            }
            else if (!f)
                cout<<"Net"<<endl;      
    }
    delete [] w1;
    delete [] w2;
}
int main()
{
    setlocale(LC_CTYPE, "rus");
    char *str=new char[100];
    cout<<"Введите 2 слова через пробел"<<endl;
    gets(str);
    s1(str);
    delete [] str;
    system("pause");
    return 0;
}
0
807 / 534 / 158
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
05.01.2016, 20:43
Давно уже ничего не решал, прошу проверить мой вариант.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
#include <iomanip>
#include <windows.h>
using namespace std;
 
int main(void)
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    string strs[2];
    cout << "Введите 2 слова:" << endl;
    (cin >> strs[0] >> strs[1]).clear(); cin.sync();
    for (size_t i(0), len(strs[1].length()); i < strs[0].length();)
        cout << left << setw(4) << (strs[1].find(strs[0][i++]) < len ? "yes" : "no");
    cout << endl;
    system("pause");
    return 0;
}
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
05.01.2016, 20:47
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
C++
1
left
Выдаст ошибку же.
0
0 / 0 / 0
Регистрация: 11.11.2014
Сообщений: 26
05.01.2016, 20:48  [ТС]
Аа, спасибо еще раз огромное)
Все работает
0
807 / 534 / 158
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
05.01.2016, 20:48
makfak, не знаю, у меня msvs 2015, работает корректно.
http://www.cplusplus.com/reference/ios/left/
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
05.01.2016, 20:51
Ferrari F1, А, у вас VS, тогда 0 вопросов.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.01.2016, 20:51
Помогаю со студенческими работами здесь

Даны два слова. Как определить, сколько раз первая буква первого слова повторится во втором слове?
procedure TForm1.Button1Click(Sender: TObject); var i:integer; begin listbox1.clear; label1.caption:='Количество совпадений=' ; ...

Перемена местами букв в слове и поиск совпадений в словаре
С горем пополам написал код для перестановки букв в введенном слове. Как сделать поиск полученных вариантов в словаре слов? Словарь русских...

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

Вывести слова первого текста, которые не встречаются во втором
Задача Заданы два текста. Вывести слова первого текста, которые не встречаются во втором. Условия выполнения: Тексты необходимо...

Вывести слова первого текста, которые не встречаются во втором
Доброго времени суток! Нужна помощь с кодом. Задача Заданы два текста. Вывести слова первого текста, которые не встречаются во...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru