Как в программе использовать значение конкретного элемента двумерного массива

Значения элементам массива могут быть присвоены в процессе работы программы. Для этого следует организовать вложенные циклы, управляющие переменные которых позволяют индексировать строки и столбцы двумерного массива.

Пример 3. Заполнение двумерного массива случайными числами

int num[3][4]; //выделена память под двумерный массив

//внешний цикл индексирует строки

// внутренний цикл индексирует столбцы

num[i][j] = rand(); //присваиваивание элементу матрицы случайного числа

// вывод матрицы по строкам

Пример 4.

Если необходимо, чтобы при обявлении элементы массив были инициализированы нулевыми значениями, массив может быть объявлен как статический.

//Сформировать матрицу A(10,10) следующего вида:

static int a[N][N]; //Статический массив инициализируется нулями

a[i][j]=i-j+1; //условие попадания под гл. диагональ

//вывод полученного массива

Ввод элементов двумерного массива в диалоговом режиме

int num[3][4]; //выделена память под двумерный массив

Двумерный массив что это. Многомерные массивы. Пример. Теория. Что такое массив. Array. C++ #30

printf(«Введите элемент num[%d][%d]n»,i,j);

// вывод матрицы по строкам

Массивы строк

Массив строк можно организовать так же, как массив данных любого типа. Массив строк будет являться массивом массивов символов. Определяя массив строк также, как и при определении массива другого типа, следует использовать два индекса. Например, определение

char name [10] [20];

задает 10 строковых переменных name длиной не более 19 символов в каждой.

Строки можно вводить и выводить, используя только один цикл, повторяющийся по одному разу на каждую строку массива, как показано в примере 1.

Пример 1. Ввод-вывод массива строк.

// цикл по индексу строки

printf(“Введите строку №%d “,index);

// цикл по индексу строки

Если требуется задавать строки путем ввода значений отдельных символов, следует использовать вложенные циклы. Так, если необходимо ввести строки, составляющие массив char name[10][20], то следует организовать внешний цикл, который должен повторяться 10 раз, по одному на каждую строку и внутренний цикл, который должен иметь 19 повторов для ввода значений одной строки. В примере 1 показана программа, в которой вводятся 10 имен в массив, а затем все эти 10 строк с помощью цикла for выводятся на экран.

Читайте также:
Функции в программе эксель

Источник: studfile.net

Двумерные массивы

Иногда данные гораздо удобнее хранить в таблице, чем в столбике/строке. Например, пишем мы игру-лабиринт. Нам нужно как-то хранить карту, где будут отмечены проходы и стены. Например, она могла бы выглядеть вот так.

Карта лабиринта

Рис.1 Карта лабиринта

И тогда её можно было бы хранить в виде таблицы символов, где стены обозначены 1, проходы 0, начальная точка 3, конечная точка 9.

Двумерные массивы вывод. Заполнение. Двумерный массив циклы. C++ для начинающих. #32


0 9 0 0 0 1 1 1 1 0 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 1 1 0 0 0 0 1 0 1 0 1 0 1 0 0 1 1 1 1 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 1 1 0 0 0 1 0 1 1 1 0 0 1 1 0 0 0 1 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 1 1 1 1 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 1 0 1 1 0 0 0 1 0 0 1 1 0 0 0 1 0 0 1 0 0 1 1 1 0 0 1 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 3 0 0 1 0 0 0 0

Или таблица 12 на 31, где можно было бы хранить температуру в течение года. Понятно, что в некоторых месяцах будут заполнены не все клеточки таблицы, но это ничего страшного. Договоримся и будем туда записывать, например, число -9999.99, которое будет обозначать, что данные не определены.
Ещё примеры: таблица Пифагора, поле для игры в крестики нолики, поле для игры 2048.

В подобных случаях используют двумерные массивы, т.е. массивы, у которых два измерения (два счётчика).

Двумерный массив

Рис.2 Двумерный массив.

Объявить двумерный массив не сложнее, чем объявить одномерный массив. Просто необходимо указать обе его размерности в квадратных скобках. Первое число – количество строк, второе – количество столбцов.

Например, для массива с картинки объявление выглядело бы вот так:

int arr2[4][8];

Нумерация строк и столбцов, как и в одномерных массивах, начинается с нуля.

Имеется возможность инициализировать массив при объявлении.

int arr2[4][8] = ; // нулями int arr [2][4] = ,>; //произвольными значениями

Инициализация двумерного массива произвольными значениями

Рис.3 Инициализация двумерного массива произвольными значениями

Пока элементы массива не инициализированы, они заполнены мусором. Проверьте это самостоятельно.

Обращение к конкретному элементу двумерного массива происходит так же, как и в одномерном массиве. Сначала пишется имя массива, а затем в отдельных квадратных скобках номер строки и номер столбца. Главное тут не перепутать. Сначала пишем номер строки, затем номер стоблца. Ну и не забывайте про то, что нумерация начинается с нуля.

