Сортировка массива! |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Сортировка массива! |
NeWT |
Сообщение
#1
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Репутация: 0 |
Имеется задача:
Составить главную программу, в которой вводится размерность матрицы и ее элементы, обращение к процедуре сортировки вектора и вывод отсортированной матрицы. Процедура сортировки должна быть обязательно с параметрами (передается размерность вектора и сам вектор) и оформлена в виде модуля. Отсортировать в порядке убывания диагонали матрицы, параллельные побочной, методом линейный выбор с обменом. Третий день сижу, ну всё ни как не получается, очень прошу помочь (я в этом деле пока новичок) :p2: |
volvo |
Сообщение
#2
|
Гость |
NeWT
Что именно не получается? Описание процедуры сортировки? Сама сортировка? Выложи то, что сделано, поможем доделать. Сообщение отредактировано: volvo - |
NeWT |
Сообщение
#3
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Репутация: 0 |
Цитата(volvo @ 8.12.04 15:18) NeWT Что именно не получается? Описание процедуры сортировки? Сама сортировка? Выложи то, что сделано, поможем доделать. Мне не понятна - сама процедура сортировки, как мне перемещаться по этим самым диагоналям, которые параллельные побочной (при этом, исключая саму побочную диагональ)!!! Заранее благодарен... |
volvo |
Сообщение
#4
|
Гость |
NeWT
Я бы сделал так: Код Const n = 4; a: array[1 .. n, 1 .. n] of integer = ((1,2,3,4),(5,6,7,8),(9,10,11,12),(13,14,15,16)); Type TVector = array[1 .. n] of integer; Procedure Sort(Var v: TVector; n: integer); Begin End; var Vect: TVector; i, j: integer; begin for j := 2 to n - 1 do begin { Выше побочной } for i := 1 to j do Vect[i] := a[j - i + 1, i]; Sort(Vect, j); for i := 1 to j do a[j - i + 1, i] := Vect[i]; { Ниже побочной } for i := 1 to j do Vect[i] := a[n - i + 1, n - (j - i)]; Sort(Vect, j); for i := 1 to j do a[n - i + 1, n - (j - i)] := Vect[i]; end; end. Единственное, что осталось доделать - саму функцию сортировки: Procedure Sort(Var v: TVector; n: integer); (которая должна сортировать N целых чисел, переданных ей через массив V)... Посмотри в ФАКе, по-моему, этот способ сортировки там есть... Сообщение отредактировано: volvo - |
NeWT |
Сообщение
#5
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Репутация: 0 |
Спасибо ОГРОМНОЕ!!! Ты мне очень помог...думаю теперь всё получится!!!!
|
Текстовая версия | 11.01.2025 22:47 |