Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/2: Рейтинг темы: голосов - 2, средняя оценка - 5.00
LudchikLuk
15 / 15 / 5
Регистрация: 26.11.2008
Сообщений: 94
1

Как указать нужный мне параметр в процедуре?

21.02.2010, 16:57. Просмотров 455. Ответов 1
Метки нет (Все метки)

У меня програма для статистического критерия. У в ней есть сортировка Хоара. Процедура для масива записей, где сортировка происходит по одному из полей. Можна ли указать в параметрах поле (х, у), по которому сортируются записи, чтобы 2 раза не переписывать ту же процедуру?

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
Program Ex13;
uses crt;
type vub=record
     x: real;
     y: real;
     rx: real;
     ry: real;
     dr: real; end;
ar=array[1..20] of vub;
var  i,j,h,k,n: integer;
     s,t_a,t_b,Rs: real;
     a: ar;
     o:text;
   
procedure quick1(left,right: byte; var a:ar);
 var l,r:byte; mid:vub;
begin
  l:=left; r:=right; mid:=a[l];
  repeat
      while(a[r].x>=mid.x)and(l<r) do dec(r);
       a[l]:=a[r]; a[r]:=mid;
      while(a[l].x<=mid.x)and(l<r) do inc(l);
       a[r]:=a[l]; a[l]:=mid;
  until l=r; a[l]:=mid;
 if left<l-1 then quick1(left,l-1,a);
 if l+1<right then quick1(l+1,right,a);
end;
 
procedure quick2(left,right: byte; var a:ar);
 var l,r:byte; mid:vub;
begin
  l:=left; r:=right; mid:=a[l];
  repeat
      while(a[r].y>=mid.y)and(l<r) do dec(r);
       a[l]:=a[r]; a[r]:=mid;
      while(a[l].y<=mid.y)and(l<r) do inc(l);
       a[r]:=a[l]; a[l]:=mid;
  until l=r; a[l]:=mid;
 if left<l-1 then quick2(left,l-1,a);
 if l+1<right then quick2(l+1,right,a);
end;
 
begin 
 
assign(o,'o.DAT');reset(o);
 
i:=0;
REPEAT inc(i); read(o,a[i].x); write(a[i].x:3:1,'  ') UNTIL seekeoln(o);
writeln; i:=0;
REPEAT inc(i); read(o,a[i].y); write(a[i].y:3:1,'  ') UNTIL seekeoln(o);
writeln;
n:=i; close(o);
...
 
for i:=1 to n do quick1(1,n,a);
...
for i:=1 to n do quick2(1,n,a);
...
end.
Я как не пытаюсь, у меня выходит ошибка.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2010, 16:57
Ответы с готовыми решениями:

Передать параметр процедуре
есть процедура procedure load(fileName : string); begin ... end; можно ей передать параметр,...

В процедуре привести нетипизированный параметр к удобному для программиста типу
А именно : В процедуре привести нетипизированный параметр к удобному для программиста типу( и...

Параметр, переданный рекурсивной процедуре - программа выдает неверный ответ
написал программный код на паскеле, где процедура вызывает саму себя. проблема в том, что в новой...

Как найти в текстовом файле нужный параметр
Добрый день. Мне надо реализовать одну программку, но с с++ я знаком слабо. У меня есть несколько...

Как сохранить базу в нужный мне каталог?
Здравствуйте. Создал базу данных в РЕМ или pgAdmin. Как я могу сохранить эту базу данных в нужный...

1
Puporev
Модератор
56610 / 43293 / 29932
Регистрация: 18.05.2008
Сообщений: 102,999
21.02.2010, 17:38 2
Цитата Сообщение от LudchikLuk Посмотреть сообщение
Можна ли указать в параметрах поле (х, у), по которому сортируются записи, чтобы 2 раза не переписывать ту же процедуру?
Насколько я знаю, нет. Поле записи не может быть параметром отдельно от всей записи. Поэтому сортировку по каждому полю придется писать отдельно.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.02.2010, 17:38

Как заменить, перезаписать нужный мне байт в файле?
Здравия всем! В общем, дело такое, есть файл с 8 байтами, первый отвечает за тип, второй - за...

Как через view Listbox передать параметр хранимой процедуре?
Не могу никак сообразить как передать параметр хранимой процедуре через listbox. Суть такая, что в...

Python + selenium как отправить нужный мне комментарий в youtube?
Всем привет! Нужна ваша помощь. В общем мне нужно отравлять комментарии в yotube(под разными...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru