fork download
  1. program lab20;
  2. const
  3. Nmax = 10;
  4. type
  5. arra = array [1 .. Nmax] of integer;
  6. mtri = array [1 .. Nmax] of arra;
  7. var
  8. arrOfMax, arrOfIndex: arra;
  9. matr: mtri;
  10. maxOfMatr, i, j: integer;
  11. {max и index передаём по ссылке, arr - по константной ссылке}
  12. procedure findMaxAndIndex(const arr: arra; var max, index: integer);
  13. begin
  14. var i : integer;
  15. max := arr[1];
  16. for i := 2 to Nmax do
  17. begin
  18. if max < arr[i] then
  19. begin
  20. max := arr[i];
  21. index := i;
  22. end;
  23. end;
  24. end;
  25. begin
  26. {Заполняем двумерный массив}
  27. Randomize;
  28. for i := 1 to Nmax do
  29. begin
  30. for j := 1 to Nmax do
  31. matr[i, j] := random(50);
  32. end;
  33. {Выводим двумерный массив}
  34. for i := 1 to Nmax do
  35. begin
  36. for j := 1 to Nmax do
  37. begin
  38. Write(matr[i, j], ' ');
  39. end;
  40. Writeln;
  41. end;
  42. {Для каждой строки найдём максимальный элемент и соответствующий индекс}
  43. {Занесём максимальные элементы в отдельный массив arrOfMax}
  44. {А соответствующие индексы в отдельный массив arrOfIndex}
  45. for i := 1 to Nmax do
  46. begin
  47. Writeln("i = ", i, " Vals = ",arrOfMax[i], " ",arrOfIndex[i]);
  48. findMaxAndIndex(matr[i], arrOfMax[i], arrOfIndex[i]);
  49. Writeln("i = ", i, " Vals = ",arrOfMax[i], " ",arrOfIndex[i]);
  50. end;
  51.  
  52. {Выводим arrOfMax}
  53. Writeln('Массив arrOfMax:');
  54. for i := 1 to Nmax do
  55. Write(arrOfMax[i], ' ');
  56. Writeln;
  57. {Выводим arrOfIndex}
  58. Writeln('Массив arrOfIndex:');
  59. for i := 1 to Nmax do
  60. Write(arrOfIndex[i], ' ');
  61. Writeln;
  62. {Находим максимальный элемент матрицы}
  63. maxOfMatr := arrOfMax[1];
  64. for i := 2 to Nmax do
  65. begin
  66. if maxOfMatr < arrOfMax[i] then
  67. maxOfMatr := arrOfMax[i];
  68. end;
  69. {Выводим максимальный элемент}
  70. Write('Максимальный элемент матрицы: ', maxOfMatr);
  71. end.
  72.  
Success #stdin #stdout 0.01s 5532KB
stdin
Standard input is empty
stdout
23 24 28 30 24 15 24 10 44 4 
35 26 41 14 4 10 30 40 12 1 
14 38 38 9 19 6 8 14 43 27 
35 20 14 31 23 0 43 47 25 5 
35 0 28 31 46 27 13 19 34 19 
27 26 4 45 24 22 2 2 8 38 
27 1 40 27 16 14 8 7 19 9 
26 30 27 12 21 46 34 7 32 0 
14 31 10 21 41 7 9 6 19 40 
17 20 32 48 9 20 41 16 47 31 
i = 1 Vals = 0  0
i = 1 Vals = 44  9
i = 2 Vals = 0  0
i = 2 Vals = 41  3
i = 3 Vals = 0  0
i = 3 Vals = 43  9
i = 4 Vals = 0  0
i = 4 Vals = 47  8
i = 5 Vals = 0  0
i = 5 Vals = 46  5
i = 6 Vals = 0  0
i = 6 Vals = 45  4
i = 7 Vals = 0  0
i = 7 Vals = 40  3
i = 8 Vals = 0  0
i = 8 Vals = 46  6
i = 9 Vals = 0  0
i = 9 Vals = 41  5
i = 10 Vals = 0  0
i = 10 Vals = 48  4
Массив arrOfMax:
44 41 43 47 46 45 40 46 41 48 
Массив arrOfIndex:
9 3 9 8 5 4 3 6 5 4 
Максимальный элемент матрицы: 48