Программисты, ! pascal abc или pascalabc. net. дан массив размером n×n, элементы которого целые числа. для каждого столбца найти первый положительный элемент и записать данные в новый массив. при решении использовать двумерный массив.

goverdovskay123 goverdovskay123    2   01.10.2019 00:30    1

Ответы
Книга086 Книга086  21.08.2020 19:26
PascalABC.NET 3.4.2, сборка 1847 от 28.10.2018Внимание! Если программа не работает, обновите версию!

begin

 var n := ReadInteger('Количество строк/столбцов в массиве:');

 Writeln('*** Исходный массив ***');

 var a := MatrRandom(n, n, -99, 99);

 a.Println(4); Writeln(4 * a.ColCount * '-');

 var b := a.Cols.Select(row -> row.Where(t -> t > 0).First).ToArray;

 b.Println

end.


Программисты, ! pascal abc или pascalabc. net. дан массив размером n×n, элементы которого целые числ
ПОКАЗАТЬ ОТВЕТЫ
супер567890 супер567890  21.08.2020 19:26

label next;

var a: array of array of integer;

b: array of integer;

i,j,n: integer;

begin

write('Введите  N: ');

readln(n);

setlength(a,n);

setlength(b,n);

for i:=0 to n-1 do setlength(a[i],n);

for i:=0 to n-1 do

for j:=0 to n-1 do a[i,j]:=60-random(100);

writeln('Полученный массив: ');

for i:=0 to n-1 do begin writeln;

for j:=0 to n-1 do write(a[i,j],' ');

end;

i:=0;

j:=0;

while (i<n) do begin

while (j<n) do begin

if (a[i,j]>0) then begin

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

j:=0;

goto next;

end else inc(j);

end;

next: inc(i);

end;

writeln;

writeln('Отобранные данные: ');

for i:=0 to n-1 do write(b[i],' ');

readln;

end.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика