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

Ввод и вывод матрицы чисел - C++

Восстановить пароль Регистрация
 
barselona1994
0 / 0 / 0
Регистрация: 04.10.2012
Сообщений: 88
07.11.2012, 19:50     Ввод и вывод матрицы чисел #1
я написал программу Ввод и вывод чисел в матрицу. но компилятор ругается "constant expression required"
в чем дело?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#pragma hdrstop
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#pragma argsused
void main()
{
 int n, m, i, j, a[ i ] [ j ];
 cout<<"Vvedite n,m <=10:";
 cin>>n>>m;
 cout<<"Vvedite massiv:\n";
 for (i=0; i<n; i++) {
 printf("\n %2d)", i+1);
 for (j=0; j<m; j++)
 printf(" %3d",a[ i ] [ j ]);
 }
 getch ();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
07.11.2012, 19:53     Ввод и вывод матрицы чисел #2
Цитата Сообщение от barselona1994 Посмотреть сообщение
a[ i ] [ j ]
это как ты так делаешь? Размер массива должен быть константой или выделяй память динамически.
_Vados
0 / 0 / 0
Регистрация: 02.11.2012
Сообщений: 33
07.11.2012, 20:03     Ввод и вывод матрицы чисел #3
Вы пытаетесь определить массив a[i][j] не задав i и j каких либо значений. "constant expression required" компилятор говорит вам, что бы выражения внутри квадратных скобок были константами.
barselona1994
0 / 0 / 0
Регистрация: 04.10.2012
Сообщений: 88
07.11.2012, 20:16  [ТС]     Ввод и вывод матрицы чисел #4
Цитата Сообщение от _Vados Посмотреть сообщение
Вы пытаетесь определить массив a[i][j] не задав i и j каких либо значений. "constant expression required" компилятор говорит вам, что бы выражения внутри квадратных скобок были константами.
как это сделать?

Добавлено через 39 секунд
Цитата Сообщение от _Vados Посмотреть сообщение
Вы пытаетесь определить массив a[i][j] не задав i и j каких либо значений. "constant expression required" компилятор говорит вам, что бы выражения внутри квадратных скобок были константами.
как это сделать?
Grovello
 Аватар для Grovello
12 / 12 / 0
Регистрация: 09.06.2012
Сообщений: 92
07.11.2012, 20:26     Ввод и вывод матрицы чисел #5
Цитата Сообщение от barselona1994 Посмотреть сообщение
как это сделать?

Добавлено через 39 секунд

как это сделать?
Например, пишешь после объявления библиотек:
C++
1
2
3
 
#define int i 5 //значение константное, его нельзя будет поменять в программе
#define int j 5
Вот хорошая тема
Для чего нужен define?

Либо можно просто при объявлении массива задать размер в скобках
C++
1
Array[5][5];
_Vados
0 / 0 / 0
Регистрация: 02.11.2012
Сообщений: 33
07.11.2012, 23:29     Ввод и вывод матрицы чисел #6
Лучше конечно же использовать define, поскольку если ваш код разрастется, к примеру, то чтобы поменять размер массива вам всего лишь придется изменить циферку в define, а если вы будете писать так
C++
1
int A[5][5]
то чтобы поменять размер массива вам придется выискивать и менять все строчки где вы определили свой массив или циклы в которых вы использовали цифры вместо i и j.
Yandex
Объявления
07.11.2012, 23:29     Ввод и вывод матрицы чисел
Ответ Создать тему
Опции темы

Текущее время: 12:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru