![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
KOLYAN |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Реальное имя: Nicolai Репутация: ![]() ![]() ![]() |
Решите пожайлуста задачу: Составить программу, которая формирует список L включая в него по одному разу элементы, которые входят одновременно в оба списка L1 и L2.
|
klem4 |
![]()
Сообщение
#2
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Идешь по элементам более короткого списка из L1 и L2. Берешь очередной элемент, если его нет в списке L и он есть во более длинном списке, добавляешь его в список L. Вот так на вскидку.
Будут конкретные вопросы по реализаци, спрашивай, а так поиск + Все о динамических структурах данных. -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
KOLYAN |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Реальное имя: Nicolai Репутация: ![]() ![]() ![]() |
Как составить процедуру, которая сравнивает элементы списков L1 и L2
|
klem4 |
![]()
Сообщение
#4
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Я бы реализовал список как объект, в котором был бы метод - функция, возвращающая 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";'
|
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
Цитата Я бы реализовал список как объект, в котором был бы метод - функция, возвращающая true в случае если элемент value присутствует в списке. ![]() KOLYAN, если что - вот тут такой объект реализован: Односвязный список Только функция называется Present... |
KOLYAN |
![]()
Сообщение
#6
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Реальное имя: Nicolai Репутация: ![]() ![]() ![]() |
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. |
![]() ![]() |
![]() |
Текстовая версия | 22.04.2025 1:26 |