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

5 Вариант.

Для матрицы А(4 строки, 4 столбца) вывести те столбцы, в которых есть нулевые элементы, или вывести сообщение «нет столбцов с нулями».

Для проверки наличия нулевых элементов в произвольном столбце матрицы использовать процедуру.

Program z5;

const n=4;

type matr=array [1..n,1..n] of real;

var s,k,i,j:integer;

A:matr;

Procedure nol(var k:integer;A:matr;j:integer);

var i:integer;

begin

k:=0;

for i:=1 to n do

if A[i,j]=0 then

k:=k+1;

end;

begin

for i:=1 to n do

for j:=1 to n do

readln(A[i,j]);

s:=0;

for j:=1 to n do begin

nol(k,A,j);

if k=0 then

s:=s+1

else

for i:=1 to n do

writeln(A[i,j]);

end;

if s=n then

writeln('net stolbcov s nulami');

end.

6 Вариант.

Для матрицы А(4 строки, 4 столбцов) вывести те строки, в которых есть нулевые элементы, или вывести сообщение «нет строк с нулями».

Для проверки наличия нулевых элементов в произвольной строке матрицы использовать процедуру.

Program z6;

const n=4;m=5;

type matr=array [1..n,1..m] of real;

var s,k,i,j:integer;

A:matr;

Procedure nol(var k:integer;A:matr;i:integer);

var j:integer;

begin

k:=0;

for j:=1 to m do

if A[i,j]=0 then

k:=k+1;

end;

begin

for i:=1 to n do

for j:=1 to m do

readln(A[i,j]);

s:=0;

for i:=1 to n do begin

nol(k,A,i);

if k<>0 then

for j:=1 to m do

writeln(A[i,j])

else

s:=s+1;

end;

if s=n then

writeln('net strok s nulami');

end.

7 Вариант.

Для матрицы А(5 строк, 4 столбца) определить, в какой из её половин(левой или правой) больше нулевых элементов(вывести одно из сообщений «больше в левой», «больше в правой» или «одинаково»).

Для подсчёта количества нулевых элементов в произвольной части матрицы использовать процедуру.

Program z7;

const n=5;m=4;

type matr=array [1..n,1..m] of real;

var k1,k2,i,j:integer;

A:matr;

Procedure nol(var k:integer;A:matr;l1:integer;l2:integer);

var i,j:integer;

begin

k:=0;

for i:=1 to n do

for j:=l1 to l2 do

if A[i,j]=0 then

k:=k+1;

end;

begin

for i:=1 to n do

for j:=1 to m do

readln(A[i,j]);

nol(k1,A,1,trunc(m/2));

nol(k2,A,trunc(m/2)+1,m);

if k1>k2 then

writeln('bolshe v levoi')

else

if k1=k2 then

writeln('odinakovo')

else

writeln('bolshe v pravoi');

end.

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