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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Nikkun
0 / 0 / 0
Регистрация: 14.12.2012
Сообщений: 25
#1

Нахождение слов по символу(символ вводиться с клавиатуры) - C++

14.12.2012, 15:54. Просмотров 369. Ответов 5
Метки нет (Все метки)

Помогите пожалуйста с програмкой. Дан текстовый файл, надо вывести все слова, содержащие заданный символ.

Как я понимаю , если встретил слово , его надо записать в переменную, проверить посимвольно переменную на заданную букву, встретил нужную букву до конца слова, вывел запомненную переменную, не встретил, обнулил её и ищешь новое слово. Помоги реализовать сиё чудо)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2012, 15:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нахождение слов по символу(символ вводиться с клавиатуры) (C++):

Из заданной последовательности слов удалить слова, содержащие введенный с клавиатуры символ - C++
Нужна ваша помощь, про "спасибо" не забуду) Из заданной последовательности слов, разделенных запятыми, удалить слова, содержащие...

С клавиатуры вводиться строчка, строка символов, вывести строку в обратном порядке. - C++
Вообщем нужно сделать 3 задачи: 1)С клавиатуры вводиться строчка, строка символов, вывести строку в обратном порядке. 2)Дан массив из N...

Ввести с клавиатуры символ. Определить, является ли введённый символ буквой - C++
Ввести с клавиатуры символ. Определить, является ли введённый символ буквой.Заранее благодарчик!

Ввести с клавиатуры символ (в переменную char) и определить, соответствует ли введенный символ 'Q' или 'q' - C++
1)Ввести с клавиатуры символ (в переменную char) и определить, соответствует ли введенный символ 'Q' или 'q' (использовать логический...

Заменить в тексте символ, который вводится с клавиатуры на символ * - C++
Помогите решить в Borland c++ Если можно еще блок-схему Задан тест. Заменить в этом тексте символ, который вводится с лавиатуры на...

Дан символ С. Вывести два символа, первый из которых предшествует символу С в кодовой таблице, а второй следует за символом С - C++
Дан символ С. Вывести два символа, первый из которых предшествует символу С в кодовой таблице, а второй следует за символом С

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
DiffEreD
1430 / 767 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
14.12.2012, 16:22 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <algorithm>
#include <string>
#include <sstream>
 
int main()
{
    setlocale (LC_ALL, "Russian");
 
    std::string str = "Помогите пожалуйста с програмкой. Дан текстовый файл, надо вывести все слова, содержащие заданный символ.";
    const char ch = 'п';
    std::istringstream iss(str);
    std::copy_if((std::istream_iterator<std::string>(iss)),
        std::istream_iterator<std::string>(),
        std::ostream_iterator<std::string>(std::cout, " "),
        [=](const std::string& s){return (s.find(ch)!=std::string::npos);});
    std::cout<<"\n";
 
    system("pause");
    return 0;
}
Но лучше делайте так как и задумали.
Nikkun
0 / 0 / 0
Регистрация: 14.12.2012
Сообщений: 25
14.12.2012, 17:20  [ТС] #3
А как сделать чтобы текст считывался с файла, и букву, которую надо искать в словах вводилась с клавиатуры?
DiffEreD
1430 / 767 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
14.12.2012, 17:50 #4
Ну к примеру так:
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
#include <iostream>
#include <algorithm>
#include <string>
#include <fstream>
 
int main()
{
    setlocale (LC_ALL, "Russian");
 
    std::ifstream ifs("file.txt");
    if (!ifs.is_open())
    {
        std::cerr<<"Не удалось открыть файл.\n";
        system("pause");
        return 1;
    }
    char ch;
    std::cout<<"Введите ваш символ: ";
    std::cin.get(ch);
    std::copy_if((std::istream_iterator<std::string>(ifs)),
        std::istream_iterator<std::string>(),
        std::ostream_iterator<std::string>(std::cout, " "),
        [=](const std::string& s){return (s.find(ch)!=std::string::npos);});
    std::cout<<"\n";
 
    system("pause");
    return 0;
}
Но с такими вопросами этот код вам противопоказан.
Nikkun
0 / 0 / 0
Регистрация: 14.12.2012
Сообщений: 25
18.12.2012, 22:42  [ТС] #5
У меня не хочет открывать текстовый файл, в чем может быть проблема? Файл сохраняю в папке программы.
defer
秘密
555 / 235 / 3
Регистрация: 29.11.2010
Сообщений: 783
18.12.2012, 23:09 #6
У большинства IDE, рабочая папка, это где исходники лежат, а не ексешник
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2012, 23:09
Привет! Вот еще темы с ответами:

дана строка, изображающая целое положительное число. Вывести сумму цифр этого числа. Строка должна вводиться с клавиатуры. - C++
Будьте добры,помогите с решением задачи: дана строка, изображающая целое положительное число. Вывести сумму цифр этого числа. Строка...

Поменять в введенном с клавиатуры строке символов подряд заданный символ на другой заданный символ - C++
Поменять в введенном с клавиатуры строке символов подряд заданный символ на другой заданный символ.

Дан текст, найти количество слов и количество слов, у которых первый и последний символ совпадают - C++
Помогите пожалуйста, выполнить задание. Дан текст из N символов. Группы символов, расположенные между пробелами и не содержащие...

Символ клавиатуры - C++
Может ли такая запись работать? (scanf (&quot;%i&quot;, &amp;ch))&amp;&amp;(s2=getch()) Или как по-другому можно считать одновременно число в переменную и и...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
18.12.2012, 23:09
Ответ Создать тему
Опции темы

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