baromir
Участник
Обманешь раз-чёрт с тобой, обманешь второй-закопаю
licq:8071
|
отправлено: 23-12-2008 08:11:27 | |
инфо • правка • ссылка • сообщить модератору |
задача по паскалю, нужно удалить 6-ю запись из заданной цепочки р, причём нужно предусматреть коварные вопросы типа если в цепочки меньше 6ти символов как тогда работает прога, вообщем нужна прога чтобы пользователь ввёл номер нужной записи прога проверила длину цепочки и если длина подходящая то удалила нужную запись желательно чем быстрее тем лучше, помогите |
|
IP |
|
asd
Участник
aka маленький
|
|
kayort
Участник
Service System & Message Gateway
licq:6268
|
|
baromir
Участник
Обманешь раз-чёрт с тобой, обманешь второй-закопаю
licq:8071
|
отправлено: 23-12-2008 15:15:55 | |
инфо • правка • ссылка • сообщить модератору |
To asd там тема с динамической памятью,я ни операторов ни циклов ничего не знаю, обьяснили пару задач и дали на зачёте по этой теме, ребят ну хоть что-нибудь помогите To kayort понятнее не могу обьяснить, цитата: удалить 6-ю запись из заданной цепочки р так звучала задача на зачёте, ничего конкретнее написать не могу, раздел тот тк более посещаемый разного рода специалистами To space monkey фортран должен со следующего семестра идти, пока паскаль, цепочка чёрт её знает какая, она есть и всё когда в школе 2 года информатики ушли на изучение ворда и пэинта сложно за 3 месяца освоить массивы,матрицы,множества,записи,матрицы,динамическую память и тп да ещё и матан, помогите хоть чем |
|
IP |
|
DarthVader
Участник
!иɔоɔ и инǝvоʞ ɐн
|
отправлено: 23-12-2008 16:49:16 | |
инфо • правка • ссылка • сообщить модератору |
To iFTP Только garbage collector не хватает Его съедят на на объявлении класса. To baromir Тут простейший динамический массив из записей, накатал бы, но паскалевский синтаксис вспоминать не охота, уж больно там режущая глаз работа с указателями. На C, C#, Python могу, сам перевести сможешь ? |
Сообщение изменено DarthVader от 2008-12-23 16:51:13 |
|
IP |
|
baromir
Участник
Обманешь раз-чёрт с тобой, обманешь второй-закопаю
licq:8071
|
|
kayort
Участник
Service System & Message Gateway
licq:6268
|
отправлено: 24-12-2008 11:12:30 | |
инфо • правка • ссылка • сообщить модератору |
To baromir цепочка это что, массив, или строка? если массив, то какой тип, если строка, то чем разделены записи и что значит предусмотреть коварные вопросы? от паскаля или от кого? или имеется ввиду проверка корректности данных? вводные данные вводятся с клавиатуры, лежат в файле, или просто считать что они уже есть? у тебя получается сделай то не знаю что |
Сообщение изменено kayort от 2008-12-24 11:12:40 |
|
IP |
|
kayort
Участник
Service System & Message Gateway
licq:6268
|
|
baromir
Участник
Обманешь раз-чёрт с тобой, обманешь второй-закопаю
licq:8071
|
отправлено: 24-12-2008 15:05:18 | |
инфо • правка • ссылка • сообщить модератору |
To kayort цитата: удалить 6-ю запись из заданной цепочки р вот формулировка задачи, вот и сделай то не знаю что сказали что через указатели надо её решать типа q.^next (не что эта хня значит но надо такие вот хрени использовать) |
|
IP |
|
baromir
Участник
Обманешь раз-чёрт с тобой, обманешь второй-закопаю
licq:8071
|
отправлено: 24-12-2008 15:52:22 | |
инфо • правка • ссылка • сообщить модератору |
type pbox=^box; box=record; next:pbox; end; function dlina(var p:pbox):integer; var q:pbox; c:integer; begin c:=0; q:=p; while not (q=nil) do begin c:=c+1; q:=q.^next; end; dlina:=c; end; var k,l,i:integer; p,q:pbox; begin readln(k); l:=dlina(p); if l>=k then begin q:=p; i:=0; while i<>k-1 do begin i:=i+1; q:=q^.next; end; q:=q^.next.^next; dispose(q.^next); q.^next:=p else q:=p; p:=p.^next; dispose(q); end; end; end. вот задача по той теме которая мне нужна, но она удалять любой элемент(к) цепочки р, там есть ошибка хз какая, вот такая мне нужна прога |
|
IP |
|
V0va
Участник
licq:6219
|
отправлено: 24-12-2008 17:21:12 | |
инфо • правка • ссылка • сообщить модератору |
Списком значит надо... Зачем ты эту функцию рекурсивно вызываешь? Сделал бы две: dlina и delete, например Одна вызывала бы другую. |
|
IP |
|
baromir
Участник
Обманешь раз-чёрт с тобой, обманешь второй-закопаю
licq:8071
|
|
kayort
Участник
Service System & Message Gateway
licq:6268
|
отправлено: 26-12-2008 21:59:21 | |
инфо • правка • ссылка • сообщить модератору |
извращенцы те, кто придумал рекурсию, намного сложнее для понимания, чем циклы, но вторым можно обойтись всегда, ну оптимизация конечно да) |
|
IP |
|
k1rR
Участник
HATE THIS REAL
licq:2153
|
|
kayort
Участник
Service System & Message Gateway
licq:6268
|
|
DarthVader
Участник
!иɔоɔ и инǝvоʞ ɐн
|
отправлено: 31-12-2008 21:07:39 | |
инфо • правка • ссылка • сообщить модератору |
To kayort В чем проблема реализовать циклы при помощи рекурсии ? Или ты пишешь на нерасширяемом говне ? Рекурсия фундаментальна, циклы - вторичный элемент императивных языков. |
|
IP |
|
hyper
Участник
невозможное возможно
licq:4421
|
|
baromir
Участник
Обманешь раз-чёрт с тобой, обманешь второй-закопаю
licq:8071
|
отправлено: 08-01-2009 13:33:20 | |
инфо • правка • ссылка • сообщить модератору |
спам здесь хорошо идёт, но может всё таки кто-нибудь покажет себя на деле и напишет одну долбанную функцию вот пример, эта хрень распечатывает любой элемент к цепочки q:=p; i:=1; while (q<>nil) and (i<k) do begin i:=i+1; q:=q^.next; end; if q<>nil then writeln(q^.inf) else writeln(‘нет записи’); может её кто-нибудь переделать чтобы она удаляла а не печатала?и может кто-нибудь обьяснит где тут машина зачитывает номер элемента вводимое пользователем? |
|
IP |
|
|