44 балла! Очень прошу, хелп! Использовать подпрограммы (ввода, вывода, обрабатывающей...

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

44 балла! Очень прошу, хелп!

Использовать подпрограммы (ввода, вывода, обрабатывающей части). Дан массив целых чисел В(M,N), N,M<=10. Переставить столбцы с максимальным и минимальным значениями суммы квадратов их элементов. <br> Предмет (программирование)
PascalABC


Информатика (19 баллов) | 53 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

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 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

(194k баллов)