Читайте также:
Настройка программы wsjt x для работы в ft8

Обращение к конкретному элементу двумерного массива.

Рис.4 Обращение к конкретному элементу двумерного массива.

Следующая программа иллюстрирует основные операции для работы с двумерными массивами.

#include int main(void) < int arr[4][8] = , , , >; printf(«%dt%dnn», arr[0][3], arr[2][4]); for (int i = 0; i < 4; i = i + 1)< for(int j = 0; j < 8; j = j + 1)< printf(«%dt», arr[i][j]); >printf(«n»); > return 0; >

Как видите, если в одномерном массиве мы использовали один цикл для перебора всех элементов массива, то в двумерном два цикла. Первый цикл последовательно перебирает строчки, а второй последовательно перебирает элементы строки. Индексы массива в цикле будут перебираться в следующей последовательности:

i = 0; j = 0; j = 1; j = 2; j = 3; j = 4; j = 5; j = 6; j = 7; i = 1; j = 0; j = 1; j = 2; j = 3; j = 4; j = 5; j = 6; j = 7; и т.д.

Следующая программа заполнит массив числами по порядку, а потом выведет его на экран.

#include int main(void) < int arr[4][8] = ; int k = 1; for (int i = 0; i < 4; i = i + 1)< for(int j = 0; j < 8; j = j + 1)< arr[i][j] = k; k = k + 1; >> for (int i = 0; i < 4; i = i + 1)< for(int j = 0; j < 8; j = j + 1)< printf(«%dt», arr[i][j]); >printf(«n»); > return 0; >

Вот и всё, что вам необходимо знать на начальном этапе о массивах. Теперь нужно хорошенько потренироваться в их использовании на практике.

Сохрани в закладки или поддержи проект.

Практика

Решите предложенные задачи:

Для удобства работы сразу переходите в полноэкранный режим

Дополнительные материалы

  1. пока нет

Источник: youngcoder.ru

Двумерные массивы в Pascal.

Двумерный массив представляет собой массив, в котором положение элементов определяется 2-мя индексами. Фактически, двумерный массив – это обычный (одномерный) массив, элементами которого являются другие одномерные массивы.

Поэтому двумерный массив можно задать следующим образом: b:array[1..n] of array[1..m] of integer.
Однако, подобная запись двумерного массива на практике используется нечасто. Наиболее предпочтительным является следующий вариант: b: array[1..n,1..m] of integer.
Схематично, двумерный массив можно представить в виде матрицы, где первый индекс [1..n] определяет количество строк, а второй индекс [1..m] определяет количество столбцов. Для примера возьмем массив b: array[1..7,1..6] of integer. Схематично его можно представить так:

Читайте также:
Как удалить нод 32 с компьютера программа

dvumernihyj massiv

Как видно, такой массив содержит 42 элемента (7?6). Для доступа к элементу массива необходимо указать номер строки и столбца, на пересечении которых этот элемент расположен. Например, на нашем рисунке элемент массива b[3,3] имеет значение 122.
Следующая программа записывает в каждый элемент массива случайное число и затем выводит все эти числа на экран.

program massiv10; uses crt; const N=5; M=4; var X:array [1..N, 1..M] of integer; I, J:integer; begin clrscr; randomize; for i:=1 to N do for j:=1 to M do x [I, J]:=random (100); for i:=1 to N do begin for j:=1 to M do write (‘ ‘,x[I,J]); writeln end; readln end.

В строке №3 и №4 укажем значение для константы «N» и «M».

В строке№5 запишем область двумерного массива, состоящего из N – строк и M – столбцов. Он записывается также как и одномерный массив, только в квадратных скобках указывается область хранения двумерного массива. Таким образом, наш массив будет состоять из 5 строк и 4 столбцов

В строке №6 записываем переменные, для хранения индексов строки и столбца.

Строка №9,10,11,12 – заполняем массив случайными числами (Все строки и столбцы заполнятся случайными числами). Как видно из программы, для того чтобы заполнить элементы двумерного массива различными значениями, необходимо использовать 2 цикла (один цикл вкладывается в другой). Во внешнем цикле счетчиком выступает индекс строки, во внутреннем цикле — индекс столбца. Внешний цикл выполнится один раз только когда внутренний цикл выполнится 4 раза. А так как внешний цикл должен выполниться 5 раз, то внутренний цикл за это время выполнится 20 раз, заполнив при этом все 20 элементов двумерного массива.

Строка №13-№17. Выводим значения всех элементов массива на экран. Причем, как только заполняются все ячейки одной строки массива, проиходит переход на другую строку, и следующая строка массива выводится на другой строке.

Источник: mojainformatika.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru