Дан двумерный массив С,сформировать линейный массив,содержащий номера положительных элементов исходного массива

Дан двумерный массив С,сформировать линейный массив,содержащий номера положительных элементов исходного массива
Гость
Ответ(ы) на вопрос:
Гость
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. Тестовое решение: Введите количество строк и столбцов массива: 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.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы