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

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

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

> ОДНОСВЯЗНЫЕ СПИСКИ
Toni_
сообщение 4.01.2011 0:47
Сообщение #1





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

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


Задача. Разработайте программу слияния двух односвязных упорядоченных по не убыванию линейных списков в один упорядоченный список.

Вобщем вот до чего я дошел. Народ вопрос как сделать так чтобы я вводил по 1 элементу? а не водил скока я хочу вести елементов..... Помогите кто чем можетsmile.gif


Program spisok_PR_15;
uses crt;
type link=^item;
item=record
data:integer;
ref:link;
end;

var px,py:link; n,i:integer; a:^integer; ch:char;

Procedure vivod;
begin
While py<>nil do {Vivod spiska}
begin
write(py^.data,' ');
py:=py^.ref
end;
end;
begin

repeat
clrscr;
writeln('1.Sosdadim 1 spisok');
writeln;
writeln('2.Sosdadim 2 spisik');
writeln;
writeln('3.Soedinim spiski');
writeln;
writeln('4.Vivod 1 spiska');
writeln;
Writeln('0.Exit');
Readln(ch);
Case ch of

#49: {1}
begin
px:=nil;
{sozdanie spiska, Также я тут задаю количество вводимых элементо,
как сделать так чтобы я вводил по 1 элементу}
Writeln('Kolichestvo vvodimix elementov');
Read(n);
For i:=1 to n do
begin
New(py);
Read(a^);
py^.data:=a^;
py^.ref:=px;
px:=py;
{end;}
end;

#52: {4 }
begin
While py<>nil do {Vivod spiska}
begin
write(py^.data,' ');
py:=py^.ref
end;
readkey;
end;
end
until ch=#48; {0}
end.


Сообщение отредактировано: Lapp - 4.01.2011 7:07
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 4.01.2011 10:10
Сообщение #2


Гость






Цитата
Неплохо )).
Ничего хорошего, кстати.

Во-первых, на кой делали процедуру вывода если по нажатию "4" опять ту же процедуру "растворяем" в программе?

Во-вторых: простейшая логика. Если я ввел 3 элемента списка: <1, 2, 3>, запрашиваю вывод только что введенных данных, и мне печатается <3, 2, 1> - у меня тут же сработает рефлекс: я нажму на 0 для выхода, и поставлю автору неуд. Ибо список должен обрабатываться и показываться мне не "задом наперед" (потому что так удобнее программисту), а так, как я его вводил (потому что так удобнее пользователю). Тем более, что я ввел действительно упорядоченные по неубыванию данные, а что мне будет выдано в итоге?
 К началу страницы 
+ Ответить 

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


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

 



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