Помощь - Поиск - Пользователи - Календарь
Полная версия: Задача на массивы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
dog
Дан двумерный массив.

Расположить столбцы в порядке возрастания количества нечетных элементов, стоящих на четных строках.

Заготовка:

PROGRAM PRP2;
const
n=5;
m=5;
var
   a:array[1..n,1..m] of integer;
   i,j:integer;
BEGIN
     {заполняем и выводим матрицу}
     writeln('Исходная матрица');
     for i:=1 to n do
     begin
          for j:=1 to m do
          begin
               a[i,j]:=random(30);
               write(a[i,j],' ');
          end;
          writeln;
     end;

     {основной алгоритм}





     {выводим матрицу}
     writeln('Полученная матрица');
     for i:=1 to n do
     begin
          for j:=1 to m do
          write(a[i,j],' ');
          writeln;
     end;
END.

volvo
Цитата
Заготовка:
lol.gif

Ну, вот основной алгоритм... И что тебе это дало? Его ж еще понять надо...
for j := 1 to m do
begin
  min := n + 1;
  for k := j to m do
  begin
    count := 0;
    for i := 1 to n do
      if (a[i, k] mod 2 = 1) and (i mod 2 = 0) then inc(count);

    if count < min then
    begin
      min := count;
      row := k;
    end;
  end;

  if row <> j then
    for i := 1 to n do
    begin
      T := a[i, row]; a[i, row] := a[i, j]; a[i, j] := T;
    end;
end;

Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.