Создание программы, использующей алгоритм для отработки данных (Составление одномерного массива из положительных элементов второго квадрата матрицы)

Страницы работы

Содержание работы

Министерство образования Российской Федерации

Уральский Государственный Технический Университет

Филиал в г. Краснотурьинске

Кафедра вычислительной техники

Отчет по лабораторной работе №6

Студент                                                                                        Козлов И.В.

Группа                                                                                          Мт-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мерных массивах.

Похожие материалы

Информация о работе