|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.12.2018, 17:27 | #1 |
Пользователь
Регистрация: 18.11.2018
Сообщений: 26
|
C++ строки
Приветствую. Необходимо выполнить задание "Даны предложения. Определить количество слов, совпадающих с данным."
Не подскажите, как выполнять поиск целого слова в строке? Что-то в голову никак не лезет идеи. |
05.12.2018, 17:34 | #2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,707
|
Как вы в предложении ищите слово, совпадающие с данным? Вот без программирования. Когда книгу или текст читаете?
|
05.12.2018, 17:48 | #3 |
Пользователь
Регистрация: 18.11.2018
Сообщений: 26
|
|
05.12.2018, 17:59 | #4 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,707
|
Нет, я прямо говорю: делайте как читаете, программирование не магия.
1. Определяете, что такое слово. 2. Определяете, чем они могу разделяться. 3. Идете по строке, ищите разделители, нашли, проверили, что слово собрали и вперед - если размеры не совпали вернуть ложь, пока не конец составленного слова и пока не конец введенного слова если буквы по индексу не равны, то вернуть ложь. если цикл прошел, то вернуть истину. 4. если истина из п.3, то вывести |
05.12.2018, 18:07 | #5 | |
Пользователь
Регистрация: 18.11.2018
Сообщений: 26
|
Цитата:
#include <iostream> #include <string> using namespace std; int main() { {string x; getline(cin, x); // текст int k=0; for (int i = 0; i < 100; i++) { size_t pos = x.find("my");//slovo if (!pos) cout << "net slova "; else k++; } cout << k; return 0; } } Сам текст: "Meet my family. There are five of us – my parents, my elder brother, my baby sister and me. First, meet my mum and dad, Jane and Michael. My mum enjoys reading and my dad enjoys playing chess with my brother Ken." |
|
05.12.2018, 18:20 | #6 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,707
|
1. Если пошли в методы стринга, то цикл по i не нужен
2. Файнд в случае не нахождения вернет npos, который -1, а не 0 или ложь. 3. Файнд не делит на слова, т.е. nmy тоже пройдет. |
05.12.2018, 18:21 | #7 |
Пользователь
Регистрация: 18.11.2018
Сообщений: 26
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Найти строки матрицы, для которых есть коллинеарные строки | DowL_HH4 | Общие вопросы C/C++ | 1 | 27.04.2018 12:50 |
Выводить только измененные строки. Перед каждой строкой записывать номер строки в исходном тексте.используя строки и текст.файл | nero4ka | C++ Builder | 1 | 13.06.2015 07:14 |
Задача на строки. Даны две строки. Определить можно ли из символов первой строки получить вторую строку.( написать подпрограммой и | ANTON1994 | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 09.02.2013 14:07 |
Программа на языке "Ассемблер" - ввод строки, анализ длины строки, добавление точки в конец строки | Алексей_2012 | Помощь студентам | 1 | 05.04.2012 11:26 |
Перенести символа с начала строки в место перед запятой этой же строки. | Zhiltsov | Microsoft Office Excel | 4 | 05.06.2009 13:10 |