1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
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. Код должен быть в тегах |
MagZzz Упорядочен ли список?! 27.03.2005 15:05
volvo Это как раз зависит от того, как именно задан спис… 27.03.2005 15:24
MagZzz Спасибо огромное за совет volvo! :) 27.03.2005 19:14
volvo var
is_good: boolean;
pred_str… 3.04.2005 20:42
MagZzz Спасибо volvo огромное тебе ещё раз!! :) 4.04.2005 5:42![]() ![]() |
|
Текстовая версия | 23.12.2025 5:55 |