Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Задача на массивы

Автор: dog 2.05.2010 20:04

Дан двумерный массив.

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

Заготовка:


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 2.05.2010 21:06

Цитата
Заготовка:
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;