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

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

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

> 2 одноаправленных списка, обратный порядок
arr_lenny
сообщение 29.12.2010 17:34
Сообщение #1





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

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


Задача такая
Дано 2 однонаправленных списка целых чисел.
Надо в первый список после максимального элемента вставить 2ой список, но в обратном порядке(вот с этим то обратным порядком проблемы)
Надеюсь на помощь, всех с Наступающим =)


type
list=^elem;
elem=record
info:integer;
next:list;
end;

var l,p,q,l2,p2,q2,w:list; x,y,max:integer;


begin
writeln('Первый');
new(l);
readln(x);
l^.info:=x;
p:=l;
while x<>0 do
begin
new(q);
readln(x);
q^.info:=x;
p^.next:=q;
p:=q;
end;
p^.next:=nil;

writeln('Второй');
new(l2);
readln(y);
l2^.info:=y;
p2:=l2;
while y<>0 do
begin
new(q2);
readln(y);
q2^.info:=y;
p2^.next:=q2;
p2:=q2;
end;
p2^.next:=nil;


p:=l;
max:=p^.info;
while p^.next<>nil do
begin
if p^.info>max then max:=p^.info;
p:=p^.next;
end;



p:=l; p2:=l2;
while p^.next<>nil do
begin
if p^.info=max then
begin
new(q);


q^.info:=p2^.info;
q^.next:=p^.next;
p^.next:=q;

p2:=p2^.next;


while p2^.next<>nil do
begin
new(w);
w^.info:=p2^.info;
p^.next:=w;
w^.next:=q;
w:=q;
p2:=p2^.next;
end;

end;
p:=p^.next;
end;

p^.next:=nil;
writeln('Измененный') ;
p:=l;
while p^.next<>nil do
begin
writeln(p^.info);
p:=p^.next;
end;
end.


 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 29.12.2010 22:38
Сообщение #2


Гость






Да что ж такое-то? Кто придумывает эти однотипные тупые задания? Кто постоянно штампует однотипные тупые решения??? Сколько раз можно задавать вопрос (задавал неоднократно, но почему-то ВСЕГДА он остается без ответа) : почему, собственно, разделяется первый элемент списка и все последующие? Что такого особенного есть в первом, что для его инициализации надо продублировать минимум три строки кода? Если уж первый элемент настолько примечателен, то куда его примечательность девается при выводе списка? Почему отдельно не печатается первый элемент, а потом - циклом все остальные? Это теперь так принято, программу сдавать "чем больше строк - тем она лучше"? Ошибки исправлять в подобной программе труднее ровно в 2 раза, если что.

P.S. Жду уточнения топикстартера каким образом происходит "вставка". Вставляется перевернутая копия списка_2? Сам список_2 в развернутом виде? В любом случае я бы не стал вставлять по одному элементу в одно и то же место первого списка. Гораздо проще (и правильней) будет "развернуть" второй, и одним действием поменять 2 указателя...

P.S. Я с гостями не общаюсь, если что, так что вопросы !!FPA!! может не задавать, я вопросы от гостей просто игнорирую. Будьте добры представиться, когда входите куда-то, а не сразу с порога начинать заявлять тут, что педагогично, а что - нет, скрываясь за пустой безликой маской "гость".
 К началу страницы 
+ Ответить 

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


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

 



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