Другие языки программирования и технологии
КАК понять что такое МНОГОМЕРНЫЕ массивы?
Одномерные массивы - совокупность значений, хранящихся в одной переменной, которые находятся под индексом. Это понятно. А что такое многомерные массивы? (дву-трех-четырех-пятирехмерные и т. д.) Как они находятся и для чего они нужны, когда есть одномерные?
Двумерный - таблица. Элемент задается номерами строки и столбца. Трехмерный - книга. Элемент, например, буква в книге, задается номерами страницы, строки и столбца. И т. д. Я использовал и четырехмерные массивы. Считай, полка с книгами ;)
В принципе, многомерный массив можно заменить одномерным, но, например, положение буквы в книге удобнее задавать номерами страницы, строки и столбца. На самом деле компьютер фактически чаще всего работает с одномерными массивами, пересчитывая эти номера в порядковый номер буквы в книге самостоятельно. Но человеку удобнее использовать именно такую адресацию - страница, строка, столбец :)
В принципе, многомерный массив можно заменить одномерным, но, например, положение буквы в книге удобнее задавать номерами страницы, строки и столбца. На самом деле компьютер фактически чаще всего работает с одномерными массивами, пересчитывая эти номера в порядковый номер буквы в книге самостоятельно. Но человеку удобнее использовать именно такую адресацию - страница, строка, столбец :)
Руслан Батталов
Спасибо, теперь хоть как нибудь понял суть) Нужно по-экспериментировать, чтоб закрепить))
Пространство может иметь 1,2,3,.. измерений. Для них применяют различные системы координат. Вопрос ближе к физике и математике.
Наиболее понятный пример. Процесс, происходящий в атмосфере. Ветер, у которого есть три координатных составляющих, направление, скорость и время. Итого уже шесть
Для описания каждой составляющей в модели можно использовать отдельные массивы, а можно иметь единый массив (идентификатор), но имеющий большее число измерений (ранг, порядок матрицы). Отличие массива в том, что под него выделяется непрерывная область памяти.
У различных яп могут быть ограничения на этот счёт. Для с++ максимальный поддерживаемый ранг матриц - 32.
В C++17 до сих пор нет нормальных многомерных массивов, которые были в Fortran начиная с Fortran 90
Наиболее понятный пример. Процесс, происходящий в атмосфере. Ветер, у которого есть три координатных составляющих, направление, скорость и время. Итого уже шесть
Для описания каждой составляющей в модели можно использовать отдельные массивы, а можно иметь единый массив (идентификатор), но имеющий большее число измерений (ранг, порядок матрицы). Отличие массива в том, что под него выделяется непрерывная область памяти.
У различных яп могут быть ограничения на этот счёт. Для с++ максимальный поддерживаемый ранг матриц - 32.
В C++17 до сих пор нет нормальных многомерных массивов, которые были в Fortran начиная с Fortran 90
А как это можно не понять?!
Руслан Батталов
Это можно понять, но чтобы понять, нужно объяснение как вверху.
Для того, что бы быть уверенным, что ты разобрался. Должно быть понятным и очевидным моё объяснение:
Что такое одномерный массив ты знаешь. (Выглядит он, как список элементов записанных в ряд)
Так вот двумерный массив - это массив массивов.
(В каждом элементе массива будет храниться ещё по одному одномерному массиву)
Трёхмерный массив - массив массивов массивов.
(В каждом элементе массива будет храниться по двумерному массиву, в каждом элементе которого, соответственно хранится ещё по одному одномерному массиву.
Четырёх мерный массив - массив массивов массивов массивов.
(В каждом элементе будет по трёмерному массиву, каждый элемент которого содержит двумерный массив, каждый элемент которого - это одномерный массив, где одномерный массив - совокупность данных.) и так далее.
Многомерный массив - тоже совокупность данных - но разбитых по группам, по принципу описанному выше!
Что такое одномерный массив ты знаешь. (Выглядит он, как список элементов записанных в ряд)
Так вот двумерный массив - это массив массивов.
(В каждом элементе массива будет храниться ещё по одному одномерному массиву)
Трёхмерный массив - массив массивов массивов.
(В каждом элементе массива будет храниться по двумерному массиву, в каждом элементе которого, соответственно хранится ещё по одному одномерному массиву.
Четырёх мерный массив - массив массивов массивов массивов.
(В каждом элементе будет по трёмерному массиву, каждый элемент которого содержит двумерный массив, каждый элемент которого - это одномерный массив, где одномерный массив - совокупность данных.) и так далее.
Многомерный массив - тоже совокупность данных - но разбитых по группам, по принципу описанному выше!
майнкрафт играй пока не поймешь, тут никто не поможет с этим
Руслан Батталов
Наххуй иди братоок))
Похожие вопросы
- про многомерные массивы
- многомерные массивы (c++) Как нужно объявить четырехмерный массив с помощью указателей?
- Язык си, не понял несколько моментов по массивам и строкам
- С++: Как изменять размеры многомерных динамических массивов по ходу выполнения программы?
- Помогите с программой на Си. (создание многомерных динамических массивов)
- C++ многомерный ассоциативный массив
- Не могу понять где элемент массива?
- Всем привет. Никак не могу понять динамически массивы в C++.
- Помогите. Не могу понять как работает поиск максимального элемента массива!!
- 1.Заполнить массив случайными числами. Вывести элементы массива на экран. Заменить все его минимальные элементы нулями.