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

в тексте который считан из файла выбрать предложения с заданным числом строк - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Открытие .bmp http://www.cyberforum.ru/cpp-beginners/thread1019174.html
Как открыть .bmp в VS 2012?
C++ Как проверить в строке все вхождения символа? Как проверить в строке все вхождения символа и запомнить кусок строки между двумя его вхождениями? http://www.cyberforum.ru/cpp-beginners/thread1019156.html
C++ Как узнать глубину рекурсии?
Подскажите пожалуйста как узнать глубину рекурсии? Нужно узнать глубину рекурсии может кто помочь? #include<math.h> #include<iostream> using namespace std; float func(int n); //function natural number N int main() { int n; cout<<"Equement"<<endl; //
C++ не получается написать динамическими массивами
Помогите пожалуйста #include <iostream> #include <stdlib.h> #include <time.h> #include <math.h> using namespace std; void intmas1 (int mas, int const n, int const m); void intmas2(int mas, int const n, int const m);
C++ Из string в int и обратно http://www.cyberforum.ru/cpp-beginners/thread1019131.html
Подскажите, пожалуйста, функцию для перевода из sting в int и обратную
C++ Задачка на процедуры и функции Помогите пожалуйста решить задачку с помощью процедур и функций. Составить процедуру, позволяющую определить позицию самого правого вхождения заданного символа в исходную строку. Если строка не содержит символа, результатом работы процедуры должна быть –1. подробнее

Показать сообщение отдельно
RESTY
5 / 5 / 0
Регистрация: 30.05.2012
Сообщений: 89
27.11.2013, 02:18     в тексте который считан из файла выбрать предложения с заданным числом строк
да ты прав. если хочешь избавиться от вектора то можно текст и не делить на предложения а походу определять нужное нам предложение.
я бы сделал это так:

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
#include<iostream>
#include<string>
#include<locale.h>
#include<fstream>
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int n;
    std::cout << "Введите количество слов n = ";
    std::cin >> n;
 
    std::ifstream in("input.txt");
    std::string text;
    std::getline(in,text,'\0');
    in.close();
 
    std::string cur = "";
 
    int cur_count_word = 0;
    std::cout << "Предложения с заданным количеством слов(" << n << ")" << std::endl;
    for(int i = 0; i < text.size(); ++i)
    {
        if (text[i] != '.' && text[i] != '!' && text[i] != '?')
        {
            cur += text[i];
            if(text[i] != ' ' && text[i] != ',' && text[i] != ':' && text[i] != ';' && text[i] != '.')
                continue;
            else
            {
                ++cur_count_word;
                ++i;
                while(text[i] == ' ' || text[i] == ',' || text[i] == ':' || text[i] == ';')
                {
                    cur += text[i++];
                }
                cur += text[i];
            }
        }   
        else
        {
            ++cur_count_word;
            cur += text[i];
            if (cur_count_word == n)
                std::cout << cur << std::endl;
            cur = "";
            cur_count_word = 0;
        }
    }
 
    std::system("pause");
    return 0;
}
}
 
Текущее время: 15:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru