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

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

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

2 страниц V  1 2 >  
 Ответить  Открыть новую тему 
> Детская считалочка, двунаправленные списки
сообщение
Сообщение #1


Пионер
**

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

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


Привет народ! тут вот такая задачка:
должна быть реализованная с помощью двунаправленного списка...пользователь вводит последовательность чисел("номер ребенка в круге") и число (размер считалочки) и начиная с того числа которое он ввел, по часововй стрелочки идет отсчет, то число, на котором останавливает счет-запоминается и удаляется из последовательности и счет продолжается...
вообщем пример: если вводятся числа 1,2,3,4,5,6,7,8,9,10 и размер считалочки 4...то ответ должен быть таким: 4,8,2,7,3,10,9,1,6,5 если Я не ошибся...
Ума не приложу как делать эту прогу, есть только процедура заполнения, но по словам препода она слишком простая... norespect.gif ...
Если кто может, или тут была прогу-помогите ПЛИЗ...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






задача "считалка"
Казнь

(обе реализации - с массивом... На списки попробуй переделать сам...)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Пионер
**

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

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


Окей, спасиБо огромное... smile.gif ...

ПРо казнь программу понял туго, да и разбиратсья в ней неохота+ считалочка мне подходит на 100% тока форму вывода надо поменять, чтобы в итоге выводил 1 строчку, или так оставить еще не решил...
В чужих прогах разбираюсь плохо, да и в программировании слабоват, постараюсь конечно, но обещать не могу что получиться-но ПОПРОБУЮ...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Пионер
**

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

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


Собрал все свои мозги в кучу...что-то не получается, даже 1% переделать...
А сразу со списками нет? просто знакомых программистов не имею, а вас просить не удобно...sad.gif...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


просто человек
******

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

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


э... не поняла. ты нас НЕ просишь (раз неудобно)? или просишь?

в общем, FAQ по спискам читал? Создать список сможешь (пока без реализации алгоритма считалочки - просто создать)?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Пионер
**

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

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


мисс_граффити
Прошу конечно, просто неудобно у Вас время воровать своими детскими прогами... smile.gif ...
Процедуру создания списка писали на лекции, так что...наверное написать и отладить смогу...еще есть распечатка, но со слов парня, который её писал(он просто разбирается в программировании) это "Зеленая демо-бета версия" так что до ума её еще доводить и доводить... nea.gif ...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


просто человек
******

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

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


Ну вот smile.gif Пробуй. Когда разберешься с этим - можно будет говорить о реализации какого-либо алгоритма обработки (переделки считалочки).
З.Ы. "Детские" - это, судя по всему, 2 курс?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Пионер
**

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

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


АГА... wacko.gif ...откуда ты знаешь?... smile.gif ...
по теме: вообщем создание списка постараюсь зава сделать... unsure.gif ...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Пионер
**

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

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


Цитата
type
lob=^zap
zap=record
info:integer
link:lob
end;
var
p,t:lob;
n,k:integer;
procedure zapol (n:integer, var t:lob)
var
i:integer;
begin t^.info:=1;
t^.link:=t;
for i:=2 to n do
degin
new(p);
p^.info=i;
t^.link:=p;
p^.link:=t;
end;
end;

Самое основное вспомнил, что начали мы её реализовавыть через циклические списки...вот процедура создания списка...пока больше ничего придумать не могу...ПОМОГИТЕ плиз... mega_chok.gif ...

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


просто человек
******

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

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


так циклические или двунаправленные? или циклические двунаправленные?
насколько я вижу,
zap=record
info:integer
link:lob
end;

содержит только 1 указатель...

на циклических двунаправленный алгоритм вроде как будет намного проще, чем на массивах.

Сообщение отредактировано: мисс_граффити -


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Пионер
**

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

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


Вообщем мне нуна:
или всю прогу на двунаправленных списках...
или всю на циклических...
3-го не дано... smile.gif ...но желательно черех двунаправленные сделать, то проца которую Я выложил, теоритически через циклические... wacko.gif ...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Пионер
**

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

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


Ну товарищи помогите плиз...почитал в FAQ начал творить потихоньку, но мозга не хватает...до следущего понедельника надо помочь... wink.gif ...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


просто человек
******

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

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


Что не получается? Спрашивай конкретно.
Через циклические двусвязные проще всего.
Вопрос такой: куда выводить инфу? Просто печатать номера, или сохранять в список?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Пионер
**

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

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


