Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
mster-doc
14 / 14 / 12
Регистрация: 10.11.2012
Сообщений: 239
#1

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

01.04.2013, 02:03. Просмотров 282. Ответов 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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2013, 02:03
Ответы с готовыми решениями:

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

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

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

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

Сортировка данных массива введённых с клавиатуры
ПОМОГИТЕ!! В массив размером 5, с клавиатуры пользователь вводит 5 разных чисел, нужно вывести эти...

3
UnsKneD
алкокодер
155 / 151 / 41
Регистрация: 27.12.2012
Сообщений: 550
01.04.2013, 03:02 #2
mster-doc, а почему вы проверяете номера элементов, а не сами элементы массива? не помешало бы само задание.
0
mster-doc
14 / 14 / 12
Регистрация: 10.11.2012
Сообщений: 239
01.04.2013, 03:41  [ТС] #3
http://http://pixs.ru/showimage/Bezimyanni_9019163_7575825.jpg

Я думал сначала сделать просто массив который заполнить 1 и 0.
А потом сделать рандомное заполнение этого массива.
А потом Чтобы программа высчитывала наибольшую фигуру массива.
0
alsav22
5441 / 4836 / 831
Регистрация: 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;
            }
        }
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.04.2013, 03:43

Как закрыть программу после неверно введённых данных (if)
#include&lt;iostream&gt; #include&lt;math.h&gt; using namespace std; int main() { setlocale(LC_ALL,...

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

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


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

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

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