fork download
  1. program progname;
  2. const
  3. rows = 5;
  4. cols = 5;
  5. type
  6. TArr = array[1..rows, 1..cols] of Integer;
  7. var
  8. arr: Tarr;
  9. i, j, l, tmp: Integer;
  10. isNeg: Boolean;
  11.  
  12. procedure swap(var a, b: Integer);
  13. var
  14. tmp: Integer;
  15. begin
  16. tmp:=a;
  17. a:=b;
  18. b:=tmp;
  19. end;
  20.  
  21. begin
  22. randomize; //Заполнение рандомно матрицы и ее вывод
  23. writeln('Исходная матрица:');
  24. for i:=1 to rows do
  25. begin
  26. for j:=1 to cols do
  27. begin
  28. arr[i, j]:=random(30) - 10;
  29. write(arr[i, j]:4);
  30. end;
  31. writeln;
  32. end;
  33. writeln('Пункт 1:'); //Пункт 1
  34. for i:=1 to rows do
  35. begin
  36. isNeg:=false;
  37. for j:=1 to cols do
  38. if arr[i, j] < 0 then
  39. isNeg:=true;
  40. if isNeg then
  41. begin
  42. writeln('Строка с отрицательным элементом! Индекс ', i);
  43. break;
  44. end;
  45. end;
  46. writeln('Пункт 2'); //Пункт 2
  47. for i:=1 to rows - 1 do
  48. for j:=i + 1 to cols do
  49. if arr[i, j] < 0 then
  50. arr[i, j] := abs(arr[i, j]);
  51. for i:=1 to rows do
  52. begin
  53. for j:=1 to cols do
  54. write(arr[i, j]:4);
  55. writeln;
  56. end;
  57. writeln('Пункт 3'); //Пункт 3
  58. for i:=2 to cols do
  59. begin
  60. tmp:=arr[rows, i];
  61. j:=i - 1;
  62. while (j > 0) and (tmp < arr[rows, j]) do
  63. begin
  64. arr[rows, j + 1]:=arr[rows, j];
  65. for l:=1 to rows - 1 do
  66. swap(arr[l, j + 1], arr[l, j]);
  67. dec(j);
  68. end;
  69. arr[rows, j + 1]:=tmp;
  70. end;
  71. for i:=1 to rows do
  72. begin
  73. for j:=1 to cols do
  74. write(arr[i, j]:4);
  75. writeln;
  76. end;
  77. end.
Success #stdin #stdout 0.01s 256KB
stdin
Standard input is empty
stdout
Исходная матрица:
  19  -3  -2  -3   1
  -6  17  10   8  14
  15   5  12  -5  -9
  11   1  -9  -6   3
   3  -4  16  -2   8
Пункт 1:
Строка с отрицательным элементом! Индекс 1
Пункт 2
  19   3   2   3   1
  -6  17  10   8  14
  15   5  12   5   9
  11   1  -9  -6   3
   3  -4  16  -2   8
Пункт 3
   3   3  19   1   2
  17   8  -6  14  10
   5   5  15   9  12
   1  -6  11   3  -9
  -4  -2   3   8  16