написать программку для решения последующей задачки. В двумерном массиве, состоящем из

Написать программку для решения последующей задачки. В двумерном массиве,
состоящем из целочисленных частей, поменять местами в каждой строке
наивеличайший и 1-ый не принадлежащий промежутку (a, b) элементы.
(паскаль)

Задать свой вопрос
1 ответ
Const
  m = 5; n = 10; a = 20; b = 80;
// Массив имеет размер mxn, интервал задан границами [a;b]
var
  i, j, max, outint, T, nT, nI: integer;
  Mas: array[1..m, 1..n] of integer;

begin
  Randomize;
  for i := 1 to m do
    for j := 1 to n do
      Mas[i, j] := Random(100);
  writeln('Исходный массив');
  for i := 1 to m do
  begin
    for j := 1 to n do
      write(Mas[i, j], ' ');
    writeln;
  end;
  Mas[i, j] := Random(100);
  for i := 1 to m do
  begin
    max := -1; // все элементы полагаются неотрицательными
    nI:=0;
    for j := 1 to n do
    begin
      T := Mas[i, j];
      if T gt; max then begin
        max := T; nT := j
      end;
      if nI = 0 then
        if (T lt;= a) or (T gt;= b) then nI := j
    end;
    if nI gt; 0 then begin
      T := Mas[i, nT]; Mas[i, nT] := Mas[i, nI]; Mas[i, nI] := T
    end
  end;
  writeln('Результирующий массив');
  for i := 1 to m do
  begin
    for j := 1 to n do
      write(Mas[i, j], ' ');
    writeln;
  end
end.

Пример выполнения программки в PascalABC.NET
Исходный массив
34 56 89 27 71 0 64 89 80 36
15 59 95 54 37 15 81 64 48 39
89 42 71 55 97 80 48 65 98 55
85 27 45 39 37 74 98 7 7 31
28 56 14 3 45 39 98 19 93 4
Результирующий массив
34 56 89 27 71 0 64 89 80 36
95 59 15 54 37 15 81 64 48 39
98 42 71 55 97 80 48 65 89 55
98 27 45 39 37 74 85 7 7 31
28 56 98 3 45 39 14 19 93 55


, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт