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

Довести до ума функцию со строками (вывести одинаковые слова)

18.12.2014, 10:24. Показов 770. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
//Помогите, кому не сложно доделать функцию или каким-нибудь другим образом с++
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
#include <stdio.h>
#include <string>
#include <iostream>
using namespace std;
#include <windows.h>
 
 
//Суть следующая: ввести 2 предложения(слова отделяются символом пробела) и вывести из них одинаковые слова
 
int main()
{
    //ВВОДИ предложения с помощью английского алфавита, русский не совсем пашет при выводе
 
    
    setlocale(LC_ALL, "Russian_Russia.1251");
        
     string str;
     cout << "Введите первую строку" << endl;
     getline(cin, str);
     char st1[85] ;
     strcpy(st1, str.c_str());// преобразую стринг в чар так как strtok() принимает чар(а гетлайн стринг), а если без стринга(через чар) то при вводу строк энтэр не работает
     
     string str2;
     cout << "Введите вторую строку" << endl;
     getline(cin, str2);
     char st2[85];
     strcpy(st2, str2.c_str());
     
     cout << "Повторяющиеся слова: ";
    
    char *pch;
    //char *pch;
    pch = strtok(st1, " ");//(грубо говоря преобразует строку st1 в отдельные слова, чтобы потом их можно было с                  //чем-нибудь   сравнить
    //pch = strtok(st2, " ");//
    //Надо как-то организовать цикл, чтобы сравнивало все слова первой строки со всеми из второй(strtok, как раз возвращает эти слова)
    while (pch != NULL)
    {
        if (strstr(st2, pch)) //функция ищет подстроку в строке(strstr(строка,подстрока)) или использовать
                // или использовать strcmp() для сравнения двух строк ну или как-то по другому
            cout << pch << " ";
        pch = strtok(NULL, " ");
        //pch2 = strtok(NULL, " ");
    }
 
    return 0;
    //Таким вот образом работает но если ввести в первой строке допустим hello world
}   //а во второй hellooo world sfd werw , то выведет hello(так как он является подстрокой hellooo),
    //а мне надо чтобы сравнило и вывело именно одинаковые слова
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.12.2014, 10:24
Ответы с готовыми решениями:

Довести до ума
В общем, изначально надо было посчитать такую загогулину:...

довести до ума
добрых времени суток. Нужно опять доделать задачу. Вот само условие: Дано вещественное число...

Довести до ума
Помогите довести до ума код.Программа раскладывает числа на сумму 3-х квадратов.Много раз пытался...

довести до ума нужно
Подсчитать и вывести на экран количество пробелов во введенной строке. Уровень 2. Дополнительные...

0
18.12.2014, 10:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.12.2014, 10:24
Помогаю со студенческими работами здесь

Довести до ума программу
Вот задание: Запросить стороны треугольника и определить, является ли он разносторонним,...

Довести до ума приложение на С#
Здравствуйте! Помогите, пожалуйста, тут две строчки буквально дописать, но до меня не доходит Есть...

Довести макрос до ума
Всем привет! Имеется макрос для замены пробелов после предлогов в конце строк на неразрывные. Не...

Довести программу до ума
Разработайте алгоритм и программу, реализующую этот алгоритм. Основные функции программы оформите в...


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

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