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

Защитить от некорректного ввода в матрицу - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать программу по вычислению http://www.cyberforum.ru/cpp-beginners/thread1698052.html
Написать программу по вычислению длинны круга С=2*Pi*R Pi- константа и равна 3.14 R - радиус окружности (входной параметр)
C++ С++: посоветуйте руководства, статьи, книги Всем доброго времени суток! Сможете посоветовать какие-нибудь руководства,статьи или лучше книги для познавания языка программирования http://www.cyberforum.ru/cpp-beginners/thread1698048.html
C++ Задача
Помогите решить задачи:
C++ Преобразовать строку заменив все предыдущие вхождения на "."
Преобразовать каждое слово в строке, заменив в нем все предыдущие вхождения его последней буквы на символ ".". Пример : "МИНИМУМ"-".ИНИ.УМ" Проблема вот в чем. Оно преобразовывает только одно слово....
C++ Инициализация статического поля http://www.cyberforum.ru/cpp-beginners/thread1698003.html
Добрый день, как объяснить необходимость объявить все статические поля, даже те у которых есть конструктор по умолчанию, вне класса до main. Почему код ниже компилятор не может сам всё порешать в...
C++ Что такое конкатенация Есть задание: Создать динамический классовый тип для работы со строками символов. Максимальная длинна строки – 65535 символов. Считать, что длинна строки сохраняется в нулевом элементе массива.... подробнее

Показать сообщение отдельно
OlegSpirit
0 / 0 / 0
Регистрация: 23.09.2015
Сообщений: 30

Защитить от некорректного ввода в матрицу - C++

29.03.2016, 20:33. Просмотров 124. Ответов 0
Метки (Все метки)

Помогите написать защиту от ввода в матрицу букв в ф-ции перегрузке ввода
C++
1
2
3
4
5
6
7
8
istream &operator>> (istream & input, Matrix &n)
{
    for (int i(0); i < n.rows; i++)
        for (int j(0); j < n.columns; j++)
        {
            input >> n.matrix[i][j];
        }
    return input;
Добавлено через 3 часа 11 минут
Попробовал сделать так :
C++
1
2
3
4
5
6
7
8
9
10
11
for (int i(0); i < n.rows; i++)
        for (int j(0); j < n.columns; j++)
        {
            while (!(input>> n.matrix[i][j]) || (input.peek() != '\n'))
            {
                input.clear();
                while (input.get() != '\n');
                cout << "Error!" << endl;
            }
        }
    return input;
Вроде всё работает, но помогите пожалуйста сделать так, что бы матрицу можно было ввести в виде
1 1 1
1 1 1
1 1 1
а не каждый элемент с новой строки
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru