русс | укр

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

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


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


Теоретичні відомості


Дата додавання: 2014-11-27; переглядів: 796.


 

Кількість індексів, які необхідно вказати при зверненні до елемента масиву, визначає n-мірна масиву. При n=1 масив називається одновимірним; при n=2 - двовимірним. Двовимірний масив відповідає поняттю матриці в математиці. Наприклад, можна розглядати вектор, елементами якого є також вектори:

VAR B: ARRAY[1..20] OF ARRAY[1..10] OF INTEGER.

Такий же масив B можна описати наступним чином:

VAR B: ARRAY[1..20,1..10] OF INTEGER;

Або

TYPE

МАТR=ARRAY[1..20,1..10] OF INTEGER;

VAR

B: МАТR;

До елементів масиву B можна звертатися так: B[1,1], B[1,2] ,..., B[20,10] або B[I,J], де I та j відповідають зазначеним вище обмеженням.

Введення-виведення матриць, також як і одновимірних масивів, здійснюється поелементно. Для цього використовуються вкладені цикли. У правильно організованому вкладеному циклі оператори внутрішнього циклу не можуть виходити за межі зовнішнього циклу, хоча внутрішній і зовнішній цикли можуть закінчуватися одним оператором.

При вирішенні різних завдань можливі перегляди матриць по рядках або стовпцях. Якщо проглядається матриця по рядках, то індекс I (номер рядка) змінюється повільніше індексу J (номер стовпчика), тобто цикл за I - зовнішній, цикл по j- внутрішній. І, навпаки, якщо матриця проглядається по стовпцях, то цикл за I - внутрішній, а цикл по j - зовнішній.

Приклад. Дана матриця дійсних чисел M(n x k). Рядок, що містить максимальний елемент матриці, поміняти місцями з рядком, що містить мінімальний елемент.

Програма має вигляд:

PROGRAM MATRIX;

VAR M:ARRAY[1..10, 1..10] OF REAL;

M1, MAX,MIN:REAL;

MAXI,MINI,I,J,N,K: INTEGER;

BEGIN

WRITELN ('ВВЕДІТЬ РОЗМІРНІСТЬ МАТРИЦІ');

READLN (N,K);

WRITELN (' ВВЕДІТЬ МАТРИЦЮ ');

FOR I:=1 TO N DO

FOR J:=1 TO K DO

READ(M[I,J]);

WRITELN (' ВИХІДНА МАТРИЦЯ ');

FOR I:=1 TO N DO

BEGIN

FOR J:=1 TO K DO

WRITE (M[I,J]:7:2);

WRITELN

END;

MAX:=M[1,1];

MIN:=M[1,1];

MAXI:=1;

MINI:=1;

FOR I:=1 TO N DO

FOR J:=1 TO K DO

BEGIN

IF M[I,J]>MAX THEN

BEGIN

MAX:=M[I,J];

MAXI:=I

END;

IF M[I,J]<MIN THEN

BEGIN

MIN:=M[I,J];

MINI:=I

END

END;

FOR J:=1 TO K DO

BEGIN

M1:=M[MAXI,J];

M[MAXI,J]:=M[MINI,J];

M[MINI,J]:=M1;

END;

WRITELN('МАТРИЦЯ ПІСЛЯ ПЕРЕСТАНОВКИ РЯДКІВ');

FOR I:=1 TO N DO

BEGIN

FOR J:=1 TO K DO WRITE (M[I,J]:7:2);

WRITELN

END

END.

 

 


<== попередня лекція | наступна лекція ==>
Варіанти завдань | Варіанти завдань


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