Отсортировать нечетные элементы четных строк двумерного массива- Pascal(Паскаль)

const
  n = 5;

var
  a: array [1 .. n, 1 .. n] of integer;
  i, j, buffer, min, k: integer;

begin
  for i := 1 to n do
  begin
    for j := 1 to n do
    begin
      a[i, j] := random(40);
      write('  ', a[i, j]:3);
    end;
    writeln();
  end;
  writeln('--------');

  for i := 2 to n do
    if i mod 2 = 0 then
      for j := 1 to n do
      begin
        min := j;
        while (a[i, min] mod 2 = 0) and (min < 10) do
          inc(min);
        if a[i, min] mod 2 = 0 then
          break;
        for k := min to 10 do
          if (a[i, k] < a[i, min]) and (a[i, k] mod 2 > 0) then
            min := k;
        buffer := a[i, j];
        a[i, j] := a[i, min];
        a[i, min] := buffer;
      end;

  writeln('--------');

  for i := 1 to n do
  begin
    for j := 1 to n do
    begin
      write('  ', a[i, j]:3);
    end;
    writeln();
  end;

end.

Результат работы программы

Leave a Comment

− 8 = 1