IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Сортировка массива!
NeWT
сообщение 8.12.2004 1:51
Сообщение #1





Группа: Пользователи
Сообщений: 8
Пол: Мужской

Репутация: -  0  +


Имеется задача:
Составить главную программу, в которой вводится размерность матрицы и
ее элементы, обращение к процедуре сортировки вектора и вывод отсортированной матрицы. Процедура сортировки должна быть обязательно с параметрами (передается размерность вектора и сам вектор) и оформлена в виде модуля. Отсортировать в порядке убывания диагонали матрицы, параллельные побочной, методом линейный выбор с обменом.

Третий день сижу, ну всё ни как не получается, очень прошу помочь (я в этом деле пока новичок) :p2:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 8.12.2004 21:25
Сообщение #2


Гость






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 - 13.12.2004 22:30
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 27.07.2025 11:09
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"