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

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

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

> Списки
Caries
сообщение 31.03.2005 13:56
Сообщение #1


Новичок
*

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

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


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


Новичок
*

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

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


прогу накидал но она просто пока соединяет 2 списка. Нужно реализовать проверку списков, дабы исключить повторных включений в соединенном списке. Как? sad.gif
Код
program name;
uses crt;
type
tdata=integer;
sllptr=^slltype;
slltype = record
inf:tdata;
next: sllptr;
end;
procedure Unite(var head1,head2:sllptr);
var cur: sllptr;
begin
if head2<>nil then begin
 if head1=nil then head1:=head2
  else
   begin cur:=head1;
   while cur^.next<>nil do cur:=cur^.next;
   cur^.next:=head2;
   end;
   end;
   writeln;writeln;
   cur:=head1;
   while cur <> nil do
   begin
    write(cur^.inf);
    if cur^.next <> nil then write(',');
    cur:=cur^.next
    end;readln;
   end;

var head3,head4,g:sllptr;a:integer; i,n:integer;
begin
clrscr;
writeln('vvedite kol-vo elementov spiska1');
readln(n);
writeln('vvedite element spiska1');
read(a);
new(head3);
head3^.inf:=a;
head3^.next:=nil;
for i:=1 to n - 1 do
begin read(a);
new(g);
g^.inf:= a;
g^.next:=head3;
head3:=g;
end;
writeln('vvedite kol-vo elmenetov spiska2');
read(n);
writeln('vvedite elementi spiska2');
read(a);
new(head4);
head4^.inf:=a;
head4^.next:=nil;
for i:=1 to n-1 do
begin read(a);
new(g);
g^.inf:=a;
g^.next:=head4;
head4:=g;
end;
unite(head3,head4);
readln;
end.


Сообщение отредактировано: Caries - 20.04.2005 19:35
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 



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