В двумерном массиве 5×5 целых элементов (** интервале [-10,10]) найдите строку, в которой...

0 голосов
102 просмотров

В двумерном массиве 5×5 целых элементов (на интервале [-10,10]) найдите строку, в которой находится наибольшее количество отрицательных элементов.


Информатика (12 баллов) | 102 просмотров
0

Что делать если несколько строк с равным количеством отрицательных элементов?

0

Ну надо ведь найти где их наибольшее кол-во

0

Если несколько таких строк, берем первую из них, раз не сказано иного

Дано ответов: 2
0 голосов

begin

 var a := MatrRandom(5, 5, -10, 10);

 a.Println;

 var k :=

     a.Rows  // выбрать строки

     .Select(row -> row.Count(p -> p < 0))  // кол-во отриц.

     .ToArray  // записать в массив

     .IndexMax; // найти индекс максимального значения

 Print('Максимум отрицательных в строке номер', k + 1)    

end.


image
(1.6k баллов)
0 голосов

Ответ:

const n=5;

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

i,j,k,max:integer;

begin

for i:= 1 to n do

begin

for j:=1 to n do

begin

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

write(a[i,j]:5)

end;

writeln;

end;

max:=0;

for i:= 1 to n do

begin

k:=0;

for j:=1 to n do if a[i,j]

if k>max then max:=k

end;

if max=0 then writeln ('Нет строк с отрицательными элементами')

else

begin

for i:= 1 to n do

begin

k:=0;

for j:=1 to n do if a[i,j]

if k=max then writeln ('Строка, в которой находится наибольшее количество отрицательных элементов ',i)

end

end

end.

(2.2k баллов)