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

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

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

> Линейные списки
Xrymz
сообщение 14.05.2007 19:55
Сообщение #1


Новичок
*

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

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


читал я фак... немного понял.. но не все...
задание...
дано два линейных списка, А1 и А2, сделать подпрограмму которая будет в конец списка А1 кидать все элементы списка А2.

накалякал я такое


program pmf;
uses crt;
type
TEl = ^El;
El = record
i: integer;
next: TEl;
end;

var
A1,A2,A3: TEl;
i1,i2,j: integer;

begin
clrscr;

Randomize;
i1:= Random(10);
writeln('Dlina spiska A1 - ', i1);
for j:=1 to i1 do {3a/7oJIHaem A1}
begin
A1^.i:=random(10)-10;
write(A1^.i,' ');
end;
writeln;
i2:=random(10);
writeln('Dlina spiska A2 - ', i2);

for j:=1 to i2 do {3a/7oJIHaem A2}
begin
A2^.i:=random(10);
write(A2^.i,' ');
end;

writeln;


Readln;
end.



а как функцию правельно сделать незнаю((
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Гость
сообщение 30.05.2007 19:50
Сообщение #2


Гость






Люди гляньте плиз где тут лажа...
вот я тут сделал немного
program omfg;
uses crt;
type
plist = ^list;
list = record
inf: integer;
next: plist;
end;

var beg,t,p1,p2,p3,first:plist;
n,i:integer;


begin
clrscr;
readln(n);
randomize;
new(first);{Sozdaem 1i sposik}
first^.next:=nil;
first^.inf:=random(10)-1;
for i:=1 to n-1 do
begin
new(p1);
p1^.inf:=random(10)-1;
p1^.next:=nil;
p1^.next:=first;
first:=p1;
end;

t:=p1;

while t<>nil do
begin
write(t^.inf,' ');
t:=t^.next;
end;
writeln;

new(first);{Sozdaem 2i spisok}
first^.next:=nil;
first^.inf:=random(10)-1;
for i:=1 to n-1 do
begin
new(p2);
p2^.inf:=random(10)-1;
p2^.next:=nil;
p2^.next:=first;
first:=p2;
end;

t:=p2;
while t<>nil do
begin
write(t^.inf,' ');
t:=t^.next;
end;

p1^.next:=p2;

writeln;
t:=p1;
while t<>nil do
begin
write(t^.inf,' ');
t:=t^.next;
end;

readln;
end.


но у меня выводит
Код
3  {- ввожу
1 -1 8   {- список А1
0 -1 5   {- список А2
1 0 -1 5  {- то что у меня выходит.. тут ошибка

то есть он берет первый элемент списка А1 и вставляется за ним список А2... как исправить?




 К началу страницы 
+ Ответить 

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


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

 



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