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

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

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

 
 Ответить  Открыть новую тему 
> Сортировка двумерного массива, С использованием функций
ALR
сообщение 8.12.2009 11:12
Сообщение #1





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

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


В двумерных массивах A[N* N] и В[M *M] рассортировать числа по возрастанию в каждой диагонали, параллельной главной диагонали. Числа на главной диагонали не сортировать.

Моё решение

uses crt;
const n=5; m=4;
var a:array[1..n,1..n] of integer;
b:array[1..m,1..m] of integer;
procedure create;
...
end;
procedure output;
...
end;
procedure sort;
var i, j, T: integer;
count, stage: integer;
begin
for stage := 1 to n - 2 do
begin
count := n - stage;
For i := 1 To count Do
For j := count DownTo i+1 Do
begin
if a[pred(j), pred(j) + stage]>a[j, j + stage] then
begin
T := a[pred(j), pred(j) + stage];
a[pred(j), pred(j) + stage] := a[j, j + stage];
a[j, j + stage] := T;
end;

if a[pred(j) + stage, pred(j)] < a[j + stage, j] then
begin
T := a[pred(j) + stage, pred(j)];
a[pred(j) + stage, pred(j)] := a[j + stage, j];
a[j + stage, j] := T;
end;
end;
end;
end;
begin
...
sort;
...
end.


Проблема в том, что в процедуре sort сортируется только один массив a[]
Как написать вызов и саму процедуру, чтоб передать её параметры массива(имя и размер), чтоб ей одной можно было бы сортировать оба массива.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 8.12.2009 11:15
Сообщение #2


Гость






Ты бы ссылку-то на источник давал, а то неровен час, подумают, что ты сам это сделал, а доделать такую мелочь - не можешь... dry.gif
 К началу страницы 
+ Ответить 
Гость
сообщение 12.03.2014 11:40
Сообщение #3


Гость






для передачи масива в процедуру нужно описать тип-масив и дальше пользоваться им:
type mas=array[1..10]of integer;
var a,b:mas;
.....
procedure sort(var c:mas);
.....
begin
sort(a);
sort(b);
end.
 К началу страницы 
+ Ответить 

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

 



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