Задача с матрицей - Pascal (4022)

Узнай цену своей работы

Формулировка задачи:

С помощью датчика случайных чисел сформировать двумерный массив N*N и упорядочить(переставить) строки матрицы по неубыванию значений наименьших элементов строк.

Решение задачи: «Задача с матрицей»

textual
Листинг программы
const n=5;
type mas=array[1..n] of integer;
     matr=array[1..n] of mas;
var a:matr;
function min_str(str:mas):integer;
var i,min:integer;
begin
 min:=str[1];
 for i:=2 to n do if str[i]<min then min:=str[i];
 min_str:=min
end;
procedure vv_mas(var x:matr;s:string;f:boolean);
var i,j:integer;
begin
 writeln(s);
 for i:=1 to n do 
  begin
   for j:=1 to n do
    begin
     if f then a[i,j]:=-10+random(41);
     write(a[i,j]:4)
    end;
   writeln('   |',min_str(x[i]));
  end 
end;
procedure sort(var x:matr);
 procedure zam(var x1:matr;s1,s2:integer);
 var tmp:mas;
 begin
  tmp:=x1[s1];x1[s1]:=x1[s2];x1[s2]:=tmp
 end;
var i,j:integer;
begin
 for i:=1 to n-1 do
  for j:=1 to n-i do
   if min_str(x[j])>min_str(x[j+1])then zam(x,j,j+1)
end;
begin
 vv_mas(a,'A:',true);
 sort(a);
 vv_mas(a,'A'':',false);
end.

Оцени полезность:

11   голосов , оценка 4.091 из 5
Похожие ответы