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

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

04.04.2020, 17:19. Показов 2240. Ответов 5

Author24 — интернет-сервис помощи студентам
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
535 / 325 / 169
Регистрация: 21.02.2011
Сообщений: 4,967
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
Мозгоправ
1745 / 1039 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
04.04.2020, 21:33 3
Selveresta, функция strtok() нереентерабельна в пределах одного потока. Используйте strtok_s().
1
Заклинатель змей
705 / 560 / 219
Регистрация: 30.04.2016
Сообщений: 2,604
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
Сообщений: 61
04.04.2020, 23:27  [ТС] 5
Мне нужно именно сhar)

Добавлено через 5 минут
C++
1
2
3
4
5
temp.assign
 
temp.size
 
Я ещё не знаю такое, не учил, можно по проще)
Добавлено через 14 секунд
0
842 / 645 / 323
Регистрация: 24.02.2017
Сообщений: 2,276
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
04.04.2020, 23:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.04.2020, 23:44
Помогаю со студенческими работами здесь

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

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

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

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


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

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