Примеры задач

Двумерные массивы


Определить, есть ли в данном массиве строка, состоящая только из положительных элементов.

Методика решения

Используемые переменные:
а – двумерный массив;
n,m – размерность массива;
I,j – индексы элементов массива;
Z – количество положительных элементов строки;
Flag – логическая переменная.

В цикле формируем случайным образом элементы массива и выводим полученный массив на экран.
Далее, просматриваем строки массива с помощью цикла и подсчитываем количество положительных элементов в каждой строке. Для этого сравниваем каждый элемент строки с нулём. Если элемент положительный, то переменную z увеличиваем на 1 (перед просмотром каждой строки переменную z обнуляем). Если после просмотра строки z равно количеству элементов строки ( z=m ) ,то есть все элементы строки положительные, то логической переменной присваиваем значение true .
Выводим на экран результат. Если flag имеет значение true , то выводим что в массиве есть строка с требуемым условием, в противном случае – такой строки нет.

Листинг программы

Program ex3_4;
Uses Crt;
Const n=5; m=5;
Type mas=array[1..n,1..m] of integer;
Var a:mas;
i,j,z:integer; flag:boolean;
Begin
clrscr;
randomize;
For i:=1 to n Do
For j:=1 to m Do
a[i,j]:= -25+random(51);
For i:=1 to n Do
Begin
For j:=1 to m Do Write(a[i,j]:4);
WriteLn;
End;
For i:=1 To n Do
begin
z:=0;
For j:=1 To m Do
If (a[i,j]>0) Then z:=z+1;
if z=m then flag:=true;
end;
if flag then Writeln('есть строка с требуемым условием')
else Writeln('нет строки с требуемым условием');
Readkey;
End.

Запустить программу






Назад