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

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

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

> Переделать список без ООП, помогите, очень надо!!!
SunDevil
сообщение 31.03.2005 20:10
Сообщение #1


Новичок
*

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

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


Здравствуйте!
Прощу вашей помощи. Вот такая задача: Вводим любой список(массив записей) с клавиатуры. Список должен быть двусвязный. Потом программа должна "спросить" о добавлении нового элемента в список. Ну, типа, writeln('Введите еще один элемент') и добавить его в КОНЕЦ СПИСКА. Потом программа должна определить количество элементов в списке. И в конце должна "спросить" writeln('Введите номер элемента, который следует удалить') и удалить тот элемент, который я ввел с клавиатуры. Очень нужна ваша помощь! Даже не могу показать вам свой исходник, т.к. его просто у меня нет sad.gif
ОЧЕНЬ ПРОШУ - ПОМОГИТЕ! БОЛЬШОЕ СПАСИБО!
p.s. Извините, может это и есть в FAQ, но времени у меня мало, чтобы искать, а срочно надо до завтрашнего дня!
ЕЩЕ РАЗ СПАСИБО!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 31.03.2005 21:02
Сообщение #2


Гость






Ну, если быстро, то вот так:
Код
uses item, list;

var
 l: tlist;
 s: string;
 p: ptitem;
 count, index: integer;

begin
 L.init;

 repeat
   write('вводите строку: '); readln(s);
   if s <> '' then L.append(s);
 until s = '';

 write('Введите еще один элемент: '); readln(s);
 L.append(s);
 L.print;

 p := L.first; count := 0;
 while assigned(p) do
   begin
     inc(count);
     p := p^.next
   end;
 writeln('count = ', count);

 write('Введите номер элемента, который следует удалить: ');
 readln(index);

 p := L.first;
 while index > 1 do
   begin
     dec(index); p := p^.next
   end;
 L.remove_item(p);
 L.print;

 L.done;
end.



P.S. Почитать про динамические структуры данных можно здесь: FAQ: Динамические структуры данных (для успешного запуска программы необходимо скачать модуль List.rar и распаковать его содержимое в отдельную папку)


Прикрепленные файлы
Прикрепленный файл  list.rar ( 1.48 килобайт ) Кол-во скачиваний: 138
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 



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