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

Чтение многолинейного набора данных - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать программу на с++, которая выполняет операцию над матрицей целых чисел http://www.cyberforum.ru/cpp-beginners/thread801684.html
Мне нужно написать программу, которая выполняет операцию над матрицей целых чисел. Матрицу следует размещать в динамической памяти. Размер матрицы указывает пользователь после запуска программы. Матрица заполняется случайными числами. Программа выводит исходную матрицу на экран, осуществляет операцию (назовем характеристикой столбца квадратный корень из произведения элементов столбца. Расположить...
C++ Сортировка массива по возрастанию или по убыванию, в зависимости от параметра Дан массив чисел размерностью 10 элементов. Написать программу, которая сортирует массив по возрастанию или по убыванию, в зависимости от параметра. Если он равен 1, сортировка идет по убыванию, если 0, то по возрастанию #include<iostream> #include<algorithm> void sort(int mas, int size, bool descend=true){ if(descend) std::sort(mas, mas+size, std::greater<int>()); else... http://www.cyberforum.ru/cpp-beginners/thread801681.html
C++ Требуется найти площадь вписанного в треугольник круга
Здравствуйте, дорогие форумчане. ------------------------------------ Перейду сразу к делу. Помогите, пожалуйста написать программу на С++. ------------------------------------ Задание: Треугольник задан своими сторонами: a,b,c. Требуется найти площадь вписанного круга. ------------------------------------ Заранее благодарен. P.S. Написал программу на паскале. uses crt;
C++ Маска, алгоритм решения
Условия таковы: на вход программы подается маска, некий фильтр, далее за ней идут строки с какими то словами/именами файлов, необходимо по маске определить, подходит ли под фильтр данная строка или нет. Написать рекурсивным методом. Спец. символы таковы: * - любая последовательность символов( в том числе пустота) ? - любой символ Имеется ввиду под "любой символ" буквы английского алфавита и...
C++ определение возраста в годах http://www.cyberforum.ru/cpp-beginners/thread801665.html
объясните мне пожалуйста этот код. я не могу понять как он работает #include <iostream> #include <clocale> #include<conio.h> #include <windows.h> using namespace std;
C++ Написать функцию ALTER() Написать функцию ALTER(), которая берет две целые переменные X и Y и заменяет соответственно на их сумму и разность и воз¬вращает в головную функцию (воспользоваться адресами и указателя¬ми). подробнее

Показать сообщение отдельно
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
07.03.2013, 01:11     Чтение многолинейного набора данных
Цитата Сообщение от alsav22 Посмотреть сообщение
Выход при вводе символа, отличного от цифры, или при вводе больше чем N:
Специально написал во втором посте. Почему - объяснил в четвёртом. А вы пробуете в моём коде выйти при вводе пустой строки? А для кого объяснения? Сразу нужно было сказать, что нужен выход из ввода только по вводу пустой строки, а не пробовать мой код.

Добавлено через 8 минут
Просто, ни через scanf, ни через cin это не сделать, потому что они пропускают '\n'. Можно сделать более сложный код. Построчное чтение, перевод групп символов, состоящих из цифр, в числа. Выход при чтении пустой строки.

Добавлено через 17 минут
Вот рабочий код. Числа должны вводиться по две в строке. Выход из ввода - при вводе пустой строки:
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
#include <iostream>
#include <vector>
#include <string>
#include <sstream>
#include <cstdlib>
using namespace std;
 
int main()
{
    vector <int> arr;
    stringstream s;
    string str;
    int n1, n2;
    
    do
    {
        str.clear();
        getline(cin, str);
        if (str.empty()) break;
        
        s << str;
        s >> n1 >> n2;
        s.clear();
        
        arr.push_back(n1);
        arr.push_back(n2);
        
    } while (true);
 
    for (int j = 0; j < arr.size(); j += 2)
    {
        for (int i = j; i < j + 2 ; ++i)
            cout << arr[i] << ' ';
        cout << endl;
    }
        
    system("pause");
    return 0;
}
 
Текущее время: 12:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru