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

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

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

 
 Ответить  Открыть новую тему 
> Динамическая память-списки, Линейный односвязный список
KOLYAN
сообщение 21.01.2008 18:03
Сообщение #1


Новичок
*

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

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


Решите пожайлуста задачу: Составить программу, которая формирует список L включая в него по одному разу элементы, которые входят одновременно в оба списка L1 и L2.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 21.01.2008 18:15
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


Идешь по элементам более короткого списка из L1 и L2. Берешь очередной элемент, если его нет в списке L и он есть во более длинном списке, добавляешь его в список L. Вот так на вскидку.

Будут конкретные вопросы по реализаци, спрашивай, а так поиск + Все о динамических структурах данных.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
KOLYAN
сообщение 21.01.2008 18:25
Сообщение #3


Новичок
*

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

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


Как составить процедуру, которая сравнивает элементы списков L1 и L2
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 21.01.2008 18:31
Сообщение #4


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


Я бы реализовал список как объект, в котором был бы метод - функция, возвращающая true в случае если элемент value присутствует в списке. is_include(const value: Integer): Boolean;

Ну а реализация, запоминаем начало списка, далее идем по списку до тех пор пока не дойдем до конца либо пока не наткнемся на такой элемент, что head^.value = value. Если дошли до конца, то вернуть функция дожна false иначе true, ну и не забыть установить head на начало списка, (адрес мы запомнили в начале алгоритма)

вот примерно так.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 21.01.2008 18:36
Сообщение #5


Гость






Цитата
Я бы реализовал список как объект, в котором был бы метод - функция, возвращающая true в случае если элемент value присутствует в списке.
yes2.gif

KOLYAN, если что - вот тут такой объект реализован: Односвязный список
Только функция называется Present...
 К началу страницы 
+ Ответить 
KOLYAN
сообщение 22.01.2008 16:49
Сообщение #6


Новичок
*

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

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


program spiski;
uses crt;
type tinf=char; tp=^tel;
tel=record
inf:tinf;
psled:tp;
end;
var head, head1:tp; m,r:char; pe:tp; t,n:integer;

procedure vsp(var iel:tinf; var head:tp; n:integer);
var pe:tp; i:integer;
begin
for i:=1 to n do
begin
read(m);
new(pe);
pe^.inf:=iel;
pe^.psled:=head;
head:=pe;
end;
end;
procedure vibor(.....
while (head<>nil) and (head1<>nil) do begin
head^.inf= then
begin
clrscr;
writeln('n=');
readln(n);
writeln('t=');
readln(t);
writeln ('Vedite elementi spiska L1');
vsp(m,head,n);
writeln ('Vedite elementi spiska L2');
vsp(r,head1,t);

end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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