Многомерные массивы. Многомерным называется такой массив, в котором для получения доступа к элементам применяется несколько индексов

Многомерным называется такой массив, в котором для получения доступа к элементам применяется несколько индексов.

Например, предположим, что требуется хранить в памяти оценки 20 студентов по 4 предметам. Позицию в матрице можно задать двумя координатами — строка – номер экзамена, столбец – номер студента. Эти две координаты можно представить в виде индексов.

Объявить и инициализировать двумерный массив ball типа int можно следующим образом:

int [,] ball = new int[4,20];

Пример задачи с матрицей

Задана матрица A целых чисел размера MхN, 2≤M≤10, 2≤N≤6. Получить вектор B, каждый элемент которого является минимальным элементом соответствующего столбца матрицы A.

Таблица спецификаций:

Входные величины Выходные величины
Имя Назначение Диапазон Имя Назначение Диапазон
M Число строк матрицы A Целое B Вектор размером N Целые числа
N Число столбцов матрицы A Целое число      
A Матрица размером MхN Целые числа      

Словесное описание алгоритма:

1. Ввод M

2. Ввод N

3. I=1

4. ПОКА I<=M ВЫПОЛНИТЬ

4.1. J=1

4.2. ПОКА J<=N ВЫПОЛНИТЬ

4.2.1. Ввод AI,J

4.2.2. J=J+1

ПОКА ВСЕ

4.3. I=I+1

ПОКА ВСЕ

5. J=1

6. ПОКА J<=N ВЫПОЛНИТЬ

6.1. BJ=A1,J

6.2. I=1

6.3. ПОКА I<=M ВЫПОЛНИТЬ

6.3.1. ЕСЛИ AI,J< BJ ТО

6.3.1.1. BJ= AI,J

ЕСЛИ ВСЕ

6.3.2. I=I+1

ПОКА ВСЕ

6.4. J=J+1

ПОКА ВСЕ

7. I=1

8. ПОКА I<=N ВЫПОЛНИТЬ

8.1. Вывод BI

8.2. I=I+1

ПОКА ВСЕ

Программа:

int N,M,i,j;

int [,]A=new int[10,6];

int[]B=new int[6];

Console.WriteLine("Введите число строк");

M=Convert.ToInt32(Console.ReadLine());

Console.WriteLine("Введите число столбцов");

N=Convert.ToInt32(Console.ReadLine());

Console.WriteLine("Введите матрицу");

for (i=0;i<M;i++)

for (j=0;j<N;j++)

{A[i,j]= Convert.ToInt32(Console.ReadLine());}

for (j=0;j<N;j++)

{B[j]=A[0,j];

for(i=0;i<M;i++)

if (A[i,j]<B[j])

B[j]=A[i,j];}

Console.WriteLine("Выходной вектор");

for (i=0;i<N;i++)

Console.Write(" {0} ",B[i]);

Console.WriteLine();

Console.ReadKey();


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: