хелп! использовать подпрограммы (ввода, вывода, обрабатывающей части). дан массив целых чисел в(m,n), n,m< =10. переставить столбцы с максимальным и минимальным значениями суммы квадратов их элементов. предмет (программирование) pascalabc

89224717238 89224717238    1   13.08.2019 11:50    1

Ответы
yanastepina83 yanastepina83  04.10.2020 15:50
Const m=5; n=6;
type arr=array[1..m,1..n] of integer;
procedure p1(var a:arr);
var i,j:integer;
begin
for i:=1 to m do
 for j:=1 to n do a[i,j]:=random(51);
end;
procedure p2(var a:arr);
var i,j:integer;
begin
for i:=1 to m do
 begin
 for j:=1 to n do write(a[i,j]:4);
 writeln;
 end;
end;
procedure p3(var a:arr);
var i,j,s,max,min,jmax,jmin,c:integer;
begin
max:=0; min:=m*50*50;
for j:=1 to n do
 begin
 s:=0;
 for i:=1 to m do s:=s+a[i,j]*a[i,j];
 if s>max then begin max:=s; jmax:=j; end;
 if s<min then begin min:=s; jmin:=j; end;
 end;
writeln('jmax = ',jmax,' jmin = ',jmin); 
for i:=1 to m do
 begin
  c:=a[i,jmax]; a[i,jmax]:=a[i,jmin]; a[i,jmin]:=c;
 end;
end;

var 
b:arr;
begin
Randomize;
p1(b);
writeln('Исходный массив:');
p2(b);
p3(b);
writeln('Полученный массив:');
p2(b);
end.

Пример:
Исходный массив:
  34  47  38  31  18  19
  12   0  43  30   2  33
  20  49  43  16  45  14
  31  32  29  30  50  26
  44  32  30  50   1  23
jmax = 3 jmin = 6
Полученный массив:
  34  47  19  31  18  38
  12   0  33  30   2  43
  20  49  14  16  45  43
  31  32  26  30  50  29
  44  32  23  50   1  30
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика