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

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

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

 
 Ответить  Открыть новую тему 
> Односвязный список, Помогите найти ошибку
Rocket
сообщение 4.05.2007 18:16
Сообщение #1


Знаток
****

Группа: Пользователи
Сообщений: 306
Пол: Мужской
Реальное имя: Евгений

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


В данной программе у меня не корректно работает удаление,а именно:не удаляется последний добавленный элемент. В чём причина?


Прикрепленные файлы
Прикрепленный файл  Список.pas ( 5.32 килобайт ) Кол-во скачиваний: 162
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 4.05.2007 19:16
Сообщение #2


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


blink.gif какое интересное форматирование... а-ля Маяковский.
сделай, пожалуйста, нормальное. структура программы плохо просматривается.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Renbo
сообщение 4.05.2007 19:33
Сообщение #3


Пионер
**

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

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


кстати, если не вглядываться - то довольно забавно выглядит lol.gif
а если попытаться понять - что там написано - можно голову сломать )

Кстати у тебя красота лесенкой токо в начале, ты бы и в конце бы тоже так сделал, а то конец - всё красоту рушит )))
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Rocket
сообщение 4.05.2007 20:25
Сообщение #4


Знаток
****

Группа: Пользователи
Сообщений: 306
Пол: Мужской
Реальное имя: Евгений

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


Ребятушки,Программистушки! Я попросил найти ошибку в коде,а не обсуждать его вид. Код не настолько здоровый,чтобы не разобраться,что к чему относится. Так что жду ответов по теме yes2.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 4.05.2007 21:53
Сообщение #5


Гость






Цитата
Я попросил найти ошибку в коде,а не обсуждать его вид.
А то, что первое неотделимо от второго, ты не подумал? Почему, например, ты сам не можешь найти ошибку в коде, а хочешь, чтобы это сделали ЗА тебя? Не потому ли, что не можешь разобраться в этой лесенке?
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 5.05.2007 0:11
Сообщение #6


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


Не знаю, как у тебя, а у меня необходимость по несколько минут соображать, где заканчивается блок, желание искать ошибки отбивает.
Тем более что в 80% случаев ошибка кроется именно в неправильных границах блока.

Сообщение отредактировано: мисс_граффити - 5.05.2007 0:12


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Rocket
сообщение 6.05.2007 11:16
Сообщение #7


Знаток
****

Группа: Пользователи
Сообщений: 306
Пол: Мужской
Реальное имя: Евгений

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


НУ вот,попытался адаптировать свой код. Так что жду помощи. rolleyes.gif


Прикрепленные файлы
Прикрепленный файл  Список.pas ( 5.24 килобайт ) Кол-во скачиваний: 145
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 6.05.2007 13:54
Сообщение #8


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


Как я и говорила, проблема с границами блока в ToDelete
Если ты сделаешь нормальное форматирование этой подпрограммы, сам увидишь, где не хватает операторных скобок begin/end.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Rocket
сообщение 7.05.2007 14:23
Сообщение #9


Знаток
****

Группа: Пользователи
Сообщений: 306
Пол: Мужской
Реальное имя: Евгений

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


Цитата(мисс_граффити @ 6.05.2007 14:54) *

Как я и говорила, проблема с границами блока в ToDelete
Если ты сделаешь нормальное форматирование этой подпрограммы, сам увидишь, где не хватает операторных скобок begin/end.
Спасибо! give_rose.gif Начинаю поиск!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Rocket
сообщение 7.05.2007 15:07
Сообщение #10


Знаток
****

Группа: Пользователи
Сообщений: 306
Пол: Мужской
Реальное имя: Евгений

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


Вот этот фрагмент:

procedure ToDelete(var first:list; x:integer);
var
temp:list;
extra:list;
found:boolean;

begin
found:=false;
if first<>nil then
if first^.info=x then

begin
found:=true;
temp:=first;
first:=first^.next;
dispose(temp)
end

else
extra:=first;
while not found and (extra^.next<>nil) do
if extra^.next^.info=x then found:=true
else extra:=extra^.next;
if found then
begin
temp:=extra^.next;
extra^.next:=temp^.next;
dispose(temp);
end;
end;

Не могу понять,где не хватает операторных скобок...вроде всё на месте...хотя... unsure.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 7.05.2007 19:02
Сообщение #11


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


Цитата
procedure ToDelete(var first:list; x:integer);
var
temp:list;
extra:list;
found:boolean;

begin
found:=false;
if first<>nil then
if first^.info=x then

begin
found:=true;
temp:=first;
first:=first^.next;
dispose(temp)
end


else
extra:=first;
while not found and (extra^.next<>nil) do
if extra^.next^.info=x then found:=true
else extra:=extra^.next;
if found then
begin
temp:=extra^.next;
extra^.next:=temp^.next;
dispose(temp);
end;

end;

выделила красным выполняемые в проблемном случае действия.
теперь видишь?
(сорри, что не в тегах code)
extra неизвестно чему равно в данном случае, а ты пытаешься с ней работать


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Rocket
сообщение 7.05.2007 19:41
Сообщение #12


Знаток
****

Группа: Пользователи
Сообщений: 306
Пол: Мужской
Реальное имя: Евгений

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


Цитата(мисс_граффити @ 7.05.2007 20:02) *

выделила красным выполняемые в проблемном случае действия.
теперь видишь?
(сорри, что не в тегах code)
extra неизвестно чему равно в данном случае, а ты пытаешься с ней работать

Да,да...очень глупая ошибочка вышла... Большое,пребольшое спасибо! smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



- Текстовая версия 19.07.2025 18:17
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"