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

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

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

 
 Ответить  Открыть новую тему 
> Списки
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 2
Пол: Женский

Репутация: -  0  +


Предполагается, что уже построен и задан указателем P связанный односторонний список, элементами которого являются символы.
А). Подсчитать число элементов списка.
Б). Проверить упорядочен ли список по возрастанию

Program ex;
Type tnode=^node;
Node=record
El:char;
Next: tnode;
End;
Var f,n:integer;
p,cur,d:tnode;
t:next;
begin
assign(t,’f.txt’);
reset(t);
new(p);
p:=nil;
cur:=p;
whle not(eof(t)) do
begin
read(cur^.el);
new(d);
d:=nil;
cur^.next:=d;
cur:=cur^.next;
end;
close(t);
n:=0;
f:=1;
cur:=p;
while cur<>nil do
begin
n:=n+1;
if ord(cur^.el)>ord(cur^.next^.el) then
f:=0;
cur:=cur^.next;
end;
writeln(‘число элементов в списки’,n);
if f=1 then
writeln(‘список упорядочен’)
else
writeln(‘список не упорядочен’);
end.



Я не могу понять почему программа не работает, подскажите пожалуйста.

Про теги не забывай...

Сообщение отредактировано: volvo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Для начала - программа у тебя не должна даже компилироваться, о работе ее вообще речь не идет: сначала поменяй все апострофы на те, которые положено ставить при определении строк, а не "косые". Потом поправь цикл: whle еще не ввели в Паскале, пока есть только while. Ну, и переменная T должна быть файловой, а не непонятно каким next-ом...

Ну, а потом уже будешь исправлять логику работы программы. На данный момент она тоже неправильная:
p:=nil;
cur:=p;
whle not(eof(t)) do
begin
read(cur^.el); { <--- }

здесь единственное, чего ты добилась - это разыменования NIL, а это ошибка... И так далее...
 К началу страницы 
+ Ответить 

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

 





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