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

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

Восстановить пароль Регистрация
 
vlad-kor9
0 / 0 / 0
Регистрация: 26.11.2012
Сообщений: 17
01.12.2012, 00:37     Напечатать те слова, которые встречаются в каждом из двух заданных предложений #1
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
57
58
59
60
61
#include <iostream>
#include <conio.h>
#include <locale>
using namespace std;
 
int main()
{   
    char *tempSlova1 = new char[20];
    char *tempSlova2 = new char[20]; 
    char *myString1 = new char[100];
    char *myString2 = new char[100];
    
    cout << "Введите первую строку: ";
    
    
    fflush(stdin);
    gets(myString1);
    cout << "Введите вторую строку: ";
    gets(myString2);
 
    cout << "Слова в 1 строке:" << endl;
 
    for(int i = 0, k =0 ; i <= strlen(myString1); i++, k ++)
    {{   
        if(myString1[i] == ' '|| myString1[i] == '\0')
        {   
            tempSlova1[k] = '\0';
            puts(tempSlova1);
            
            k = -1;
            
        }
        else
            tempSlova1[k] = myString1[i];
             
        
    }
    
    cout << "Слова во второй строке:" << endl; 
    for(int i = 0, k =0 ; i <= strlen(myString2); i++, k ++)
 
    {   
        if(myString2[i] == ' '|| myString2[i] == '\0')
        {   
            tempSlova2[k] = '\0';
            puts(tempSlova2);
            
            k = -1;
           
        }
        else
            tempSlova2[k] = myString2[i];
       
    }
    
}
    
    getch();
    
    return 0;
}
Напечатать те слова, которые встречаются в каждом из двух заданных предложений. Вот разбил предложения на слова. Как теперь сделать что бы она их сравнивало и выводило. Помогите пожалуйста, что-то я запутался... Очень хочется разобраться с данным видом задач.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2012, 00:37     Напечатать те слова, которые встречаются в каждом из двух заданных предложений
Посмотрите здесь:

C++ Напечатать множество слов,которые встречаются в каждом из двух заданных предложений.
Напечатать все слова последовательности, которые встречаются в ней по одному разу. C++
Напечатать все слова , которые встречаются в исходной строке ровно один раз C++
Напечатать все слова последовательности, которые встречаются по одному разу C++
C++ Напечатать слова, которые встречаются в двух предложениях только один раз (Pascal -> C++)
Напечатать те слова, которые встречаются в каждом из двух заданных предложений C++
C++ Напишите программу для нахождения всех слов, которые встречаются в каждом из двух предложений.
C++ Напечатать все слова, которые встречаются в строке по одному разу

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
01.12.2012, 01:01     Напечатать те слова, которые встречаются в каждом из двух заданных предложений #2
не очень, хм, удобно разбита строка на слова. вот как например, мне быстро получить доступ ко второму слову первой строки? а он нужен, чтобы решить задачу
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
01.12.2012, 01:03     Напечатать те слова, которые встречаются в каждом из двух заданных предложений #3
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 <set>
#include <sstream>
#include <iterator>
#include <algorithm>
 
int main()
{
    std::string s1, s2;
    std::getline(std::getline(std::cin, s1), s2);
    std::stringstream ss(s1);
    std::set<std::string> set1((std::istream_iterator<std::string>(ss)), std::istream_iterator<std::string>());
    ss.clear();
    ss.str(s2);
    std::set<std::string> set2((std::istream_iterator<std::string>(ss)), std::istream_iterator<std::string>());
    std::set_intersection(set1.begin(), set1.end(), set2.begin(), set2.end(), std::ostream_iterator<std::string>(std::cout, "\n"));
    return 0;
}
Yandex
Объявления
01.12.2012, 01:03     Напечатать те слова, которые встречаются в каждом из двух заданных предложений
Ответ Создать тему
Опции темы

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