Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 20.03.2020
Сообщений: 47
1

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

04.04.2020, 17:19. Просмотров 1118. Ответов 5

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
void compareString(char * str, char * str1 ) {
    char* tmp = new char[50];
    char* tmp1 = new char[50];
    strcpy(tmp,str);
    strcpy(tmp1,str1);
    char* token = strtok(tmp, " .,!-?");
    char* token1 = strtok(tmp1, " .,!-?");
    while (token != nullptr)
    {
        while (token1 != nullptr)
        {
            if (strcmp(token, token1) == 0)
            {
                cout << token; 
            }
            token1 = strtok(NULL, " .,!-?");
        }
        token = strtok(NULL, " .,!-?");
    }
    delete[]tmp;
    delete[]tmp1;
}
вроде бы по логике всё должно работать, но не работает
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.04.2020, 17:19
Ответы с готовыми решениями:

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

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

Для каждого слова первого предложения определить, входит ли оно во второе предложение
Решить задачу в консольном режиме : Даны 2 предложения. Для каждого слова первого предложения...

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

5
198 / 96 / 48
Регистрация: 21.02.2011
Сообщений: 3,918
04.04.2020, 20:07 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
26
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    string s = "22"; 
    string base_str = "11 22 50 14";
    string delim = " "; 
    size_t pos = 0;
    size_t base_str_size = base_str.size();
    size_t delim_size = delim.size();
    string temp;
    while (pos < base_str_size) {
        temp = temp.assign(base_str, pos, base_str.find(delim, pos) - pos);
        if (temp.size() > 0) 
        cout << temp << endl;
        if (s == temp) 
        {
        cout << "true" << endl;
        break;
        }
        pos += temp.size() + delim_size;
    }
    return 0;
}
0
Мозгоправ
1587 / 926 / 423
Регистрация: 01.10.2018
Сообщений: 1,935
Записей в блоге: 2
04.04.2020, 21:33 3
Selveresta, функция strtok() нереентерабельна в пределах одного потока. Используйте strtok_s().
1
Заклинатель змей
574 / 476 / 206
Регистрация: 30.04.2016
Сообщений: 2,326
04.04.2020, 21:57 4
Когда нибудь в C++ подвезут строки, с которыми можно работать будучи не - богомолом. Предполагаю, что слова в предложении разделены только унарными пробелами. Кстати, Selveresta, используйте
C++
1
std:: string
вместо char-массива
Python
1
2
def get_all_comnon_words(s1: str, s2: str) -> Set[str]:
   return set([w for w in s1.split(' ') if w in w2.split(' ')])
0
0 / 0 / 0
Регистрация: 20.03.2020
Сообщений: 47
04.04.2020, 23:27  [ТС] 5
Мне нужно именно сhar)

Добавлено через 5 минут
C++
1
2
3
4
5
temp.assign
 
temp.size
 
Я ещё не знаю такое, не учил, можно по проще)
Добавлено через 14 секунд
0
537 / 407 / 245
Регистрация: 24.02.2017
Сообщений: 1,452
04.04.2020, 23:44 6
Лучший ответ Сообщение было отмечено Selveresta как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
 
int main(){
   char s[]="abc 15 qwe";
   char str[]="11 abc qwe abcqwe";
   char *p,*p1;
    p=strtok(s," ,");
    while(p){
       p1=strstr(str,p);
       if(p1)cout<<p<<"\n";
       if(!p1)cout<<"no words "<<p<<"\n";
       p=strtok(NULL," ,");
    }
 
    system("pause");
    return 0;
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.04.2020, 23:44

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

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

Для каждого слова первого предложения определить, входит ли оно во второе предложение
Помогите решить!Даны два предложения. Для каждого слова первого предложения (в том чис-ле для...

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


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

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

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