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

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

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

> разделить список
сообщение
Сообщение #1


Гость






Разделить упорядоченный список на два по отношению к заданному ключу: ( < и >= ) и отпечатать полученные списки.
Вот как я сделала, но опять же не работает:


PROCEDURE DIVIDE (FIRST2,FIRST3:EL);
TYPE
MAS1=ARRAY[1..100] OF INTEGER;
TMAS1=^MAS1;
MAS2=ARRAY[1..100] OF STRING;
TMAS2=^MAS2;
VAR
Z1,Z3:TMAS1;
Z2,Z4: TMAS2;
OK: BOOLEAN;
X,K1,K2: INTEGER;
R: EL;
BEGIN
NEW(Z1);
NEW(Z2);
print;
writeln ('Vvedite znachenie kluchevogo priznaka');
readln(x);
r:= first;
ok:= true;
while (r<>nil) and ok do
if r^.inf1=x then begin
q:=r ;
ok:= false;
end
else r:=r^.Next;
if ok=true
then begin
writeln (' takogo el net' );
Exit;
end;
P:=FIRST;
K1:=0; K2:=0;
WHILE P<> NIL
DO BEGIN
IF P^.INF1<Q^.INF1
THEN BEGIN
INC(K1);
Z1^[K1]:=P^.INF1;
Z2^[K1]:=P^.INF2;
END
ELSE BEGIN
INC(K2);
Z3^[K2]:=P^.INF1;
Z4^[K2]:=P^.INF2;
END;
END;
Q:=NIL;
FIRST1:=NIL;
FOR I:=1 TO K1 DO
BEGIN
new(p);
if first1=nil then first1:=p;
p^.inf1:=Z1^[i];
p^.inf2:=Z2^[i];
if q<>nil then q^.next:=p;
q:=p;
end;
p^.next:=nil;
print;
WRITELN('NAGMITE ENTER');
READLN;
Q:=NIL;
FIRST2:=NIL;
FOR I:=1 TO K2 DO
BEGIN
new(p);
if first1=nil then first2:=p;
p^.inf1:=Z3^[i];
p^.inf2:=Z4^[i];
if q<>nil then q^.next:=p;
q:=p;
end;
p^.next:=nil;
print;
END;

вызов: divide(FIRST2,FIRST1);

 К началу страницы 
+ Ответить 

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


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

 





- Текстовая версия 19.04.2024 22:24
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name