сортировка столбцов |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
сортировка столбцов |
FosteR |
Сообщение
#1
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: Alexander Репутация: 0 |
Прошу помочь с составлением алгоритма по сортировке столбцов в массиве mxn по возрастанию сумм их элементов.получилось реализовать только сортировку в двух столбцах...
|
Айра |
Сообщение
#2
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
Выкладывай, что сделал - дополним или исправим))
|
FosteR |
Сообщение
#3
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: Alexander Репутация: 0 |
Вот собсно прога,иногда даже сортирует некоторые столбцы правельно...
Код program pop; uses crt; var B,C:array[1..10,1..10] of integer; i,j,m,z,n,sum,k,d:integer; E,T:array [1..10] of integer; begin randomize; ClrScr;{ну вводим кол-во строк и столбцов в массиве} Writeln('wwedite kol-vo strok'); readln(m); Writeln('vvedite kol-vo stolbcov'); readln(n); {заполняем рандомными числами} for i:=1 to m do begin writeln; for j:=1 to n do begin b[i,j]:=-10+random(10-(-10)); write(' ',b[i,j],' '); end;end; {находим сумму столбцов и записываем их в массив Т{j}} writeln; writeln('summa stolbcov'); for j:=1 to n do begin for i:=1 to m do begin sum:=sum+b[i,j];end;write(' ',sum,' ');T[j]:=sum; sum:=0; end; {вот собственно и сама сортировка(на всякий случай сделал чтоб повторял цикл 25 раз} while z<25 do begin for k:=1 to n do begin if t[k]>t[k+1] then begin for j:=1 to n-1 do begin for i:=1 to m do begin d:=b[i,j]; b[i,j]:=b[i,j+1]; b[i,j+1]:=d; d:=0; end;end;;end;end;z:=z+1;end; {ну и распечатываем отсортированный массив} writeln; for i:=1 to m do begin writeln; for j:=1 to n do begin write(' ',b[i,j],' '); end; end; readln; end. Сообщение отредактировано: FosteR - |
FosteR |
Сообщение
#4
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: Alexander Репутация: 0 |
Ну что, неужели никаких мыслей?
|
Айра |
Сообщение
#5
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
Есть одна мысль: можешь привести прогу к номарльному виду и воспользоваться тегами?
|
Текстовая версия | 29.03.2024 21:04 |