Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2019
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.60 KB | None | 0 0
  1. const L = 100;
  2. type mas1 = array[0..L-1] of integer;
  3.      mas2 = array[0..L-1] of mas1;
  4.  
  5. procedure swap(var a, b : integer);
  6. var t : integer;
  7. begin
  8.   t := a;
  9.   a := b;
  10.   b := t;
  11. end;
  12.  
  13. procedure sort(var a, ind : mas1; n :integer);
  14. var min, x : integer;
  15. begin
  16.   for var i := 0 to n-1 do
  17.   begin
  18.     min := 32000;
  19.     for var j := i to n-1 do
  20.     begin
  21.       if min > a[j] then begin min := a[j]; x := j; end;
  22.     end;
  23.     if min <> 32000 then begin swap(a[i], a[x]); swap(ind[i], ind[x]) end;
  24.   end;
  25. end;
  26.  
  27.  
  28. var a : mas2;
  29.     ind : mas1;
  30.     m, n, cod1, cod2 :integer;
  31.     f : boolean;
  32.     s1, s2, s : string[255];
  33. begin
  34.   writeln('Введите размерность: ');
  35.   read(s);
  36.   f := false;
  37.   for var i := 1 to length(s) do
  38.   begin
  39.     if s[i] = ' ' then f := true
  40.     else
  41.     begin
  42.     if not f then s1 := s1 + s[i]
  43.     else s2 := s2 + s[i];
  44.     end;
  45.   end;
  46.   val(s1, n, cod1);
  47.   val(s2, m, cod2);
  48.   if (m >= 1) and (n >= 1) and ((cod1 = 0) and (cod2 = 0)) then
  49.   begin
  50.     writeln('');
  51.     writeln('Введите элементы матрицы: ');
  52.     for var k := 0 to m-1 do ind[k] := k;
  53.     for var i := 0 to n-1 do
  54.       for var j := 0 to m-1 do read(a[i][j]);
  55.  
  56.     sort(a[0], ind, m);
  57.  
  58.     writeln('');
  59.     writeln('Результат обработки:');
  60.     for var j := 0 to m-1 do write(a[0][j], ' ');
  61.     writeln('');
  62.     for var i := 1 to n-1 do
  63.     begin
  64.       for var j := 0 to m-1 do write(a[i][ind[j]], ' ');
  65.       writeln('');
  66.     end;
  67.     end
  68.   else
  69.     writeln('Введите правильную размерность');
  70. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement