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

Вывести на экран предложения из файла которые не имеют запятых - C++

Восстановить пароль Регистрация
 
Okas43
0 / 0 / 0
Регистрация: 22.09.2015
Сообщений: 35
30.03.2016, 11:14     Вывести на экран предложения из файла которые не имеют запятых #1
помогите написать программу, которая считывает текст с файла txt и выводит на экран предложения, что не имеют запятых
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2016, 11:14     Вывести на экран предложения из файла которые не имеют запятых
Посмотрите здесь:

Из текстового файла неизвестного размера вывести на экран все предложения, не содержащие запятых C++
C++ Считать текст из файла и вывести на экран только предложения, не содержащие запятых
Чтение текста из файла и вывод на экран только тех предложений, которые не содержат запятых C++
Считать текст из файла и вывести на экран только предложения, не содержащие запятых C++
Вывести на экран предложения из файла, которые содержат введенное с клавиатуры слово C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Okas43
0 / 0 / 0
Регистрация: 22.09.2015
Сообщений: 35
15.04.2016, 08:46  [ТС]     Вывести на экран предложения из файла которые не имеют запятых #2
ребят, помогите пожалуйста!
Геомеханик
 Аватар для Геомеханик
517 / 324 / 253
Регистрация: 26.06.2015
Сообщений: 738
15.04.2016, 15:44     Вывести на экран предложения из файла которые не имеют запятых #3
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include <iostream>
#include <cstring>
#include <fstream>
#include <sstream>
#include <string>
 
void output_ps(std::ostream& _out, std::istream& _in){
    const char delim[] = ".!?";
    std::string s, l;
    std::string::size_type p, o;
 
    while(std::getline(_in, l) && !_in.fail()){
        p = o = 0;
        p = l.find_first_of(delim, p);
        if(p != std::string::npos){
            do {
                while((p < l.length()) && (strchr(delim, l[p]) != NULL))
                    ++p;
 
                s.insert(s.end(), l.begin() + o, l.begin() + p);
                if(s.find(',') == std::string::npos){
                    if(p == l.length())
                        s += '\n';
                    _out << s;  
                }
 
                s = "";
                o = p;
            } while((p = l.find_first_of(delim, p)) != std::string::npos);
 
            if(o < l.length()){
                s.insert(s.end(), l.begin() + o, l.end());
                s += '\n';
            }
        } else
            s += l + '\n';
    }
 
    if((s.length() > 0) && (s.find(',') == std::string::npos))
        _out << s;
}
 
int main(void){
    char s[] = "Lang pascal. Cobol, Forth, Python. Wolf\n"\
               "Pig Tiger!!! Orange, tomate, banana. Kawasaki bimota next?\n"\
               "Bla-bla fffffffffffff xyz. WWW, ABC\nDEF. The end";
    std::istringstream sp(s);
    output_ps(std::cout, sp);
 
/*  из файла
    std::ifstream fp("file.txt");
    output_ps(std::cout, fp);
    fp.close();
*/
    return 0;
}
Пример работы кода
Okas43
0 / 0 / 0
Регистрация: 22.09.2015
Сообщений: 35
27.04.2016, 12:16  [ТС]     Вывести на экран предложения из файла которые не имеют запятых #4
хорошо ,а можно самым легким способ написать, часть кода с поиском и выводом предложений без этих запятых? и если не сложно, то с комментариями
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
27.04.2016, 12:46     Вывести на экран предложения из файла которые не имеют запятых #5
Ещё как вариант функции вывода. Чтение из файла как-нибудь сами
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
void bezz(string text)
{
    int tochka=0;
    int zap=0;
    while (text.size())
    {
     tochka = text.find(".", tochka);
     zap = text.find(",", zap);
     if ((tochka<zap)||(zap==string::npos))
      cout << text.substr(0,tochka+1)<< endl;
     text.erase(0,tochka+1);
     tochka=0;
     zap=0;
    }
}
 
int main()
{
    string text = "Welcome to the cyberdream world."\
                  "Please, enter correct password."\
                  "Thanks, good luck."\
                  "See you later.";
    bezz(text);
    return 0;
}
Yandex
Объявления
27.04.2016, 12:46     Вывести на экран предложения из файла которые не имеют запятых
Ответ Создать тему
Опции темы

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