Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Общая форма объявления многомерного массива



тип имя массива [индекс 1]

[индекс 2]

[индекс п];

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

Пример расположения в памяти ЭВМ двухмерного массива int d[3] [4]

cf[0][0] cf[0][1] cf[0][2] cl[0][3] c/[1][0] cf[1][1] cf[1][2] cl[1][3] cf[2][0] cf[2][1] cf[2][2] cl[2][3]


Пример расположения в памяти ЭВМ трехмерного массива int d[2] [2] [2]

cf[0][0][0] cf[0][0][1]
cf[0][1][0] cf[0][1][1]
cf[1][0][0] cf[1][0][1]
cf[1][1][0] cf[1][1][1]

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

Пример. Разработать программу вычисляющую сумму элементов по строкам и столбцам квадратной матрицы 3x3.

#include <stdio.h> #define i 3 #define j 3 main()

{

int data[i][j],s; int k, 1;

printf("\n Введите массив data \n");

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

{

printf("\n");

for (1 = 0; Kj; 1 + +)

{

printf("data[%d][%d] = ", k, 1);

scanf("%d", &data[k][1]); } }

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

{

s = 0;

for (l=0;l<j;l++) s=s+data[k][1];

printf("\пСумма элементов %d-n строки равна %d",

k+1, s); }


  for (1 = 0; Kj; 1 + +) r    
  i s=0; for (k=0; k<i; k++) s=s+data[k][1];    
  } printf("\пСумма %d столбца равна %d.", 1 + 1, s);
} ge ge tchar(); tchar();    




Дата публикования: 2014-11-04; Прочитано: 271 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...