Зава скину то что получилось, щас флехи нет рядом...
а вывод нужен 2-х типов...первый после того как ввел, т.е.информационная часть(номер дитя)...второй вот порядок их выбывания, т.е. примерно мона и такой вывод как в задачке с массивами, который выложил volvo, но луче сразу выводить число которое выбыло и все...
Выложить-Я то выложу, что сумел сотворить, но...на этом весь мой мозг закончитсяsad.gifsad.gifsad.gif
помогите уж тода процами какими...
Совсем забыл: должно быть сделано меню,
1-Ввод данных(ну там кол-во детей, номер каждого впринципе мона и авто заполнение, если мона сделать, и сама считалочка)
2-Вывод того что тока что заполнил
3-Вывод после считалочки
Если кто чем может помогите плиз... wink.gif ...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


просто человек
******

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

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


что тебе нужно сделать для начала:
1. Обеспечить нормальный ввод (это ты вроде как разобрался более-менее. Домучивай)
2. Научиться "ходить" по списку, чтобы найти исключаемый элемент. Это делается в цикле. Умеешь?
3. Научиться удалять элемент из списка. Это делается при помощи перестановки указателей.

Менюшку и все такое можно сделать потом... пока что нужно создать основу.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Пионер
**

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

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


Цитата
Обеспечить нормальный ввод (это ты вроде как разобрался более-менее. Домучивай)

Дотворил откомпилировал-выложу на Ваш суд, чтобы глянули как оно... rolleyes.gif ...
Цитата
Научиться "ходить" по списку, чтобы найти исключаемый элемент. Это делается в цикле. Умеешь?

ВОт с этим Вам придется мне помочь... yes2.gif ...
Цитата
Научиться удалять элемент из списка. Это делается при помощи перестановки указателей.

Помойму Я что-то такое написал, но оно для линейных списков...ну тоже выложу...
Прога будет печером, поехал в универ за флехой, надеюсь на вашу помощь... wub.gif ...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17


Пионер
**

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

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


Код
type
lob=^zap;
zap= record
info:integer;
link:lob
end;
var
p,t:lob;
n,k:integer;
procedure ZAPOL(n:integer; var t:lob);
var i:integer;
begin
t^.info:=1;
t^.link:=t;
for i:=2 to n do
begin
new(p);
p^.info:=i;
t^.link:=p;
p^.link:=t;
end;
end;
{procedure print(var t:lob; k:integer);
var
i:integer;
begin
if (p^.link<>p) then
begin
I:=i+k;
t:=p^.link;
p^.link:=p^.link^.link;
dispose(t);
end;
end;}
procedure Print(p:lob);
var
r:lob;
begin
r:=p;
while r<>nil do
begin
writeln ('Ќ®¬Ґа = ' ,r^.info);
r:=r^.link;
end;
end;
procedure DEL(var p:lob);
var
r:lob;
begin
r:=p^.link;
p^.link:=p^.link^.link;
r^.link:=nil
end;
function menu:integer;
var
k:integer;
begin
writeln;
writeln;
writeln('1-‡ Ї®«­Ёвм бЇЁб®Є');
writeln('2-ђ бЇҐз в вм бЇЁб®Є');
writeln('3-ђ бЇҐз в вм Ї®а冷Є ўлЎлў ­Ёп н«Ґ¬Ґ­в®ў');
writeln('0-‚л室 Ё§ Їа®Ја ¬¬л');
writeln('‚ и ўлЎ®а');
readln(k);
menu:=k;
end;
   begin{Ћб­®ў­ п Їа®Ја ¬¬ }
   clrscr;
k:=1;
writeln('Џа®Ја ¬¬ ,Ї®Є §лў ой п Ї®а冷Є ўлЎлў ­Ёп ¤ҐвҐ© Ё§ ЈагЇЇл ЇаЁ § ¤ ­­®¬ Є®«ЁзҐб⢥ б«®ў ў бзЁв «®зЄҐ ');
writeln('‚ўҐ¤ЁвҐ Є®«ЁзҐбвў® ¤ҐвҐ©');
readln(n);
writeln('‡ Ї®«­ЁвҐ ¬ ббЁў, ўўҐ¤ЁвҐ ' , n ,' н«Ґ¬Ґ­в®ў ¬ ббЁў ');
for i:=1 to n do read(a[i]);
while k<>0 do
begin

