Помогите написать программу, которая выводит динамическое изображение куба, вращающегося вокруг заданной оси. Желательно в Pascale. Заранее спасибо.
Задача по инфе
Сообщений 1 страница 11 из 11
Поделиться32006-02-24 18:39:19
Спасибо за быстрый ответ. Сейчас проверю в действии. Ещё раз спасибо!
Поделиться42006-02-24 18:48:01
А где бы найти программу реализации очереди с помощью курсоров? Так же на Паскале.
Поделиться52006-02-24 20:20:56
В смысле с помощью указателей?
Поделиться62006-02-24 20:59:03
"Напишите программу реализации очереди с помощью курсоров." Вот такая задача и не знаю, что думать.
Поделиться72006-02-24 21:06:46
program pr09a; { Очередь в динамической памяти } { (c) 2005 by Gumanoid } type link = ^node; node = record inf: integer; ref: link; end; procedure push(var head, tail: link; x: integer); var p: link; begin new(p); { Выделить ячейку памяти } p^.inf:=x; { Записать в неё значение } p^.ref:=nil; { Последний элемент } if ((nil=head) and (nil=tail)) then { Если очередь пуста } begin head:=p; tail:=p; end else begin tail^.ref:=p; { Ссылка на добавленный элемент } tail:=p; { Последний элемент } end; end; function pop(var head, tail: link; var x: integer): boolean; var p: link; begin if ((nil=head) and (nil=tail)) then pop:=false { Если очередь пуста } else begin x:=head^.inf; { Получить значение элемента } if head=tail then { Если больше нет элементов } begin dispose(head); { Освободить память } head:=nil; tail:=nil; end else begin p:=head^.ref; { Записать адрес 2-го элемента } dispose(head); { Освободить память } head:=p; end; pop:=true; end; end; procedure print_menu; begin WriteLn; WriteLn('1. Добавить элемент'); WriteLn('2. Извлечь элемент'); WriteLn('3. Выйти'); write('# '); end; var numb: byte; value: integer; head, tail: link; close_query: boolean; begin close_query:=false; head:=nil; tail:=nil; while not close_query do begin print_menu; read(numb); case numb of 1: begin write('Введите значение: '); read(value); push(head, tail, value); end; 2: if pop(head, tail, value) then WriteLn(value) else WriteLn('Ошибка. Очередь пуста.'); 3: close_query:=true; end; end; end.
Поделиться82006-02-24 21:18:07
Gumanoid, благодарю тебя. Но, вопрос: в чем смысл этой программы? Не пойму, как поставленной задачи, так и ее решение.
Поделиться92006-02-24 21:20:24
оффтоп: а почему ты решил к нашей кафдере обратиться, а не к, скажем, 29?
Поделиться102006-02-24 21:26:35
Почему? Задание получил от препода 17-ой. Вот и решил, что лучше обращаться к вам.
Поделиться112006-02-24 21:44:45
Не пойму, как поставленной задачи, так и ее решение.
а гуглить пробывали?