99 / 52 / 27
Регистрация: 21.05.2012
Сообщений: 1,170
1

С ++ разделяющий пробел и новая строка

26.04.2014, 11:05. Показов 1099. Ответов 10
Метки нет (Все метки)

С ++ разделяющий пробел и новая строка
Как отличить при считывании из файла чисел

Допустим
3 -5 6 8
2 0 8 -1
10 3 11 5

Нужно считать в vector< vector<int> >
Изначально не зная размера!
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.04.2014, 11:05
Ответы с готовыми решениями:

Новая строка
Очень глупый вопрос) Куда влепить &quot;\n&quot;, чтобы всегда вводить новые символы с новой строки? И чтобы...

Строка: вставить пробел перед каждой заглавной буквой
Вводится строчка, например, HaveaNiceDay. Нужно чтобы выводилось Havea Nice Day, то есть перед...

Найти разделяющий индекс
4. int partition(int first, int last, string appNames, float appPrices); Splits string array...

Строка вводится с клавиатуры. В данной строке вставить пробел после каждого символа
Строка вводится с клавиатуры. В данной строке вставить пробел после каждого символа

10
3250 / 2052 / 351
Регистрация: 24.11.2012
Сообщений: 4,902
26.04.2014, 11:09 2
Считать всю строку с std::getline, потом из нее вытаскивать числа.
1
99 / 52 / 27
Регистрация: 21.05.2012
Сообщений: 1,170
26.04.2014, 11:12  [ТС] 3
А в какой поток записывать числа?
0
3250 / 2052 / 351
Регистрация: 24.11.2012
Сообщений: 4,902
26.04.2014, 11:13 4
Лучший ответ Сообщение было отмечено eXPonent как решение

Решение

http://en.cppreference.com/w/c... rator_gtgt

Добавлено через 27 секунд
До кучи: http://en.cppreference.com/w/c... ng/getline
1
7086 / 6086 / 2775
Регистрация: 14.04.2014
Сообщений: 26,181
26.04.2014, 11:16 5
У getline есть третий параметр - разделитель, можно указать, что разделитель "пробел" и читать числа сразу.
1
99 / 52 / 27
Регистрация: 21.05.2012
Сообщений: 1,170
26.04.2014, 11:47  [ТС] 6
Код
C++
1
2
3
ifstream F("student1.txt", ios::in);
stringstream S;
getline(F, S);
вылез с ошибками

Более подробный
C++
1
2
3
4
5
6
7
8
9
10
11
12
int m;
        stringstream S;
        while(getline(F, S))
        {
            int columns(0);
            while(getline(S, m, ' '))
            {
                ++columns;
            };
            cout << columns << endl;
//          ++lines;
        };
0
3250 / 2052 / 351
Регистрация: 24.11.2012
Сообщений: 4,902
26.04.2014, 11:52 7
eXPonent, у getline второй параметр - строка, читайте доки внимательнее. По последней ссылке есть пример, к которому нужно добавить только чтение из файла.
1
99 / 52 / 27
Регистрация: 21.05.2012
Сообщений: 1,170
26.04.2014, 12:00  [ТС] 8
Спасибо, код переделал,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
F >> stud.size.first;
        F >> stud.size.second;
        int m;
        string S;
        while(getline(F, S)) // НО при первом проходе считывает пустую строку
        {
            stringstream stream(S);
            int columns(0);
            while(stream >> m)
            {
                ++columns;
            };
            cout << columns << endl;
//          ++lines;
        };
// НО при первом проходе считывает пустую строку
0
3250 / 2052 / 351
Регистрация: 24.11.2012
Сообщений: 4,902
26.04.2014, 12:05 9
Цитата Сообщение от eXPonent Посмотреть сообщение
НО при первом проходе считывает пустую строку
Как бы чуть выше уже что-то считывается, и где позиция в файле после этого?
0
99 / 52 / 27
Регистрация: 21.05.2012
Сообщений: 1,170
26.04.2014, 12:13  [ТС] 10
А разве она не на следующей строке?
Тогда как её переместить?
0
3250 / 2052 / 351
Регистрация: 24.11.2012
Сообщений: 4,902
26.04.2014, 12:14 11
Я бы единообразно все считывал. Т.е. в первом случае тоже getline, но вне цикла.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.04.2014, 12:14

Строка: После каждого символа А вставить пробел, и подсчитать количество символов B, стоящих между + и -
Помогите пожалуйста решить задачу. После каждого символа А вставить пробел, и подсчитать...

Дана строка: Ваши фамилия, имя и отчество записаны через один пробел. Записать одну фамилию в виде И...в.
Помогите пожалуйста. Дана строка: Ваши фамилия, имя и отчество записаны через один пробел....

Написать парсер, разделяющий строки на подстроки (файловый ввод/вывод)
Подкиньте пожалуйста идей для решения задачи

Каждую группу из n последовательно стоящих символов ‘’ (пробел) и '\t' (табуляция) заменить на один пробел
Каждую группу из n последовательно стоящих символов ‘’ (пробел) и '\t' (табуляция)...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

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