Program dvumernie_massivi;

Лабораторная работа №6

ДBУМЕРНЫЕ МАССИВЫ

Вариант №8

Задание 1: Составить программу для выполнения заданных действий над двумерным массивом вещественных чисел A(N,M). В программе предусмотреть ввод значений его элементов, вывод исходной и, при необходимости, преобразованной матриц.

8. Найти строку с наибольшей и наименьшей суммой элементов. Вывести на печать найденные строки и суммы их элементов.

Работа программы

Вводятся исходные данные: двумерный массив через оператор random.

Назначение переменных

Назначение переменных, используемых в задаче, приведено в таблице 1

Таблица 1 – Назначение переменных

Переменная Тип Назначение
n, m real Размер массива
i,j real Номер элемента
sum real Сумма элементов
a integer Массив

Program dvumernie_massivi; - student2.ru 1.3Блок – схема алгоритма программы

Рис. 1 Блок схема алгоритма программы

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

Program dvumernie_massivi;

Const

n=5; m=5;

vari,j, sum, maxsum, minsum, k, s: integer;

a: array [1..n, 1..m] of integer;

Begin

maxsum:=0; minsum:=100;

randomize; writeln ('dvumernii massiv');

for i:=1 to n do begin sum:=0;

for j:=1 to m do begin

a[i,j]:=random (10);

write (a[i,j]:3,' ');

sum:=sum+a[i,j];

if sum>maxsum then begin maxsum:=sum; k:=i;

end; end;

if sum<minsum then begin minsum:=sum; s:=i;

end; end; readln;

begin write ('stroka s macsimalinoy summoy:');

i:=k; for j:=1 to m do begin

write (a[i,j]:3,' ');

end;

writeln; write ('macsimalinaya summa=' ,maxsum);

end; writeln;

write ('stroka s minimalinoy summoy:');

i:=s; for j:=1 to m do begin write (a[i,j]:3,' '); end;

writeln; write ('minimalnay summa=',minsum);

readln;

End.

Тестирование

Задаем двумерный массив, проверяя корректность работы программы. Программа ведёт себя корректно.

1:

dvumernii massiv

1 2 3 2 3

4 5 6 5 6

7 8 9 4 2

1 3 7 8 4

2 4 5 4 2

stroka s macsimalinoy summoy: 7 8 9 4 2

macsimalinaya summa=32

stroka s minimalinoy summoy: 1 2 3 2 3

minimalnay summa=11

Задание 2:

8. Найти все неповторяющиеся элементы двумерного массива целых чисел.

Работа программы

Вводятся исходные данные: двумерный массив оператором random.

Назначение переменных

Назначение переменных, используемых в задаче, приведено в таблице 2.

Таблица 2 – Назначение переменных

Переменная Тип Назначение
n, m real Размер массива
i, j и k,l real Номер элемента
h real Номера повторяющихся элементов
a, b integer Массивы

Program dvumernie_massivi; - student2.ru 1.3Блок – схема алгоритма программы

Рис. 2 Блок схема алгоритма программы

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

Program dvumernie_massivi;

Const

n=5; m=5;

var i,j, k,l, h: integer;

a: array [1..n, 1..m] of integer;

b: array [1..n, 1..m] of integer;

Begin

h:=0; randomize;

writeln ('Deistvie nad massivami') writeln ('Ishodnii dvumernii massiv');

for i:=1 to n do begin

for j:=1 to m do begin

a[i,j]:=random (50); write (a[i,j]:3,' ');

end; writeln; end; writeln;

for i:=1 to n do begin

for j:=1 to m do begin

b[i,j]:=a[i,j]; end; end;

writeln ('Nepovtoryauchiesya elementi');

for i:=1 to n do begin

for j:=1 to m do begin

h:=0;

for k:=1 to n do begin

for l:=1 to m do begin

if a[i,j]=b[k,l] then

h:=h+1; end; end;

if h<2 then write (a[i,j]:3,' '); end; end;

readln;

End.

Тестирование

1:

Deistvie nad massivami

Ishodnii dvumernii massiv

2 7 3 1 3

4 5 6 5 6

7 8 9 4 3

3 3 7 5 4

4 4 5 4 1

Nepovtoryauchiesya elementi

2 6 8 9

Задание 3:

8. Дана вещественная матрица размерности n * m. Найти общую сумму элементов только тех столбцов, которые имеют хотя бы один нулевой элемент.

Работа программы

Вводятся исходные данные: n, m с клавиатуры.

Назначение переменных

Назначение переменных, используемых в задаче, приведено в таблице 3.

Таблица 3 – Назначение переменных

Переменная Тип Назначение
n, m real Размер массива
i, j real Номер элемента
sum real Сумма элемент
a integer Массив

1.3Блок – схема алгоритма программы

 
  Program dvumernie_massivi; - student2.ru

Рис. 3 Блок схема алгоритма программы

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

program dvumernie_massivi;

Const

row=100;

col=100;

var i,j,n,m,sum,h: integer;

a: array [1..row, 1..col] of integer;

Begin

writeln ('Vvedite kolichestvo strok i stolbcov'); readln (n,m);

h:=0; randomize;

writeln ('Deistvie nad massivami');

writeln ('Ishodnii dvumernii massiv');

for i:=1 to n do begin

for j:=1 to m do begin

a[i,j]:=random (10);

write (a[i,j]:3,' ');

end;

writeln;

end;

for i:=1 to n do begin

for j:=1 to m do begin

if a[i,j]=0 then begin h:=j; sum:=0;

for i:=1 to n do begin

sum:=sum+a[i,h];

end;

writeln ('summa elementov ',h,' stolbca= ',sum);

end; end; end;

readln;

end.

Тестирование

Вводим количество строк и столбцов, проверяя корректность работы программы. Программа ведёт себя корректно.

1:

Vvedite kolichestvo strok i stolbcov 5 5

Deistvie nad massivami

Ishodnii dvumernii massiv

3 7 3 1 3

4 0 6 5 0

7 8 9 4 3

5 3 7 5 4

6 4 5 4 0

summa elementov 2 stolbca= 22

summa elementov 5 stolbca= 10

Задание 4:

8. В массиве А[1:m, 1:n] все числа различны. В каждой строке находится минимальный элемент, затем среди этих чисел выбирается максимальное. Напечатать номер строки массива А, в которой расположено выбранное число.

Работа программы

Вводятся исходные данные: n и m, числа массива с клавиатуры.

Назначение переменных

Назначение переменных, используемых в задаче, приведено в таблице 4.

Таблица 4 – Назначение переменных

Переменная Тип Назначение
n, m integer Десятичные числа
a integer Массив
i,j integer Номер элемента массива
h, k, integer Значение чисел массива

Program dvumernie_massivi; - student2.ru 1.3Блок – схема алгоритма программы

Рис. 4 Блок схема алгоритма программы

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

Наши рекомендации