Новые сообщения · Правила  
  • Страница 1 из 1
  • 1
Модератор форума: Berestovskiy  
помогите исправить код
[size=8]по заданию надо разделить список на 2. в первом четные элементы, во втором нечетные. проблема в том что в списках добавляется 0, а я не пойму почему, кто знает как исправить помогите пожалуйста

program Project1;
type Pe=^TypElem;
TypElem=record
t: integer;
p: pe;
end;
TypChet=record
t: integer;
p: pe;
end;
TypNeChet=record
t2: integer;
p2: pe;
end;
var Elem, nach1, che, nach2, nechet, nach3: Pe;
ch: char;
begin
New(Elem);
nach1:=Elem;
Elem^.p:=elem;
while elem <> nil do
begin
writeln('Vvedite chislo: ');
readln(elem^.t);
write('povtorit vvod? (y/n) ');
readln(ch);
if (ch='n')or(ch='N') then elem:=nil
else begin
new(elem^.p);
elem:=elem^.p;
end;
end;
writeln('dannie spiska: ');
elem:=nach1;
New(che); nach2:=che;
New(nechet); nach3:=nechet;
while elem<>nil do
begin
if (elem^.t mod 2=0) then
begin
che^.t:=elem^.t;
New(che^.p);
che:=che^.p;
end else
begin
nechet^.t:=elem^.t;
New(nechet^.p);
nechet:=nechet^.p;
end;
write(Elem^.t:5);
elem:=elem^.p;
end;
che:=nil; nechet:=nil;
writeln;
writeln('----------------------');
Writeln('Chetnii spisok: ');
che:=nach2;
repeat
Write(che^.t:5);
che:=che^.p;
until che=nil;
writeln;
writeln('----------------------');
writeln('ne chetnii spisok: ');
nechet:=nach3;
while nechet<>nil do
begin
Write(nechet^.t:5);
nechet:=nechet^.p;
end;
readln;

1 | Автор: Леона | 2009-12-12, 14:51   |  Репутация: [ + 0 ]
1 | Автор: Леона | 2009-12-12, 14:51   |  Репутация: [ + 0 ]
  • Страница 1 из 1
  • 1
Поиск: