Министерство образования Российской федерации
УГТУ – УПИ
Филиал в г. Краснотурьинске
Кафедра вычислительной техники
По лабораторной работе № 6
По теме ,, Работа с двумерным массивом”
Студент Д.В. Поздняков
Группа Р - 131 КТ
2003
Цель работы: Создание программы по известному алгоритму, отработка данных, хранящихся в двумерных массивах.
Задания:
а) Дан массив А[n,n]. Вычислить сумму элементов на побочной диагонали, выше побочной диагонали и ниже побочной диагонали.
б) Составить алгоритм и программу для решения задачи:
Дана матрица B[n,n]. Вычислиль сумму элементов строк начинающихся с отрицательного элемента. Вывести исходную матрицу и посчитанную сумму, если таких строк нет, вывести соответствующее сообщение.
1. Блок – схемы
а)
б)
3.
Программы :
а) program iaroct;
uses crt;
var a:array[1..100,1..100] of integer;
n,i,j,s1,s2,s3:integer;
begin
clrscr;
writeln(‘введите размер массива');
readln(n);
writeln('введите элементы массива');
for i:=1 to n do
for j:=1 to n do begin
write('a[',i,',',j,']=');
read(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 begin
for j:=1 to n-i do
s2:=s2+a[i,j];
end;
for i:=2 to n do
for j:=n-i+2 to n do
s3:=s3+a[i,j];
writeln('исходный массив');
writeln;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j],' ');
writeln;
end;
writeln('сумма элементов на главной диагонали равна s1 =' ,s1:5);
writeln('сумма элементов выше главной диагонали равна s2=' ,s2:5);
writeln('сумма элементов ниже главной диагонали равна s3=' ,s3:3);
readln;
begin
readln;
end;
end.
б) program matritca;
uses crt;
var b:array[1..100,1..100] of integer;
n,i,j:integer;
s:integer;
begin
clrscr;
writeln('введите размер массива b');
readln(n);
writeln('введите элементы массива b');
for i:=1 to n do
for j:=1 to n do begin
write('b[',i,',',j,']=');
read(b[i,j]);
end;
s:=0;
for i:=1 to n do
if b[i,1]<0 then
begin
for j:=1 to n do
s:=s+b[i,j];
writeln('нв® бва®Є ь',i);
end;
if s=0 then
write(нет')
else
writeln('сумма строк начинающихся с отрицательного элемента s=',s);
writeln;
writeln('исходный массив b');
for i:=1 to n do
begin
for j:=1 to n do
write(b[i,j],' ');
writeln;
end;
readln;
begin
readln;
end;
end.
4. Результат
а) исходный массив а 1 2 3
n=3 4 5 6 S1 = 15 , S2=7 , S3=23
7 8 9
б) исходный массив b -1 2 -3
n=3 1 1 1 S = 6
-1 3 6
Вывод: Создал программы по известному алгоритму, отработал данные, хранящихся в двумерных массивах.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.