Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/26: Рейтинг темы: голосов - 26, средняя оценка - 4.77
3 / 3 / 0
Регистрация: 14.10.2013
Сообщений: 87

Объявить массив? Запросто! Объявить массив массивов? А как это?

31.10.2013, 20:48. Показов 5162. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!

Конечно, все знают, как объявить массив!
C++
1
2
3
4
int main ()
{
    int array[5];
}
Конечно, все знают, что можно объявить его и вот таким способом без указания конкретного размера массива!
C++
1
2
3
4
int main ()
{
    int array[] = {1, 2, 3};
}
Но как таким способом объявить массив массивов (или правильно назвать это матрицей?)? Вот так?
C++
1
2
3
4
int main ()
{
    int a[][] = {{1, 2}, {3, 4}};
}
Компилятор ругается.

Скажите, как же объявить массив массивов таким способом? И часто ли используется такой способ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.10.2013, 20:48
Ответы с готовыми решениями:

Как объявить массив массивов?
Здравствуйте. Хочу объявить массив массивов, назовем его А. Массив А состоит из n-го количества строк и 1 столбца, где каждый элемент...

Как объявить или создать массив массивов?
нужно занести несколько массивов в один. Можно так сделать? int a = new int ; int b = new int ; int c = new int ; int d = new int ;...

Где объявить глобальные переменные и массив? И как это сделать?
Работаю с формами, очень нужны глобальные переменные, но я кажется тупая, и тулю их не туда или не так, в общем выбивает ошибку. ...

5
245 / 246 / 38
Регистрация: 08.04.2013
Сообщений: 927
31.10.2013, 20:57
C++
1
2
3
4
int m = 5, n = 6;
int ** mass = new int* [m];
for (int i = 0; i<m;++i)
   mass[i] = new int [n];
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
31.10.2013, 20:57
C++
1
int a[4][4]={{2, 3, 4, 1}, {3, 0, 2, 8}, {23, 0, 1, 63}, {2, 6, 3, 7}};
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
31.10.2013, 21:05
RareScrap, при объявлении с инициализацией допускает не указывать число строк:
C++
1
int A[][2] = {{1,2},{3,4}};
это объявления 2-D массива на стеке совмещенное с инициализацией списком. При этом гарантируется непрерывность выделенной области памяти.
Объявление и выделение в куче показал metaluga145.
1
3 / 3 / 0
Регистрация: 14.10.2013
Сообщений: 87
01.11.2013, 18:26  [ТС]
А почему можно объявить массив помощью фигурных скобок, при этом не указывая конкретное значение элементов в массиве между квадратными скобками, а с матрицей такой трюк не проходит?
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
01.11.2013, 18:47
Цитата Сообщение от RareScrap Посмотреть сообщение
А почему можно объявить массив помощью фигурных скобок, при этом не указывая конкретное значение элементов в массиве между квадратными скобками, а с матрицей такой трюк не проходит?
RareScrap, об этом написано в литературе. С одномерным массивам компилятору всё ясно из самого списка, если размерность не указана. А многомерные массивы в С++ это массивы массивов. Такие массивы могут быть не только прямоугольными, но и зубчатыми. То есть размерность их строк может не совпадать между собой. При этом можно объявить прямоугольный 2-D массив на стеке, указав явно размерность строк (количество столбцов). Количество строк компилятор вычислит просмотрев список.
Дело ещё в том, что если размерность указана явно, то список инициализации может быть неполным.
Для одномерного массива это может выглядеть так:
C++
1
int A[10]={1,2,3};
списком инициализированы первые 3 элемента.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.11.2013, 18:47
Помогаю со студенческими работами здесь

Объявить одномерный массив массивов, состоящий из нескольких элементов
Здравствуйте. Мне нужно объявить одномерный массив массивов, состоящий из нескольких элементов. int jaggedArray4 = new int { ...

Объявить массив mb как массив литерных указателей без указания количества элементов
Помогите решить такую задачу: Объявить массив mb как массив литерных указателей без указания количества элементов; инициализировать...

Объявить массив rs из 5 строк как двумерный символьный массив
Объявить массив rs из 5 строк как двумерный символьный массив. Инициализировать rs значениями “un”, “une”, “des”, “de”. char rs =...

Как объявить символьный массив и числовой массив?
Как объявить символьный массив и числовой массив? И как символ записать в символьный массив и как символ записать в числовой массив?

Как объявить массив из 5 указателей на массив из 5 int-ов?
Здравствуйте Если, int m массив из 5 int int *m массив из 5 указателей на int int (*m) указатель на массив из 5 int То...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
YAFU@home — распределённые вычисления для математики. На CPU
Programma_Boinc 20.01.2026
YAFU@home — распределённые вычисления для математики. На CPU YAFU@home — это BOINC-проект, который занимается факторизацией больших чисел и исследованием aliquot-последовательностей. Звучит. . .
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru