Цитата(Glorya @ 4.5.2008, 13:49 ) | | поменять местами столбцы с максимальным и минимальным значением |
Это значения полученные вот тут:
Цитата(Glorya @ 4.5.2008, 13:49 ) | | вычислить произведение элементов для каждого столбца; |
?
Тогда лови:
| Код | program Project1;
const MAX = 5;
var a : array [1..MAX, 1..MAX] of integer; um : array [1..MAX] of integer; maxe, mine, tmp : integer; i, j : integer;
begin for i := 1 to MAX do begin for j := 1 to MAX do begin a[i, j] := random(100); write(a[i, j], ' '); end; writeln; end;
// заполнили массив случайными числами
for i := 1 to MAX do begin um[i] := a[i, 1]; for j := 2 to MAX do um[i] := um[i] * a[i, j]; end;
// считаем произведение
maxe := 1; mine := 1; for i := 2 to MAX do if um[i] > um[maxe] then maxe := i else if um[i] < um[mine] then mine := i;
//Считаем максимальное и минимальное значение
if maxe <> mine then for i := 1 to MAX do begin tmp := a[i, mine]; a[i, mine] := a[i, maxe]; a[i, maxe] := tmp; end;
// меняем местами столбцы
writeln('Result: '); for i := 1 to MAX do begin for j := 1 to MAX do write(a[i, j], ' '); writeln; end;
readln; end.
|
Вариант не оптимальный. Писал тут. |