k:=menu;
Case k of

1:Sort1(b,n,m);
2:Sort2(b,n,m);
3:Sort3(b,n,m);
0: writeln('Љ®­Ґж а Ў®вл Їа®Ја ¬¬л');
end;
BblBOD(b,n,m);
end
end.
begin{Ћ‘ЌЋ‚ЌЂџ ЏђЋѓђЂЊЊЂ}


Воть...собсна, вроде компилируется, сильно не судите, т.к. в программирование слабоват... yes2.gif ...
Плиз помоги с выводом данных и самой работой проги... mega_chok.gif ...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #18


просто человек
******

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

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


вообще "хождение" имеет вид примерно такой:
for i:=1 to step-1 do {делаем заданное количество шагов.}
p:=p^.link;{каждый раз переходя на следующий элемент}
writeln(p^.info); {а теперь выводим, на какой элемент указывает p}

поскольку список циклический, можно не волноваться, что p^.link=nil
а вот проверить, чтобы изначально список был не пустой - имеет смысл.

для упрощения алгоритма (если мы работаем с односвязными списками, то есть перейти на предыдущий элемент нет возможности) можно делать на шаг меньше и останавливаться на элементе, предшествующем удаляемому. Это упростит удаление... А вывод примет вид:
writeln((p^.link)^.info)


Сообщение отредактировано: мисс_граффити -


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #19


Пионер
**

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

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


СпасиБо...вы мне ТТТТТТТТТТААААААААААКККККККККК помогли... smile.gif ...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #20


Гость






ну никак не получается эта прога...хоть убейте...
вот заполняет, выводит, осталось само выбывание...
Народ, помогите плиз...
Код
uses crt;
type
lob=^zap;
zap= record
info:integer;
link:lob
end;
var
p,t:lob;
n,k,i:integer;
procedure ZAPOL(n:integer; var t:lob);
var i:integer;
p,z:lob;
begin
t^.info:=1;
t^.link:=t;
for i:=n downto 2 do
begin
new(p);
z:=t^.link;

p^.link:=z;
t^.link:=p;
p^.info:=i;
end;
end;

procedure Print(r:lob);
var
i:integer;
begin
r:=p;
while p<>r^.link do
begin
writeln ('Ќ®¬Ґа = ' ,r^.info);
r:=r^.link;
end;
writeln('Ќ®¬Ґа = ', r^.info);
end;
procedure DEL(var p:lob);
var
r:lob;
begin
r:=p^.link;
p^.link:=p^.link^.link;
dispose®;
r^.link:=nil
end;

{procedure ydal (var t:lob; d:integer);
var
i:integer;p:lob;
begin
}
function menu:integer;
var
k:integer;
begin
writeln;
writeln;
writeln('1-‡ Ї®«­Ёвм бЇЁб®Є');
writeln('2-ђ бЇҐз в вм бЇЁб®Є');
writeln('3-ђ бЇҐз в вм Ї®а冷Є ўлЎлў ­Ёп н«Ґ¬Ґ­в®ў');
writeln('0-‚л室 Ё§ Їа®Ја ¬¬л');
writeln('‚ и ўлЎ®а');
readln(k);
menu:=k;
end;
   begin{Ћб­®ў­ п Їа®Ја ¬¬ }
   clrscr;
k:=1;
writeln('Џа®Ја ¬¬ ,Ї®Є §лў ой п Ї®а冷Є ўлЎлў ­Ёп ¤ҐвҐ© Ё§ ЈагЇЇл ЇаЁ § ¤ ­­®¬ Є®«ЁзҐб⢥ б«®ў ў бзЁв «®зЄҐ ');

{writeln('‚ў®¤ЁвҐ а §¬Ґа бзЁв «®зЄЁ');
readln(k);}

while k<>0 do
begin

k:=menu;
Case k of

1:begin
writeln('‚ўҐ¤ЁвҐ Є®«ЁзҐбвў® ¤ҐвҐ©');
readln(n);
zapol(n,t);
end;
2:print(t);
{3:}
0:begin
writeln('Љ®­Ґж а Ў®вл Їа®Ја ¬¬л');
readln;
end;
end;
end
end.

осталось 3 процедуру только сделать... mega_chok.gif mega_chok.gif mega_chok.gif ...
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 28.03.2024 20:04
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name