![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
MagZzz |
![]() ![]()
Сообщение
#1
|
Гость ![]() |
Привет всем! Помогите с задачкой!! :p2:
Предлагается, что уже построен и задан указателем Р связанный односторонний список, элементами которого являются символы. а) Подсчитать число элементов списка. б) Проверить упорядочен ли список по возрастанию. |
![]() ![]() |
MagZzz |
![]()
Сообщение
#2
|
Гость ![]() |
Вот я тут по левому наштряпал программку, но она список сортирует!
![]() ![]() Исходный код program sortir; uses crt; type p_stud=^student; student=record name:string[20]; next:p_stud; end; const sum: longint = 0; var head:p_stud; cur:p_stud; p:p_stud; name:string[20]; node: p_stud; tekst:text; begin clrscr; Writeln(' -- Ishodnyi spisok --'); writeln; assign(tekst,'D:\income.txt'); reset(tekst); while not EOF(tekst) do begin Readln(tekst,name); Writeln('', name,' '); end; close(tekst); assign(tekst,'D:\income.txt'); reset(tekst); Readln(tekst,name); reset(tekst); while not EOF(tekst) do begin Readln(tekst,name); inc(Sum, Length(name)) end; close(tekst); Writeln; Writeln('— Kollichestvo elementov - ', Sum ,' '); Writeln; assign(tekst,'D:\income.txt'); reset(tekst); repeat readln(tekst,name); if length (name)<>0 then begin new(node); node^.name:=name; node^.next:=NIL; cur:=head; p:=NIL; while(name>cur^.name) and (cur<>NIL) do begin p:=cur; cur:=cur^.next; end; if p = NIL then begin node^.next:=head; head:=node; end else begin node^.next:=p^.next; p^.next:=node; end; end; until length(name)=0; cur:=head; writeln(' -- - --'); while cur<>NIL do begin writeln(cur^.name); cur:=cur^.next; end; writeln('----------------------------'); readln; close(tekst); end. Код должен быть в тегах |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 22:30 |