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

Работа с многострочным текстом(введенным из консоли) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ С++ для совсем чайников http://www.cyberforum.ru/cpp-beginners/thread1139187.html
1. Лодка перемещается сначала по течению реки, а затем против течения. Вычислить путь пройденной лодкой, если её скорость в стоячей воде v км/ ч скорость течения vr км/ч, время движения по течению t1 ч, а против течения t2 ч. 2. Дано натуральное четырехзначное число. Определить, сколько раз в нем встречается максимальная цифра. 3. Найти максимальное из натуральных чисел, не превышающих 5000,...
C++ Строку в вектор vector<string> result; vector<string>::iterator it; string str; cin>>str; result.push_back(str); for (it = result.begin(); it!=result.end(); ++it) { cout<<*it<<endl; http://www.cyberforum.ru/cpp-beginners/thread1139179.html
C++ Составить программу-генератор простых чисел, в основу положить формулу 2*(x)^2 + 29 при 0 ≥ х ≥ 28
Составить программу-генератор простых чисел, в основу положить формулу 2*(x)^2 + 29 при 0 ≥ х ≥ 28. Нужно ввести число до которого сгенерирует все простые числа положив в основу данную формулу. Я новичек поэтому написал какую то чепуху как сказал препод :( Много видел задач таких же в интернете, но везде что то не то. Буду очень благодарен :)
Вычисление значений (С++) C++
Помогите с вычислениями значений. Перепишите задание внутри сообщения
C++ Перегрузка copy() http://www.cyberforum.ru/cpp-beginners/thread1139131.html
Здравствуйте, уважаемые. Пробую создать копию библиотечной функции copy(): template<class Iter1, class Iter2> Iter2 temp_copy(Iter1 first, Iter1 last, Iter2 dest) { if (first = last) return dest; while (first != last) { *dest = *first; ++dest; ++first; } return dest; }
C++ Замена самого длинного и самого короткого слова в строках День добрый. Индексы для замены я получил, 1-ую строку меняет, а с другими проблема. Компилятор жалуется и выскакивает окно и пишет: необработанное исключение по адресу 0x00EA2FD1..... Проблема, видимо, в выводе... Помогите, пожалуйста #include "stdafx.h" #include "conio.h" #include "stdio.h" #include <iostream> #include "locale.h" подробнее

Показать сообщение отдельно
Wlk
49 / 49 / 13
Регистрация: 07.12.2011
Сообщений: 133
04.04.2014, 22:33     Работа с многострочным текстом(введенным из консоли)
Вот. Файловый ввод/вывод только замените на стандартный и все. Со строками оно, по-моему, легче.

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
57
58
59
60
61
62
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <vector>
#include "conio.h"
#include <locale>
#include <set>
using namespace std;
 
 
 
int main()
{   
    setlocale(LC_ALL, "Russian");
    ifstream file_in("d:\\cpp_test\\input_text.txt");
    vector<string> str_vec;
    while(file_in)
    {
        string str;
        getline(file_in,str);
        str_vec.push_back(str);
    }
    vector<string>::iterator it = str_vec.begin();
    while(it!=str_vec.end())
    cout << *it++ << endl; 
 
    vector<string> vxv;
    vector<string> processed(str_vec.size());
    vector<string>::iterator processed_it = processed.begin();
    for(it = str_vec.begin();it!=str_vec.end(); ++it, ++processed_it)
    {
        set<char> symbols;
        size_t iSetSize = symbols.size();
        string current_word;
        istringstream string_in(*it);
        while(string_in >> current_word)
        {
            if(*(current_word.begin())==*(current_word.end()-1))
            vxv.push_back(current_word);
            for(string::iterator word_it = current_word.begin(); word_it!=current_word.end();++word_it)
            {
                symbols.insert(*word_it);
                if(symbols.size() > iSetSize)
                    processed_it->push_back(*word_it);
                iSetSize = symbols.size();
            }
            processed_it->push_back(' ');
            processed_it->push_back('\0');
        }
    }
    ofstream file_out("d:\\cpp_test\\output_text.txt");
    for (vector<string>::iterator processed_it = processed.begin();processed_it!=processed.end();++processed_it)
        file_out << *processed_it << endl;
    file_out << endl;
    for (vector<string>::iterator vxv_it = vxv.begin();vxv_it!=vxv.end();++vxv_it)
        file_out << *vxv_it << endl;
    _getch();
    return 0;
    
}
 
Текущее время: 17:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru