Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1346.doc
Скачиваний:
11
Добавлен:
09.04.2015
Размер:
436.22 Кб
Скачать

4. Лабораторная работа №3. Двухмерные массивы

Номер столбца элемента

№ строки элемента

1

2

10

m

1

2

1048

N

Пример:

запись элементов массива

Z[2,10]:=1048;

Z[i,k]-

Var Z:array [1..9,1...8] of word;

Выполнение лабораторной работы рассмотрим на конкретном примере.

4.1. Условие задачи:

Дана матрица 9х9, элементы которой расчитываются по формуле: Elem[i,k] =i*sin(k), гдеi= № строки,k= № столбца этого элемента.

Найти: наибольший элемент - в каждой строке, наименьший элемент - в каждом столбце. Результат записать в текстовый файл.

4.2. Постановка задачи:

1) Elem[i,k] =i*sin(k)

i- номер строки

k– номер столбца

Max[i] – наибольший элемент в каждой строке.

Min[k] – наименьший элемент в каждом столбце.

LM– обозначим имя файла в программе (логическое имя файла)

MATR.TXT– физическое имя файла (на диске)

  1. Результаты:

Матрица

max

min

  1. Алгоритм:

да нет

да нет

нет да

нет да

Нет да

Нет да

нет да нет да

нет да

нет да

k=1

k=k+1

Нет да

4.4. Текст программы:

Program Matr;

Var Elem:array[1..9,1..9] of real;

Min,Max:array[1..9] of real;

i,k,col:integer;

s:real;

LM:text; {file of string[20]}

Begin

assign(LM,'D:\matr.txt'); {. Процедураassign устанавливает соответствие между обозначением файла ( логическим файлом), используемым в программе, и названием реального физического файла ( или устройством).}

rewrite (LM);{ Операторомrewriteоткрывается логический файл для записи в него. После окончания работы файл закрывается операторомclose.}

for i:=1 to 9 do

for k:=1 to 9 do

Elem[i,k]:=i*sin(k);

for i:=1 to 9 do

begin

Max[i]:=Elem[i,1];

for k:=2 to 9 do

if Max[i]<Elem[i,k] then Max[i]:=Elem[i,k];

end;

for i:=1 to 9 do

begin

Min[k]:=Elem[1,k];

for k:=1 to 9 do

if Min[k]>Elem[i,k] then Min[k]:=Elem[i,k];

end;

for i:=1 to 9 do

begin

for k:=1 to 9 do

write (LM,Elem[i,k]:5:1);

writeln (LM,Max[i]:9:1);

end;

writeln (LM);

for k:=1 to 9 do

write (LM,Min[k]:5:1);

writeln (LM);

Close(LM);

end.

4.5. Результат:

Открываем файл Matr.txt, находящийся в корневом каталоге дискаD

0.8 0.9 0.1 -0.8 -1.0 -0.3 0.7 1.0 0.4 1.0

1.7 1.8 0.3 -1.5 -1.9 -0.6 1.3 2.0 0.8 2.0

2.5 2.7 0.4 -2.3 -2.9 -0.8 2.0 3.0 1.2 3.0

3.4 3.6 0.6 -3.0 -3.8 -1.1 2.6 4.0 1.6 4.0

4.2 4.5 0.7 -3.8 -4.8 -1.4 3.3 4.9 2.1 5.0

5.0 5.5 0.8 -4.5 -5.8 -1.7 3.9 5.9 2.5 5.9

5.9 6.4 1.0 -5.3 -6.7 -2.0 4.6 6.9 2.9 6.9

6.7 7.3 1.1 -6.1 -7.7 -2.2 5.3 7.9 3.3 7.9

7.6 8.2 1.3 -6.8 -8.6 -2.5 5.9 8.9 3.7 8.9

0.8 0.9 0.1 -6.8- -8.6 -2.5 0.7 1.0 0.4

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]