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

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

Восстановить пароль Регистрация
 
Nikkun
0 / 0 / 0
Регистрация: 14.12.2012
Сообщений: 25
14.12.2012, 15:54     Нахождение слов по символу(символ вводиться с клавиатуры) #1
Помогите пожалуйста с програмкой. Дан текстовый файл, надо вывести все слова, содержащие заданный символ.

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

C++ С клавиатуры вводиться строчка, строка символов, вывести строку в обратном порядке.
Символ клавиатуры C++
Дан символ С. Вывести два символа, первый из которых предшествует символу С в кодовой таблице, а второй следует за символом С C++
Поменять в введенном с клавиатуры строке символов подряд заданный символ на другой заданный символ C++
C++ Заменить в тексте символ, который вводится с клавиатуры на символ *
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 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
 Аватар для DiffEreD
1420 / 757 / 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
秘密
 Аватар для defer
555 / 235 / 3
Регистрация: 29.11.2010
Сообщений: 783
18.12.2012, 23:09     Нахождение слов по символу(символ вводиться с клавиатуры) #6
У большинства IDE, рабочая папка, это где исходники лежат, а не ексешник
Yandex
Объявления
18.12.2012, 23:09     Нахождение слов по символу(символ вводиться с клавиатуры)
Ответ Создать тему
Опции темы

Текущее время: 18:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru