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

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

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

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


Новичок
*

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

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


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


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

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

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


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

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


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


Новичок
*

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

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


Как составить процедуру, которая сравнивает элементы списков L1 и L2
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






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

KOLYAN, если что - вот тут такой объект реализован: Односвязный список
Только функция называется Present...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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

 





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