Министерство образования Российской Федерации
Уральский Государственный Технический Университет
Филиал в г. Краснотурьинске
Кафедра вычислительной техники
Студент Козлов И.В.
Группа Мт-209
Вариант 6
Преподаватель Мезенцева О.В.
2002
Цель работы: создание программы по известному алгоритму, обработка данных, хранящихся в двумерном массиве.
1. Задание.
а) Даны массив A[n,n]. Вычислить сумму элементов на побочной диагонали, выше побочной диагонали и ниже побочной диагонали.
б) Дана матрица (n x m), n, m – чётные числа. Составить одномерный массив из положительных элементов второго квадрата матрицы
2. Блок-схема:
а)
начало
введите размер
массива a
n
введите элементы
массива a
Введите a[i,j]
a[i,j]
исходный массив
a [i, j]
сумма элементов
на побочной диаго-
нали S1
сумма элементов
выше побочной
диагонали
сумма элементов
ниже побочной
диагонали
конец
3. Программа:
а) Program z61;
uses crt;
Var i,j,n:integer; S1,S2,S3:real;A:array[1..100,1..100] of integer;
begin
writeln('введите размер массива A');
readln(n);
writeln('введите элементы массива');
for i:=1 to n do
for j:=1 to n do
begin
write('A[',i,',',j,']=');
readln(A[i,j]);
end;
S1:=0;
S2:=0;
S3:=0;
for i:=1 to n do
S1:=S1+A[i,n-i+1];
for i:=1 to n-1 do
for j:=1 to n-i do
S2:=S2+A[i,j];
for i:=2 to n do
for j:=n-i+2 to n do
S3:=S3+A[i,j];
writeln('исходный массив:');
for i:=1 to n do
begin
for j:=1 to n do
write(A[i,j],'':2);
writeln;
end;
writeln('сумма элементов на побочной диагонали',S1:8:2);
writeln('сумма элементов выше побочной диагонали',S2:8:2);
writeln('сумма элементов ниже побочной диагонали',S3:8:2);
readln;
end.
б) Program pr_6_2;
Var i,j,n,m,h,t,k:integer;
a: array[1..20,1..20] of integer;
b: array[1..20] of integer;
begin
write('ввести четное n=');
readln(n);
write('ввести четное m=');
readln(m);
for i:=1 to n do
for j:=1 to m do
a[i,j]:=random(20)-10;
h:=n div 2;
t:=m div 2;
k:=0;
for i:=1 to h do
for j:=t+1 to m do
if a[i,j]>0 then begin k:=k+1;b[k]:=a[i,j];end;
writeln('Исходная матрица');
for i:=1 to n do begin
for j:=1 to m do
write(a[i,j],' ');
writeln;
end;
writeln('Полученный массив');
for i:=1 to k do
write(b[i],' ') ;
readln;
end.
4. Результат:
а) исходный массив a
1 2 3
1 2 3
1 2 3
сумма элементов на побочной диагонали 6,00
сумма элементов выше побочной диагонали 4,00
сумма элементов ниже побочной диагонали 8,00
б) Исходная матрица
-10 -10 7 -6 -5 3 -4 7
-3 -2 -9 -1 -9 6 -9 -5
8 -3 5 -4 3 6 4 -4
-7 -4 -1 -6 6 -5 -1 -8
7 -5 5 9 -1 7 6 -10
-8 -8 0 -10 1 -10 5 3
5 4 1 -6 3 1 9 2
9 -6 3 -5 9 5 -1 7
Полученный массив
3 6 3 6 4 6
Вывод: В ходе данной лабораторной работы я научился составлять программу, обрабатывающую данные в дву7мерных массивах.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.