русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Прямокутні масиви


Дата додавання: 2015-01-08; переглядів: 1058.


Прямокутний масив має більше одного вимірювання. Найчастіше в програмах використовуються двовимірні масиви. Варіанти опису двовимірного масиву:

 

тип[,] ім’я;

тип[,] ім’я = new тип [ розм _1, розм_2 ];

тип[,] ім’я = { список ініціалізаторів };

тип[,] ім’я = new тип [,] { список ініціалізаторів };

тип[,] ім’я = new тип [ розм_1, розм_2 ] {список ініціалізаторів};

Приклади описів (один приклад для кожного варіанту опису):

 

int [ , ] a; //1 елементів немає

int [ , ] b = new int [2,3]; //2 елементи дорівнюють 0

int [ , ] с = {{1, 2, 3}, {4, 5, 6}}; //3 new мається на увазі

int [ , ] d = new int[ , ] {{1, 2, 3}, {4, 5. 6}}; //4 розмірність обчислюється

int [ , ] e = new int[2,3] {{1, 2, 3}, {4, 5, 6}}; //5 надмірний опис

 

Якщо список ініціалізації не заданий, розмірності можуть бути не тільки константами, але і виразами типу, що приводиться до цілого. До елементу двовимірного масиву звертаються, указуючи номери рядка і стовпця, на перетині яких він розташований, наприклад:

 

а[1 , 4] b[i , j ] b[j, i]

 

Як приклад розглянемо програму на лістингу 6.2, яка для цілочисельної матриці визначає середнє арифметичне її елементів і кількість додатних елементів в кожному рядку.

 

Лістинг 6.2. Робота з двовимірним масивом

using System;

namespace ConsoleApplication1

{

class Classl

{

static void Main( )

{

 

const int n = 3, m = 4;

int i,j;

int[,] a = new int[n, m]

{

{ 2,-2, 8, 9},

{- 4,- 5, 6,- 2},

{ 7, 0, 1, 1}

};

Console.WriteLine( "Початковий масив:");

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

{

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

Console.Write( "\t" + a[i, j]);

Console.WriteLine( );

}

 

double sum = 0;

int pel;

 

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

{

pel = 0;

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

{

sum += a[i, j] ;

if ( a[i, j] > 0 )pel ++;

}

Console.WriteLine( "У рядку {0} {1} додат. елементів ", i, pel);

}

Console.WriteLine("Серед. ариф. значення елементів = " +sum/m/n);

}

}

}

 


<== попередня лекція | наступна лекція ==>
Одновимірні масиви | Клас System.Array


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн