Консультация № 104232
04.10.2007, 07:48
0.00 руб.
0 1 1
помогите с решение! очень надо!
создать список поместить в него 2,4,6,8,10. распечатать список, инвентировать, распечатать список, отсортировать(по убыванию), распечатать, очистить.
за помощь буду очень признателен!

Обсуждение

давно
Старший Модератор
31795
6196
05.10.2007, 14:19
общий
это ответ
Здравствуйте, Артем Фурдыга!

Смотрите приложение.
Удачи!

Приложение:
program q104232; type TList=^TRec; TRec = record data:integer; next:TList; end; var a,b,c:TList; i:integer; s:string; procedure WriteList(a:TList;b:string); var i:integer; begin i:=0; writeln(‘Write List ‘,b); while a<>nil do begin inc(i); writeln(‘List:‘,i:3,‘ Data:‘,a^.data:3); a:=a^.next; end; end; begin {создаем список} a:=nil; for i:=1 to 5 do begin new(b); b^.next:=a; b^.data:=2*i; a:=b; end; {выводим} s:=‘create‘; WriteList(a,s); {инвертируем-изменяем знак} b:=a; while b<>nil do begin b^.data:=-b^.data; b:=b^.next; end; {выводим} b:=a; s:=‘invert‘; WriteList(b,s); {сортируем} b:=a; while b<>nil do begin c:=b^.next; while c<>nil do begin if b^.data<c^.data then begin i:=b^.data; b^.data:=c^.data; c^.data:=i; end; c:=c^.next; end; b:=b^.next; end; {выводим} b:=a; s:=‘sort‘; WriteList(b,s); {освобождаем занятую память} for i:=1 to 5 do begin b:=a; a:=a^.next; dispose(b); end; if a=nil then writeln(‘clear list‘); end.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Форма ответа