русс | укр

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

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


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


Багатовимірний масив.


Дата додавання: 2013-12-23; переглядів: 1497.


 

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

 

Наприклад: 3 4 8 9

7 16 1 5

6 23 17 2

 

Послідовність чисел написана в декілька рядків називається матрицею.

Дана матриця має розмір (3*4). Якщо весь масив позначити А, то кожний елемент масиву позначається двома індексами A[I,j]. Перший індекс рядка, другий - стовпчика. Можна описати:

Туре мат—array[1..3] of array[1. . 4] of integer;

Var а:мат;

 

Описується тип даних індексів від 1 до 3, а потім вказується

складний базовий тип, зокрема array [1 ..4] of integer;

 

Можна описати так:

 

Туре мат= аrrау[1..3, 1. .4]of integer;

Var а:мат;

 

Тут описується кожен тип індекса, потім вказується простий базовий тип елементів масиву integer.

Якщо в програмі необхідно виділити окремі блоки матриці, то необхідно ввести такий опис:

Type mas=array[1...4]of integer;

Мат=array[1.. 3]of mas;

Var a: mas;

b:мат;

 

Тут спочатку описується тип одного рядка, а потім через тип рядка тип всієї матриці.

Приклад: Які з проведених описів двовимірних масивів є неправильними і чому ?

Var a:array[1..5, 1..7] of real; - правильний

Var k: array[4,7] of integer; - неправильний тип індексу

Var p: array[1..6], [1..3] of real; -неправильний

Type mas =array[ 'b'..’f’, -3..3] of integer; - правильний

Type z=array['a'.. 'd'] неправильний, так як не описаний тип eлементу.

Приклад: Дана матриця дійсних чисел B[I,J], де і вимірюється від 1 до З, j від 1 до 5. Знайти добуток всіх елементів матриці.

Program амат1;

Var b: array[1., 3,1.. 5] of real;

i,j: integer;

p:real;

begin

p:=1;

for i: =1 to 3 do begin

for j: =1 to 5 do read(b[i,j]);

readln;

end;

for і: =1 to 3 do

for j:=1 to 5 do

p:=p*b[i,j];

writeln('p=’,p:8:2);

end.

Задача: є цілочисленний масив [4*4], впорядкувати масив по зростанню елементів першого стовбця.

Рrogram mat2;

var mas: array [1..4,1..4] of integer;

іJ,k,t: integer;

begin

writeln('Введіть матрицю');

for i: =1 to 4 do

begin

for j:=1 to 4 do

read(mas[i,j]);

readln;

end;

for i: =1 to 4 do

for j: =1 to 4 do

if mas[i,1]>mas[j, 1] then

for k:=1 to 4 do

begin

t: =mas[i,k];

mas[i,k]: =mas[j,k];

mas[j,k]: =t;

end;

for i: =1 to 4 do

begin

for j: =1 to 4 do

write(mas[i,j]:2);

writeln;

end;

end.

Приклад: Дані натуральні числа п та т. Отримати всі числа меньше n, квадрат суми чифр яких дорівнює т.

Program рг;

Var n,m,cr,x,I,sum: Integer;

Begin

Writeln( 'Введіть п та т : ');

Read(n,m) ;

Writeln('Відповідь: ');

For x: =n down to 0 do

begin

Sum: =0;

I:=x;

Repeat

Cf:=i mod 10;

Sum: =sum+cf;

I=i mod 10

Until 1=0

Sum: =sqr (sum);

If sum=m then writeln(x);

End;

End.

Приклад: По номеру у деякого року визначити с - номер його століття.

Program рг;

Var x,y: Integer;

Begin

Write( 'Введіть рік: ') ;

Readln(y);

X:=round(y/100+1);

Writeln(’Номep століття:', x:2);

End.


<== попередня лекція | наступна лекція ==>
Упаковані масиви. | Структура процедури.


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