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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
mster-doc
14 / 14 / 4
Регистрация: 10.11.2012
Сообщений: 239
#1

Цикл на проверку введённых данных - C++

01.04.2013, 02:03. Просмотров 254. Ответов 3
Метки нет (Все метки)

Здравствуйте. Мне нужно проверить вводимые данные в двумерный массив.
Всё бы хорошо, если бы на последнюю строчку ввода при правильном вводе программа бы не жаловалась.
Пример: ввожу всё время 1 или 0, а на последней строке массива программа всё ровно пишет
Please enter only 1 (full) or 0 (empty):

Вот собственно сам код
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 <iostream>
#include <iomanip>
#include <ctime>
#include <cstdlib>
using namespace std;
 
int main()
{
    time_t t;
    srand((unsigned) time(&t));
 
    
    int nrow,ncol;
    int i,j;
 
    
    cout << "Please enter table size." << endl;
    cout << "Enter number of columns: "; 
    cin >> nrow;
    
    cout << "Enter number of lines: ";
    cin >> ncol;
    
    cout << "To fill an array of empty and full cells were injected 1 (full) or 0 (empty)." << endl;
    cout << "The array is filled in order from the first row." << endl;
    
    
    int **arr=new int*[nrow];
    
    for(i=0;i<nrow;i++)
    {
                       arr[i]=new int[ncol];
    }
    for(i=0;i<nrow;i++)
    {
                       for(j=0;j<ncol;j++)
                       {
                                          cin >> arr[i][j];
                                          
                                          if(i!=0 && i!=1)
                                          {
                                               if(j!=0 && j!=1)
                                               {
                                                      cout << "Please enter only 1 (full) or 0 (empty): ";
                                                      cin >> arr[i][j];
                                               }
                                          }
                                          
                       }
 
    }
    for(int k = 0; k < i ; k++)
    {
            for(int l = 0; l < j; l++)
            {
                    cout << setw(4)<<arr[k][l];
            }
                cout << endl;
    }
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2013, 02:03     Цикл на проверку введённых данных
Посмотрите здесь:

Найти среднее значение n целых чисел, введённых пользователем (для решения использовать цикл for) - C++
Написать программу, которая позволяет ввести целое число n; вычислить и вывести среднее значение n целых чисел, которые необходимо ввести...

Проблемы с проверкой введённых данных - C++
Никак не могу раобраться с проверкой на ввод числа, символа Которую нужно обязательно добавить Помогите пожалуйста :cry: :sorry: ...

Ошибка при сравнении введённых данных - C++
Я очень долго пытался решить эту трабл но так и не понял даже ее суть( Суть данного компонента в том что есть 2 массива из которых...

Поиск по условию в уже введённых данных - C++
Известны данные о моделях ноутбуков к их стоимости. Необходимо обеспечить ввод этих данных в программу, после этого следует найти ноутбук,...

Используя массив структур - на основе введённых данных создать таблицу - C++
Знаю что делаю, что-то не так. Но не могу разобраться. Нужно используя массив of Structures - на основе введённых данных создать таблицу....

Реализовать программу, рисующую треугольник на основании введённых пользователем данных - C++
Здравствуйте Нужна помощь в написании программы) Пишу с руки 3 стороны треугольника, программа должна нарисовать сам...

Сделать проверку уникальности ввода данных - C++
Как сделать так, чтобы в структуре была проверка уникальности ввода данных? То есть чтобы когда я вводил следующие данные в это поле и если...

Добавить проверку на ввод ошибочных данных - C++
Пожалуйста, помогите сделать так чтобы при вводе ошибочных данных выходил текст &quot;vveli nekorrektnie dannie&quot;. cout&lt;&lt;&quot;Vvedite vremya...

Реализовать функции, обеспечивающую ввод данных с клавиатуры и их проверку на корректность - C++
1. Реализовать функцию, обеспечивающую ввод данных с клавиатуры и их проверку на корректность; тип и диапазон значений определить...

Проверить, можно ли построить треугольник из отрезков с длинами x, y, z. Предусмотреть проверку вводимых данных на отрицательность - C++
Проверить, можно ли построить треугольник из отрезков с длинами x, y, z. Предусмотреть проверку вводимых данных на отрицательность.

5. Определить, является ли заданное целое число А нечетным двузначным числом. Предусмотреть проверку вводимых данных на отрицательность - C++
Определить, является ли заданное целое число А нечетным двузначным числом. Предусмотреть проверку вводимых данных на отрицательность.

6. Определить, имеется ли среди заданных целых чисел A, B, C хотя бы одно четное. Предусмотреть проверку вводимых данных на отрицательность - C++
6. Определить, имеется ли среди заданных целых чисел A, B, C хотя бы одно четное. Предусмотреть проверку вводимых данных на отрицательность.


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
UnsKneD
алкокодер
153 / 149 / 11
Регистрация: 27.12.2012
Сообщений: 548
01.04.2013, 03:02     Цикл на проверку введённых данных #2
mster-doc, а почему вы проверяете номера элементов, а не сами элементы массива? не помешало бы само задание.
mster-doc
14 / 14 / 4
Регистрация: 10.11.2012
Сообщений: 239
01.04.2013, 03:41  [ТС]     Цикл на проверку введённых данных #3
http://http://pixs.ru/showimage/Bezi...63_7575825.jpg

Я думал сначала сделать просто массив который заполнить 1 и 0.
А потом сделать рандомное заполнение этого массива.
А потом Чтобы программа высчитывала наибольшую фигуру массива.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.04.2013, 03:43     Цикл на проверку введённых данных #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
for(i = 0; i < nrow;i++)
{
        for(j = 0; j < ncol; j++)
        {
            cin >> arr[i][j];
                                          
            if(arr[i][j] != 0 && arr[i][j]!= 1)
            {
                cout << "Please enter only 1 (full) or 0 (empty): ";
                --j;
            }
        }
}
Yandex
Объявления
01.04.2013, 03:43     Цикл на проверку введённых данных
Ответ Создать тему
Опции темы

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