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

Инициализация двухмерных массивов - C++

Восстановить пароль Регистрация
 
Ryabchik
17 / 17 / 1
Регистрация: 09.01.2013
Сообщений: 158
21.03.2013, 17:48     Инициализация двухмерных массивов #1
Доброго времени суток.
Объясните, пожалуйста, почему так все работает нормально:
C++
1
int x [5] [5] = {1,1};
А так:
C++
1
2
3
int a = 1;
int b = 2;
x [1] [3] = {a , b};
E2188 Expression syntax in function main()

Заранее спасибо
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
21.03.2013, 17:56     Инициализация двухмерных массивов #2
потому что значение переменной может измениться в программе.
через константу должно работать

Добавлено через 1 минуту
хотя у меня и так работает
Ryabchik
17 / 17 / 1
Регистрация: 09.01.2013
Сообщений: 158
21.03.2013, 18:04  [ТС]     Инициализация двухмерных массивов #3
Черт, че я написал!
C++
1
 x [a] [b] = {1,1};
Вот здесь он выдает ошибку. А как все таки это сделать?
ITcrusader
Эксперт C++
 Аватар для ITcrusader
176 / 162 / 8
Регистрация: 12.02.2013
Сообщений: 410
21.03.2013, 18:07     Инициализация двухмерных массивов #4
Ryabchik, ты написал операцию присваивания. Она не может справа от себя иметь список в фигурных скобках.
Это раз. Два - не пойму, в чем смысл попытки присвоения элементу массива пары чисел?

А может и понял. Короче, то, что у тебя работает - это инициализация (задание значений при объявлении). Операция присваивания для массивов отсутствует. Можно лишь оперировать их элементами.
Ryabchik
17 / 17 / 1
Регистрация: 09.01.2013
Сообщений: 158
21.03.2013, 18:11  [ТС]     Инициализация двухмерных массивов #5
Я пытаюсь написать Морской бой. Сетка - двухмерный массив 10 на 10. Свободные клетки - 0. Занятые - 1.
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
21.03.2013, 18:13     Инициализация двухмерных массивов #6
Цитата Сообщение от Ryabchik Посмотреть сообщение
x [a] [b] = {1,1};
C++
1
2
3
const int a = 10;
const int b = 10;
int x[a][b] = {1, 1};
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.03.2013, 18:23     Инициализация двухмерных массивов
Еще ссылки по теме:

C++ Обработка двухмерных массивов простым способом
«Обработка двухмерных массивов» C++
C++ Функция поика минимума и максимума двух двухмерных массивов - найти ошибку

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

Или воспользуйтесь поиском по форуму:
Ryabchik
17 / 17 / 1
Регистрация: 09.01.2013
Сообщений: 158
21.03.2013, 18:23  [ТС]     Инициализация двухмерных массивов #7
Ммм. Точно. Спасибо большое
Yandex
Объявления
21.03.2013, 18:23     Инициализация двухмерных массивов
Ответ Создать тему
Опции темы

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