Программирование Turbo Pascal 7 и Delphi 7, Обращайтесь кто интересуется |
Здравствуйте, гость ( Вход | Регистрация )
Программирование Turbo Pascal 7 и Delphi 7, Обращайтесь кто интересуется |
Aug 24 2005, 14:35
Сообщение
#1
|
|
Мега постер Группа: Posters Сообщений: 1,337 Регистрация: 15.8.2005 Из: Москва Пользователь №: 45 |
Можете сдесь задавать свои вопросы по этой теме.
-------------------- http://www.fds-net.ru Филиал Дома Студента МГУ
|
|
|
Jun 7 2007, 14:32
Сообщение
#101
|
|
Настоящий ADSL'щик Группа: Local moder Сообщений: 457 Регистрация: 3.5.2006 Из: Чебоксары Пользователь №: 498 |
такой вопрос по делфи.. у самого уже мозги кипят думать не могу..
имеется два массива v[i], d[i] отсортированные по возрастанию, где v высота и d длина кирпича.. надо изобразить на форме или image эти кирпичи так чтобы один стоял на другом.. типа того что на картинке.. можо использовать rectangle или с помошью линий..
Прикрепленные файлы
-------------------- трудно быть человеком.. люди мешают..
|
|
|
Jun 8 2007, 12:41
Сообщение
#102
|
|
Мега постер Группа: Local moder Сообщений: 1,712 Регистрация: 21.8.2006 Пользователь №: 1,269 |
Нужно чтобы кирпичи образовывали пирамидку? Т.е. в порядке убывания ширины основания друг на друга ложились?
One moment - как определяется принадлежность v и d для некоторого кирпича, если массивы отсортированы? Сообщение отредактировал Amp - Jun 9 2007, 00:01 -------------------- |
|
|
Jun 10 2007, 11:50
Сообщение
#103
|
|
Новичок Группа: Members Сообщений: 2 Регистрация: 20.7.2006 Пользователь №: 1,011 |
такой вопрос по делфи.. у самого уже мозги кипят думать не могу.. имеется два массива v[i], d[i] отсортированные по возрастанию, где v высота и d длина кирпича.. надо изобразить на форме или image эти кирпичи так чтобы один стоял на другом.. типа того что на картинке.. можо использовать rectangle или с помошью линий.. Допустим v[3,5,7,8] (высота) d[9,1,4,2] (длина), значит первый кирпичь имеет размер 3х9, но после сортироски получится 3х1 - а это уже не соопветствут введенному. Если посмотреть на твой рисунок то кирпичи у тебя стоят по убыванию длинны их основания. Если я все правильно понимаю, то можно просто находить во 2-ом массиве мах елемент и начиная с него , ссылаясть на соответствующий номер элемента , выстраивать эти кирпичи, в порядке убывания длинны. |
|
|
Гость_Lady_Melamory_* |
Jun 14 2007, 22:50
Сообщение
#104
|
Guests |
Здравствуйте. Вообщем написала на паскале.
Переделать, думаю, легко будет... program kirpich; uses crt, graph; var c:array[1..3] of integer; d:array[1..3] of integer; i,y,cd,m:integer; begin readkey; clrscr; cd:=0; m:=0; c[1]:=10;c[2]:=20;c[3]:=30; d[1]:=15;d[2]:=25;d[3]:=35; Initgraph(cd,m,'c:\bp\bgi'); y:=200; For i:=3 downto 1 do begin y:=y-c[i]; rectangle(100,y,100+d[i],y+c[i]); end; readkey; end. |
|
|
Гость_Lady_Melamory_* |
Jun 14 2007, 22:56
Сообщение
#105
|
Guests |
Это конечно если массивы уже отсортированы. Если же нет, то
просто сортируем любым методом. Если надо могу написать. |
|
|
Jun 15 2007, 19:23
Сообщение
#106
|
|
Настоящий ADSL'щик Группа: Local moder Сообщений: 457 Регистрация: 3.5.2006 Из: Чебоксары Пользователь №: 498 |
Всем спасибо.. Подкинули идею, осилил сам..
выглядит вот так.. вобще условие было.. если кому интересно: Цитата Строители изготавливют N кирпичей. Каждый кирпич это параллелепипед с размерами (v, d, s). Необходимо узнать наибольшую высоту башни, которую можно построить из этих кирпичей, причем кирпичи можно ставить на любую грань, но так, чтобы основание нижнего кирпича (ширина и длина) было больше (не равно) основания верхнего.
Сообщение отредактировал DaviN - Jun 15 2007, 19:28
Прикрепленные файлы
-------------------- трудно быть человеком.. люди мешают..
|
|
|
Jun 15 2007, 19:53
Сообщение
#107
|
|
Мега постер Группа: Local moder Сообщений: 1,712 Регистрация: 21.8.2006 Пользователь №: 1,269 |
А в задании что-то не говорится про то, что это надо рисовать ))
-------------------- |
|
|
Jun 15 2007, 20:04
Сообщение
#108
|
|
Настоящий ADSL'щик Группа: Local moder Сообщений: 457 Регистрация: 3.5.2006 Из: Чебоксары Пользователь №: 498 |
А в задании что-то не говорится про то, что это надо рисовать )) аха.. но препод сказал, что без картинок не понятно..не принял, пришлось рисовать.. -------------------- трудно быть человеком.. люди мешают..
|
|
|
Гость_APTEM(rus)_* |
Aug 16 2007, 15:26
Сообщение
#109
|
Guests |
Мне нужно перехватить API-функцию "connect()".
|
|
|
Aug 16 2007, 18:41
Сообщение
#110
|
|
Мега постер Группа: Local moder Сообщений: 1,712 Регистрация: 21.8.2006 Пользователь №: 1,269 |
Первое, что бросается в глаза - http://rsdn.ru/article/baseserv/IntercetionAPI.xml
На wasm-е еще материалы есть. -------------------- |
|
|
Гость_Rock_* |
Sep 15 2007, 12:19
Сообщение
#111
|
Guests |
Нужно написать прогу на паскале. Условия: дана координатная плоскость, часть которой заштрихована. Эта часть ограничена тремя линиями:
окружность (x*x +y*y=1), X<0,2 Y<0 Ввод - координаты точки X и Y, вывод - значение булевской переменной. Также необходимо включить в программу операторы вывода, контролирующие написать ничего лучше, чем Код program Lab1; Жму Alt+F9, у меня выходит сообщение, типа Press Ctrl+Break.. Очевидно, что записано все неправильно, исправьте, плииз!!! var x,y :integer; K:boolean; begin write ('Vvedite x u y 4erez probel'); readln (x, y); if (x*x+y*y<1) then begin if (x<0) then begin if (y<0) then K:=true else K:=false end; end; end. Спасибо за ранее!!! |
|
|
Sep 15 2007, 13:22
Сообщение
#112
|
|
Мега постер Группа: Local moder Сообщений: 1,712 Регистрация: 21.8.2006 Пользователь №: 1,269 |
Так понимаю, проверить принадлежность точки заданной области?
Код var x,y : real;
begin readln(x, y); if((x*x+y*y<=1) and (x<0.2) and (y<0)) then write('true') else write('false'); readln; end. -------------------- |
|
|
Sep 15 2007, 14:48
Сообщение
#113
|
|
Пользователь Группа: Posters Сообщений: 53 Регистрация: 29.9.2006 Пользователь №: 2,126 |
Нужно написать прогу на паскале. Условия: дана координатная плоскость, часть которой заштрихована. Эта часть ограничена тремя линиями: окружность (x*x +y*y=1), X<0,2 Y<0 Ввод - координаты точки X и Y, вывод - значение булевской переменной. Также необходимо включить в программу операторы вывода, контролирующие написать ничего лучше, чем Код program Lab1; Жму Alt+F9, у меня выходит сообщение, типа Press Ctrl+Break.. Очевидно, что записано все неправильно, исправьте, плииз!!! var x,y :integer; K:boolean; begin write ('Vvedite x u y 4erez probel'); readln (x, y); if (x*x+y*y<1) then begin if (x<0) then begin if (y<0) then K:=true else K:=false end; end; end. Спасибо за ранее!!! А ты Ctrl+F9 нажимать не пробовал? |
|
|
Sep 15 2007, 14:51
Сообщение
#114
|
|
Пользователь Группа: Posters Сообщений: 53 Регистрация: 29.9.2006 Пользователь №: 2,126 |
И если не поставишь перед "end." нечто типа "readln;" как то сделано у Amp'a ... то попробуй еще потыкать Alt+F5 после выполнения программы.
В программе ошибок нет. |
|
|
Sep 15 2007, 15:06
Сообщение
#115
|
|
Мега постер Группа: Local moder Сообщений: 1,712 Регистрация: 21.8.2006 Пользователь №: 1,269 |
Первая ошибка программы - использование зачем-то целого типа.
-------------------- |
|
|
Гость_Rock_* |
Sep 15 2007, 16:15
Сообщение
#116
|
Guests |
Подскажите, почему при запуске программы или компиляции выходит следующее сообщение:
А как включить в программу операторы ввода, контролирующий порядок выполнения условных операторов, чтобы он выводил номер ветви алгоритма? Amp, спасибо большое!! А можно ли написать эту же программу, но чтобы операторы решения содержали только одно условие (не использовать булевые операции OR, AND)? |
|
|
Sep 15 2007, 16:22
Сообщение
#117
|
|
Мега постер Группа: Local moder Сообщений: 1,712 Регистрация: 21.8.2006 Пользователь №: 1,269 |
Что представляет собой твой диск F?
-------------------- |
|
|
Гость_Rock_* |
Sep 15 2007, 16:29
Сообщение
#118
|
Guests |
Диск F у меня - виртуальный дисковод алкоголя, на который ничего не смонтировано, че паскаль от него хочет.. - хз.. может у того, у кого я паскаль скачал, на диске F чет было?
|
|
|
Sep 15 2007, 16:54
Сообщение
#119
|
|
Пользователь Группа: Posters Сообщений: 53 Регистрация: 29.9.2006 Пользователь №: 2,126 |
Потыкай меню. Там должен быть пункт Directopries. Возможно там у тебя прописаны ссылки на диск F.
Это пути к служебным модулям и т.п. |
|
|
Sep 15 2007, 17:20
Сообщение
#120
|
|
Пользователь Группа: Posters Сообщений: 53 Регистрация: 29.9.2006 Пользователь №: 2,126 |
Первая ошибка программы - использование зачем-то целого типа. Давай уж сразу напрямки: "Не выпедривайся, салага." Нечего нас разгильдяев жалеть. Код program Lab1; var x,y :real; K:boolean; begin k:=false; write ('Vvedite x u y 4erez probel'); readln (x, y); Write('1. Proverka x*x +y*y=1 : ') if (x*x+y*y<1) then begin Writeln('true'); //Resultat 1-ei proverki Write('2. Proverka x<0.2 : '); if (x<0.2) then begin Writeln('true'); //Resultat 2-ei proverki Write('3. Proverka y<0 : '); if (y<0) then begin Writeln('true'); //Resultat 3-ei proverki K:=true end else Writeln('false'); //Resultat 3-ei proverki end else Writeln('false'); //Resultat 2-ei proverki end else Writeln('false'); //Resultat 1-ei proverki Writeln(k); // Itogovyi resultat Readln; end. Если мне не изменяет память и внимательность. |
|
|
Текстовая версия | Сейчас: 12th May 2024 - 06:42 |