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

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

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

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


Знаток
****

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

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


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


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


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

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

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


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


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


Пионер
**

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

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


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

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


Знаток
****

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

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


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


Гость






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


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

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

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


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

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


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


Знаток
****

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

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


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


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


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

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

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


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


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


Знаток
****

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

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


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

Как я и говорила, проблема с границами блока в ToDelete
Если ты сделаешь нормальное форматирование этой подпрограммы, сам увидишь, где не хватает операторных скобок begin/end.
Спасибо! give_rose.gif Начинаю поиск!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Знаток
****

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

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


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

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

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

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

 





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