Перейти к содержанию

Vanix

Пользователи
  • Постов

    78
  • Зарегистрирован

  • Посещение

Весь контент Vanix

  1. сидел, пропадал *pactalom
  2. прикольные картинки, пара дней потребовалось чтобы просмотреть всю тему
  3. ник - vanix. Вообщем нравится мне личность великого Линуса Торвальдса. Ну собтвенно ник образовался от моего имени по такому же принципу как название оси Линуса )) ава - нравятся мячики футбльные и всё что с ними связано )) Интересно какие заячьи или кроличьи качества мне присущи))
  4. №12, оч разнасторонний человек, за неё и голосую
  5. Просто №8 и всё, больше нет уже слов ))))
  6. D_Master +1 Люди помогите настроить D-Link 2500U/BRU/D в режиме роутера меню собственно, если кому что скажет )):
  7. Выбирал между №10 и №11. И проголосовал за №11 ЗЫ Жаль нельзя проголосовать за двоих ))
  8. нет, ща попробую //---------------------- не помогло
  9. 0xDEADBEEF какой посоветуешь?, хотя нежелательно мне сдавать курсач через пару дней а ещё писать и писать
  10. а другии идеи у кого нибудь будут
  11. Больше всего понравились №1 и№ 7, а ещё прикололо название торта у №3 )))) Я в раздумьях за кого голосовать............................................................................... Всё таки за №1
  12. если через 3 массива(записей(3 поля в каждом: имя и возраст и булиновское поле )) (ну это канешь как кому удобно). Ищешь среди всех записей записи с оригинальными именами. Если нашёл то в этой записи в 3м поле ставишь тру. Далее как нашёл все записи с оригинальными именами, то смотришь те массивы в которых есть оригинальные имена(тоесть в одной записи встречается тру в третьем поле), значит другие записи в этом массиве ложны, ищешь теперь запись которая по имени совпадает с ложной. и записываешь в 3 поле найденой записи тру. После того как сделаешь такие действия с каждой ложной записью, то будут найдены все ложные и истинные записи. Канешь этот алгоритм не для общего случая, но для этой задачи сойдёт
  13. вообщем у меня возникла такая проблема: как в отдельном юните создать глобальную переменную, если я создаю переменную(описание как у переменной, а не у константы), но во время работы проги переменная не меняет значение. Что выделено на рисунке красным цветом - то является переменной или константой? Если константа, то как создать переменную(если убрать =false, то всё равно ситуация остаётся прежней ) Если кто нибуть скажет вседствии чего появляются такие ворнинги и как от них избавится, то вдвойне буду благодарен.
  14. L0K1 Здесь во первых не обсуждают приимущесто одного языка перед другими а выясняют проблеммы возникщие в процессе программирования на TP7 или Delphi, во вторых я читаю что переходить от ТР7 стоит к Delphi а не к FreePascal, но это уже совсем другая тема http://ulanovka.ru/forum/viewtopic.php?t=21876
  15. martingesя тоже в принципе не вижу, тк дек не предусматривает доступ к элементам в середине, я просто показал haha что такое возможно ))))
  16. Быс сёдня на спартаке, не работает. походу 10-го тоже работать не будет
  17. Сходил сегодня на спартак. ППЦ. Во-первых снега дох..рища, как ледокол в арктики катаешься, во-вторых катишься по льду как по ребрам, но зато народа человек 50 максимум. Воть, может чё нить в понедельник сделают со льдом но на локо ходить точно больше не буду, лучше уж так ))))))
  18. martinges ну в таком случае можно сказать что дек это двусторонний стек, и всё таки по моему дек это самостоятельная структура и не стал относить к той или иной.А что касается дисциплины обработки то здесь так же можно увидить и LIFO и FIFO. Сделать удаление и добавление из середины с уже имеющимися процедурами сделать несложно Вот собственно две необходимые процедуры: procedure AddElmDecMed(var CurTop,CurBtm:PtrBoundDec; NewElm:integer; CurNum:byte); var TmpDec1,TmpDec2:PtrBoundDec; TmpI:byte; begin if CurNum=1 then begin AddElmDecTop(CurTop,CurBtm,NewElm); exit; end; TmpDec1:=CurTop; TmpI:=1; while(TmpDec1<>nil)and((TmpI+1)<>CurNum)do begin TmpDec1:=TmpDec1^.Next; inc(TmpI); end; if (TmpI begin writeln('wrong number'); exit; end; if (TmpDec1=nil)then AddElmDecBtm(CurTop,CurBtm,NewElm) else begin new(TmpDec2); TmpDec2^.Data:=NewElm; TmpDec2^.Next:=TmpDec1^.Next; TmpDec2^.Prev:=TmpDec1; TmpDec1^.Next^.Prev:=TmpDec2; TmpDec1^.Next:=TmpDec2; end; end; procedure DelElmDecMed(var CurTop,CurBtm:PtrBoundDec; CurNum:byte); var TmpDec1,TmpDec2,TmpDec3:PtrBoundDec; TmpI:byte; begin if CurNum=1 then begin DelElmDecTop(CurTop,CurBtm); exit; end; TmpDec1:=CurTop; TmpI:=0; while(TmpDec1<>nil)and((TmpI+1)<>CurNum)do begin TmpDec1:=TmpDec1^.Next; inc(TmpI); end; if TmpDec1=nil then begin writeln('wrong number'); exit; end; if TmpDec1^.Next=nil then DelElmDecBtm(CurTop,CurBtm) else begin TmpDec2:=TmpDec1^.Prev; TmpDec3:=TmpDec1^.Next; Dispose(TmpDec1); TmpDec2^.Next:=TmpDec3; TmpDec3^.Prev:=TmpDec2; end; end; если кто-нибудь сможет оптимизировать данные процедуры или написать элегантней похожие процедуры прошу выложить свои варианты здесь же
  19. martinges системы LIFO(стек), а FIFO(очередь)
  20. haha Дек это разновидность списка, доступ к эдементам котогого осушествляется как с конца(дна) так и с начала(вершины), те и в начало и в конец можно добавлять элементы и удалять элементы оттуда.
  21. реализация дека последовательным способом: uses crt; const n=100; m=10; type ConDec=array[1..n] of integer; var Dec1:ConDec; i:byte; elm:integer; procedure InitDec(var CurDec:ConDec); begin for i:=1 to n do Dec1:=0; end; function AmtElmInDec(CurDec:ConDec):byte; var TmpAmt:byte; begin AmtElmInDec:=0; TmpAmt:=0; for i:=1 to n do if CurDec<>0 then inc(TmpAmt) else break; AmtElmInDec:=TmpAmt; end; procedure CrtDec(var CurDec:ConDec); begin InitDec(CurDec); randomize; for i:=1 to m do CurDec:=random(100); end; procedure AddToDecUp(var CurDec:ConDec; NewElm:integer); begin for i:=AmtElmInDec(CurDec) downto 1 do CurDec[i+1]:=CurDec; CurDec:=NewElm; end; procedure AddToDecDown(var CurDec:ConDec; NewElm:integer); begin CurDec[AmtElmInDec(CurDec)+1]:=NewElm; end; procedure DelElmDecUp(var CurDec:ConDec); begin for i:=1 to AmtElmInDec(CurDec) do CurDec:=CurDec[i+1]; {CurDec[AmtElmInDec(CurDec)]:=0;} end; procedure DelElmDecDown(var CurDec:ConDec); begin CurDec[AmtElmInDec(CurDec)]:=0; end; procedure DelDec(Var CurDec:ConDec); begin InitDec(CurDec); end; procedure WriteDec(CurDec:ConDec); begin for i:=1 to AmtElmInDec(CurDec) do write(CurDec:4); writeln; end; Begin clrscr; writeln('create dec'); CrtDec(Dec1); WriteDec(Dec1); readkey; write('add element in top: new element: '); read(elm); AddToDecUp(Dec1,elm); WriteDec(Dec1); readkey; write('add element in bottom: new element: '); read(elm); AddToDecDown(Dec1,elm); WriteDec(Dec1); readkey; writeln('delete element from top'); DelElmDecUp(Dec1); WriteDec(Dec1); readkey; writeln('delete element from bottom'); DelElmDecDown(Dec1); WriteDec(Dec1); readkey; writeln('delete dec'); DelDec(Dec1); WriteDec(Dec1); readkey; End. Реализация дека связным способом: uses crt; const n=100; m=10; type PtrBoundDec=^TypeBoundDec; TypeBoundDec=record Data:integer; Next:PtrBoundDec; Prev:PtrBoundDec; end; var Top,Btm:PtrBoundDec; elm:integer; i:byte; procedure AddElmDecTop(var CurTop,CurBtm:PtrBoundDec; NewElm:integer); var TmpDec:PtrBoundDec; begin new(TmpDec); TmpDec^.Data:=NewElm; TmpDec^.Next:=nil; TmpDec^.Prev:=nil; if CurTop=nil then CurBtm:=TmpDec else begin TmpDec^.Next:=CurTop; CurTop^.Next^.Prev:=TmpDec; end; CurTop:=TmpDec; end; procedure AddElmDecBtm(var CurTop,CurBtm:PtrBoundDec; NewElm:integer); var TmpDec:PtrBoundDec; begin new(TmpDec); TmpDec^.Data:=NewElm; TmpDec^.Next:=nil; TmpDec^.Prev:=nil; if CurBtm=nil then CurTop:=TmpDec else begin TmpDec^.Prev:=CurBtm; CurBtm^.Next:=TmpDec; end; CurBtm:=TmpDec; end; procedure CrtDec(var CurTop,CurBtm:PtrBoundDec); begin CurTop:=nil; CurBtm:=nil; randomize; for i:=1 to m do AddElmDecBtm(CurTop,CurBtm,random(100)); end; procedure DelElmDecTop(var CurTop,CurBtm:PtrBoundDec); var TmpDec:PtrBoundDec; begin TmpDec:=CurTop; if CurTop^.Next=nil then begin CurTop:=nil; CurBtm:=nil; end else begin CurTop:=CurTop^.Next; CurTop^.Prev:=nil; end; Dispose(TmpDec); end; procedure DelElmDecBtm(var CurTop,CurBtm:PtrBoundDec); var TmpDec:PtrBoundDec; begin TmpDec:=CurBtm; if CurBtm^.Prev=nil then begin CurTop:=nil; CurBtm:=nil; end else begin CurBtm:=CurBtm^.Prev; CurBtm^.Next:=nil; end; Dispose(TmpDec); end; procedure WriteDec(CurTop:PtrBoundDec); var TmpDec:PtrBoundDec; begin TmpDec:=CurTop; while TmpDec<>nil do begin write(TmpDec^.Data:4); TmpDec:=TmpDec^.Next; end; writeln; end; procedure DelDec(var CurTop,CurBtm:PtrBoundDec); var TmpDec:PtrBoundDec; begin while CurTop<>nil do DelElmDecTop(CurTop,CurBtm); end; Begin clrscr; CrtDec(Top,Btm); WriteDec(Top); readkey; AddElmDecTop(Top,Btm,random(100)); WriteDec(Top); readkey; AddElmDecBtm(Top,Btm,random(100)); WriteDec(Top); readkey; DelElmDecTop(Top,Btm); WriteDec(Top); readkey; DelElmDecBtm(Top,Btm); WriteDec(Top); readkey; DelDec(Top,Btm); WriteDec(Top); readkey; End.
×
×
  • Создать...