IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Тема закрытаНачать новую тему
> Программирование, изучаю
yakruk
сообщение 13.11.2011, 15:24
Сообщение #1


Пользователь
Иконка группы

Группа: Пользователи
Сообщений: 276
Регистрация: 11.4.2009
Из: Украина
Пользователь №: 1096036
Смартфон:5320 Xpress Music



Репутация: 3


Учу, учу, но никак не пойму.... о массивах многомерных.
Код
int arrayOfInteger_6[2][3]=    {
   {1,2,3}, {11,12,13}};      
   // Объявление и инициализация
   // двумерного массива


Объясните пожалуйста, что это, и как там все происходит, объявление, инициализация и т.д.
Перейти в начало страницы
 
+Цитировать сообщение
Реклама
сообщение 13.11.2011, 15:24
Сообщение #


Google Ads










Перейти в начало страницы
 
Цитировать сообщение
jmaster
сообщение 13.11.2011, 16:41
Сообщение #2



Иконка группы

Группа: Друзья
Сообщений: 10570
Регистрация: 23.4.2007
Пользователь №: 72437
Смартфон:Nokia N86



Репутация: 404


Первой командой ты инициализируешь целочисленный массив именем arrayOfInteger_6, размерности 2х3 и сразу же его заполняешь. Первые фигурные скобки указывают на весь массив, вторые - на конкретные строки.
{1,2,3} - первая строка
{11,12,13} - вторая строка
Итого массив будет иметь вид:
Цитата
1 2 3
11 12 13
Перейти в начало страницы
 
+Цитировать сообщение
Эти 1 пользователя(ей) сказали Спасибо jmaster за это полезное сообщение:
yakruk
goodguy
сообщение 13.11.2011, 18:06
Сообщение #3


Ктулху
Иконка группы

Группа: Друзья
Сообщений: 11355
Регистрация: 19.11.2006
Пользователь №: 64055
Смартфон:Lenovo S90u



Репутация: 428


jmaster, о каких строках ты говоришь? Это массив массивов целых чисел. В нем нет строк и быть не может.

Цифра 2 в квадратных скобках - это длина исходного массива (или его размерность). Цифра 3 в квадратных скобках, точнее сами квадратные скобки говорят о том, что исходный массив содержит другие массивы размерностью 3 индекса.
Т.е. в данном случае, исходный массив может содержать только два других массива, каждый из которых может содержать только 3 индекса (на которых находятся целые, 32 битные числа)
Перейти в начало страницы
 
+Цитировать сообщение
Эти 1 пользователя(ей) сказали Спасибо goodguy за это полезное сообщение:
yakruk
yakruk
сообщение 13.11.2011, 18:20
Сообщение #4


Пользователь
Иконка группы

Группа: Пользователи
Сообщений: 276
Регистрация: 11.4.2009
Из: Украина
Пользователь №: 1096036
Смартфон:5320 Xpress Music



Репутация: 3


goodguy, а если 3-х мерный??
Код
char aCh[3][2][5]

И еще: 1, 2, 3, 11, 12, 13 - это любые числа? Или это зависит от значений в квадратных скобках?

Сообщение отредактировал yakruk - 13.11.2011, 18:25
Перейти в начало страницы
 
+Цитировать сообщение
goodguy
сообщение 13.11.2011, 18:50
Сообщение #5


Ктулху
Иконка группы

Группа: Друзья
Сообщений: 11355
Регистрация: 19.11.2006
Пользователь №: 64055
Смартфон:Lenovo S90u



Репутация: 428


Цитата
Или это зависит от значений в квадратных скобках?

Значения в квадратных скобках - это длины или размерность массивов. от этих чисел вообще не зависит то, что находится в ячейках массива.
Это одинаково почти во всех языках программирования, в которых вообще присутствует понятие "массив"

Цитата
это любые числа?

Это любые целые числа, в диапазоне от -2147483648 до 2147483647
Цитата
goodguy, а если 3-х мерный??
Код
char aCh[3][2][5]

Значит этот массив может содержать 3 массива размерностью 2 индекса, на каждом индексе которого может находиться массив длиной 5 индексов (или ячеек), в каждой из которых может находиться любое значение с типом данных char
Перейти в начало страницы
 
+Цитировать сообщение
Эти 1 пользователя(ей) сказали Спасибо goodguy за это полезное сообщение:
yakruk
jmaster
сообщение 13.11.2011, 18:53
Сообщение #6



Иконка группы

Группа: Друзья
Сообщений: 10570
Регистрация: 23.4.2007
Пользователь №: 72437
Смартфон:Nokia N86



Репутация: 404


goodguy, мне проще двумерный массив представлять матрицей, оттого и такие фразы (IMG:style_emoticons/default/sm_smile.gif)

yakruk, Будет точно так же. Например массив будет mas[l][n][m] Для каждого из l-элементов в первых скобках есть n-элементов вторых скобок, для каждого из которых соответственно есть m-элементов третьих скобок. Блин, слов подобрать не могу

Цитата
1, 2, 3, 11, 12, 13

Это любые числа. Числа в квадратных скобках - число элементов массива
Перейти в начало страницы
 
+Цитировать сообщение
Эти 1 пользователя(ей) сказали Спасибо jmaster за это полезное сообщение:
yakruk
yakruk
сообщение 13.11.2011, 18:57
Сообщение #7


Пользователь
Иконка группы

Группа: Пользователи
Сообщений: 276
Регистрация: 11.4.2009
Из: Украина
Пользователь №: 1096036
Смартфон:5320 Xpress Music



Репутация: 3


jmaster, goodguy, спасибо! Это все что я хотел узнать! Закрывайте тему
Перейти в начало страницы
 
+Цитировать сообщение
goodguy
сообщение 13.11.2011, 18:58
Сообщение #8


Ктулху
Иконка группы

Группа: Друзья
Сообщений: 11355
Регистрация: 19.11.2006
Пользователь №: 64055
Смартфон:Lenovo S90u



Репутация: 428


jmaster, а на каких языках прогишь?
Перейти в начало страницы
 
+Цитировать сообщение
jmaster
сообщение 13.11.2011, 19:02
Сообщение #9



Иконка группы

Группа: Друзья
Сообщений: 10570
Регистрация: 23.4.2007
Пользователь №: 72437
Смартфон:Nokia N86



Репутация: 404


В школе писал на паскале, в универе на занятиях - немного на с++. Сейчас большинство того, что мне надо писать, удобнее писать на fortran-е
Перейти в начало страницы
 
+Цитировать сообщение
Эти 2 пользователя(ей) сказали Спасибо jmaster за это полезное сообщение:
goodguy, oneassasin

Тема закрытаНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 20.9.2018, 17:58