Borland Pascal 7.01 uses Crt; const nn=20; mm=20; var i,j,k,n,m:integer; c1,c2:string; c:array[1..mm,1..nn] of integer; a:array[1..mm*nn] of string[9]; begin ClrScr; { Инициализация } Randomize; Write('Введите количество строк и столбцов массива: '); Read(m,n); Writeln('*** Исходный массив ***'); for i:=1 to m do begin for j:=1 to n do begin c[i,j]:=Random(51)-25; Write(c[i,j]:4) end; Writeln end; { Формирование одномерного массива } k:=0; for i:=1 to m do begin for j:=1 to n do if c[i,j]>0 then begin Inc(k); Str(i,c1); Str(j,c2); a[k]:='['+c1+','+c2+']' end; a[k]:=a[k]+#13+#10 end; { Вывод результатов } Writeln('*** Компоненты массива с положительными членами ***'); for i:=1 to k do if a[i][Length(a[i])]=#10 then Write(a[i]) else Write(a[i],' '); Writeln; Readkey end.
//Я сбрасывал ему этот код в лс. Думаю, я имею право на эти . var c:array[1..10,1..10] of integer; ar:array of string; i,s,j:integer; begin; randomize; for i:=1 to 10 do begin; for j:=1 to 10 do begin; c[i,j]:=random(-10,10); if c[i,j]>0 then begin; inc(s); setlength(ar,s+1); ar[s]:=inttostr(i)+','+inttostr(j); end; end; end; writeln('Matrix:'); for i:=1 to 10 do begin; writeln; for j:=1 to 10 do write(c[i,j]:5); end; writeln; writeln('New array:'); for i:=1 to s do writeln(ar[i]); end.
uses Crt;
const
nn=20;
mm=20;
var
i,j,k,n,m:integer;
c1,c2:string;
c:array[1..mm,1..nn] of integer;
a:array[1..mm*nn] of string[9];
begin
ClrScr;
{ Инициализация }
Randomize;
Write('Введите количество строк и столбцов массива: '); Read(m,n);
Writeln('*** Исходный массив ***');
for i:=1 to m do begin
for j:=1 to n do begin
c[i,j]:=Random(51)-25;
Write(c[i,j]:4)
end;
Writeln
end;
{ Формирование одномерного массива }
k:=0;
for i:=1 to m do begin
for j:=1 to n do
if c[i,j]>0 then begin
Inc(k);
Str(i,c1); Str(j,c2);
a[k]:='['+c1+','+c2+']'
end;
a[k]:=a[k]+#13+#10
end;
{ Вывод результатов }
Writeln('*** Компоненты массива с положительными членами ***');
for i:=1 to k do
if a[i][Length(a[i])]=#10 then Write(a[i])
else Write(a[i],' ');
Writeln;
Readkey
end.
Тестовое решение:
Введите количество строк и столбцов массива: 8 10
*** Исходный массив ***
25 -22 25 5 -11 -1 -10 -6 -19 -9
24 -19 20 -10 -21 10 -19 -14 -6 14
-25 23 -16 17 -22 -14 -20 -16 -8 -17
-15 25 -24 6 -7 15 -11 14 -20 25
8 12 -17 -21 -3 23 -5 9 25 14
23 6 1 -10 5 9 -19 5 -20 23
-24 13 1 -8 -11 -12 15 -14 -8 -16
13 -18 -2 -8 1 16 -2 -23 -11 -12
*** Компоненты массива с положительными членами ***
[1,1] [1,3] [1,4]
[2,1] [2,3] [2,6] [2,10]
[3,2] [3,4]
[4,2] [4,4] [4,6] [4,8] [4,10]
[5,1] [5,2] [5,6] [5,8] [5,9] [5,10]
[6,1] [6,2] [6,3] [6,5] [6,6] [6,8] [6,10]
[7,2] [7,3] [7,7]
[8,1] [8,5] [8,6]
var c:array[1..10,1..10] of integer;
ar:array of string;
i,s,j:integer;
begin;
randomize;
for i:=1 to 10 do
begin;
for j:=1 to 10 do
begin;
c[i,j]:=random(-10,10);
if c[i,j]>0 then
begin;
inc(s);
setlength(ar,s+1);
ar[s]:=inttostr(i)+','+inttostr(j);
end;
end;
end;
writeln('Matrix:');
for i:=1 to 10 do
begin;
writeln;
for j:=1 to 10 do
write(c[i,j]:5);
end;
writeln;
writeln('New array:');
for i:=1 to s do
writeln(ar[i]);
end.