Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2010, 00:22   #1
zetwer
 
Регистрация: 18.06.2009
Сообщений: 4
По умолчанию Двумерный массив, сортировка по условию. Переделать решение.

Требуется небольшая помощь. Задача звучит так: "Переставить столбцы двумерного массива (5x6) в порядке возрастания суммы их элементов".

Я нашел решение задачи для строк:
const
N = 5;
M = 6;

var
a: array [0..N-1, 0..M-1] of integer;
sum: array [0..N-1] of integer; {суммы строк}
temp: array [0..M-1] of integer;
i: integer;
j: integer;
k: integer;
begin
{инициалицируем массив случайными числами}
for i:=0 to N-1 do
for j:=0 to M-1 do
a[i, j] := random(10);


{подсчитываем суммы строк}
for i:=0 to N-1 do begin
sum[i] := 0; {сначала сумма равна нулю}
for j:=0 to M-1 do sum[i] := sum[i] + a[i, j];
end;

{выводим на экран начальные данные}
for i:=0 to N-1 do begin
for j:=0 to M-1 do write(a[i, j]:3);
writeln(': ', sum[i]:3);
end;
writeln;

{сортируем массив по суммам методом пузырька}
for i:=0 to N-1-1 do begin
for j:=i+1 to N-1 do begin
if sum[j] < sum[i] then begin
{меняем местами строки посредством temp - наш пузырёк}
for k:=0 to M-1 do temp[k] := a[i, k];
for k:=0 to M-1 do a[i, k] := a[j, k];
for k:=0 to M-1 do a[j, k] := temp[k];
{меняем местами суммы в массиве sum посредством k}
k := sum[i];
sum[i] := sum[j];
sum[j] := k;
end;
end;
end;

{выводим на экран результат}
for i:=0 to N-1 do begin
for j:=0 to M-1 do write(a[i, j]:3);
writeln(': ', sum[i]:3);
end;
writeln;
end.

Как его переделать, чтобы переставлялись столбцы, а не строки? Сам дальше нахождения суммы столбцов не ушел.

Всем заранее спасибо!
zetwer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
паскаль,одномерный массив,сортировка вставка,сортировка убывания,от максимального до конца немозг Помощь студентам 11 06.02.2010 21:57
переделать массив из статического в динамический Saka Помощь студентам 13 21.12.2009 21:01
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40
сортировка полей DBGrid по условию GhostBZ БД в Delphi 3 28.08.2009 12:06