|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Лабораторная работа |
|
C/C++ - Лабораторная работа
|
Новый участник Сообщения: 15 |
A и B – середины двух несмежных боковых ребер правильной шестиугольной призмы. Найти на плоскости нижнего основания призмы все такие точки, что прямые MA и MB образуют равные углы с плоскостью нижнего основания призмы.
|
|
Отправлено: 23:39, 23-03-2003 |
![]() Старожил Сообщения: 240
|
Профиль | Отправить PM | Цитировать noname00.pas
На соседних - не могут согласно условию задачи ![]() |
------- Отправлено: 04:45, 28-03-2003 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Студент Сообщения: 445
|
Профиль | Отправить PM | Цитировать shurikan
Может кто-то путается в терминологии... Я всегда считал, что смежными рёбрами называются рёбра, инцедентные одной вершине. |
------- Отправлено: 18:35, 28-03-2003 | #12 |
![]() Старожил Сообщения: 240
|
Профиль | Отправить PM | Цитировать noname00.pas
Цитата:
![]() ![]() ![]() |
|
------- Отправлено: 19:17, 28-03-2003 | #13 |
Новый участник Сообщения: 15
|
Все вычисления проводятся в одной плоскости и в полярных координатах.
Привожу код: #include<graphics.h> #include<conio.h> #include<dos.h> #include<math.h> #include<stdio.h> #include<stdlib.h> #define pi 3.141592736 #define kt 1.732050808 float cosa,cosb,sina,sinb; void ini(float cos1, float cos2) { cosa=cos(cos1*pi/180); cosb=cos(cos2*pi/180); sina=sin(cos1*pi/180); sinb=sin(cos2*pi/180); } void plot(int x, int y, int z, int &x1, int &y1) { x1=x*cosa-y*sina; y1=x*sina*sinb+y*cosa*sinb+z*cosb; x1=300+x1; y1=240-y1; } void search(int a, int b, double* px, double* py, double* rx, double* ry) { int tu[6]={120, 60, 0, 300, 240, 180}; int u; double ur, p; u=tu[a]+tu[b]; while (u>360) { u=u-360; } u=u/2; if ((u%60)==0) { ur=(u*pi/180); p=2; *px=p*cos(ur); *py=p*sin(ur); *rx=p*cos(ur+pi); *ry=p*sin(ur+pi); } else { ur=(u*pi/180); p=kt; *px=p*cos(ur); *py=p*sin(ur); *rx=p*cos(ur+pi); *ry=p*sin(ur+pi); } printf("p=(%d, %d)\nr=(%d, %d)\n", *px, *py, *rx, *ry); getch(); } void main() { int gd=DETECT, gm; initgraph(&gd, &gm, "" ![]() int p=45; ini(p, p); int a, b; double tx[6]={-1, 1, 2, 1, -1, -2}; double ty[6]={kt, kt, 0, -kt, -kt, 0}; double rx, ry, px, py; int x[16]; int y[16]; plot(int(tx[0]*100), int(ty[0]*100), 0, x[0], y[0]); plot(int(tx[1]*100), int(ty[1]*100), 0, x[1], y[1]); plot(int(tx[2]*100), int(ty[2]*100), 0, x[2], y[2]); plot(int(tx[3]*100), int(ty[3]*100), 0, x[3], y[3]); plot(int(tx[4]*100), int(ty[4]*100), 0, x[4], y[4]); plot(int(tx[5]*100), int(ty[5]*100), 0, x[5], y[5]); plot(int(tx[0]*100), int(ty[0]*100), 100, x[6], y[6]); plot(int(tx[1]*100), int(ty[1]*100), 100, x[7], y[7]); plot(int(tx[2]*100), int(ty[2]*100), 100, x[8], y[8]); plot(int(tx[3]*100), int(ty[3]*100), 100, x[9], y[9]); plot(int(tx[4]*100), int(ty[4]*100), 100, x[10], y[10]); plot(int(tx[5]*100), int(ty[5]*100), 100, x[11], y[11]); setcolor(9); line(x[0], y[0], x[1], y[1]); line(x[1], y[1], x[2], y[2]); line(x[2], y[2], x[3], y[3]); line(x[3], y[3], x[4], y[4]); line(x[4], y[4], x[5], y[5]); line(x[5], y[5], x[0], y[0]); line(x[6], y[6], x[7], y[7]); line(x[7], y[7], x[8], y[8]); line(x[8], y[8], x[9], y[9]); line(x[9], y[9], x[10], y[10]); line(x[10], y[10], x[11], y[11]); line(x[11], y[11], x[6], y[6]); line(x[0], y[0], x[6], y[6]); line(x[1], y[1], x[7], y[7]); line(x[2], y[2], x[8], y[8]); line(x[3], y[3], x[9], y[9]); line(x[4], y[4], x[10], y[10]); line(x[5], y[5], x[11], y[11]); setcolor(4); outtextxy(x[0]+5, y[0]+5, "C" ![]() outtextxy(x[1]+5, y[1]+5, "D" ![]() outtextxy(x[2]+5, y[2]+5, "E" ![]() outtextxy(x[3]+5, y[3]+5, "F" ![]() outtextxy(x[4]+5, y[4]+5, "G" ![]() outtextxy(x[5]+5, y[5]+5, "H" ![]() outtextxy(x[6]+5, y[6]+5, "I" ![]() outtextxy(x[7]+5, y[7]+5, "J" ![]() outtextxy(x[8]+5, y[8]+5, "K" ![]() outtextxy(x[9]+5, y[9]+5, "L" ![]() outtextxy(x[10]+5, y[10]+5, "M" ![]() outtextxy(x[11]+5, y[11]+5, "N" ![]() getch(); printf("Ukazhite dva rebra:\n1 dlja CI\n2 dlja DJ\n3 dlja EK\n4 dlja FL\n5 dlja GM\n6 dlja HN\n" ![]() scanf("%d%d", &a, &b); --a; --b; search(a, b, &px, &py, &rx, &ry); cleardevice(); while (!kbhit()) { ini(p, p); plot(int(tx[0]*100), int(ty[0]*100), 0, x[0], y[0]); plot(int(tx[1]*100), int(ty[1]*100), 0, x[1], y[1]); plot(int(tx[2]*100), int(ty[2]*100), 0, x[2], y[2]); plot(int(tx[3]*100), int(ty[3]*100), 0, x[3], y[3]); plot(int(tx[4]*100), int(ty[4]*100), 0, x[4], y[4]); plot(int(tx[5]*100), int(ty[5]*100), 0, x[5], y[5]); plot(int(tx[0]*100), int(ty[0]*100), 100, x[6], y[6]); plot(int(tx[1]*100), int(ty[1]*100), 100, x[7], y[7]); plot(int(tx[2]*100), int(ty[2]*100), 100, x[8], y[8]); plot(int(tx[3]*100), int(ty[3]*100), 100, x[9], y[9]); plot(int(tx[4]*100), int(ty[4]*100), 100, x[10], y[10]); plot(int(tx[5]*100), int(ty[5]*100), 100, x[11], y[11]); plot(int(tx[a]*100), int(ty[a]*100), 50, x[12], y[12]); plot(int(tx[b]*100), int(ty[b]*100), 50, x[13], y[13]); plot(int(px*100), int(py*100), 0, x[14], y[14]); plot(int(rx*100), int(ry*100), 0, x[15], y[15]); setcolor(9); line(x[0], y[0], x[1], y[1]); line(x[1], y[1], x[2], y[2]); line(x[2], y[2], x[3], y[3]); line(x[3], y[3], x[4], y[4]); line(x[4], y[4], x[5], y[5]); line(x[5], y[5], x[0], y[0]); line(x[6], y[6], x[7], y[7]); line(x[7], y[7], x[8], y[8]); line(x[8], y[8], x[9], y[9]); line(x[9], y[9], x[10], y[10]); line(x[10], y[10], x[11], y[11]); line(x[11], y[11], x[6], y[6]); line(x[0], y[0], x[6], y[6]); line(x[1], y[1], x[7], y[7]); line(x[2], y[2], x[8], y[8]); line(x[3], y[3], x[9], y[9]); line(x[4], y[4], x[10], y[10]); line(x[5], y[5], x[11], y[11]); setcolor(2); line(x[14], y[14], x[15], y[15]); setcolor(4); outtextxy(x[0]+5, y[0]+5, "C" ![]() outtextxy(x[1]+5, y[1]+5, "D" ![]() outtextxy(x[2]+5, y[2]+5, "E" ![]() outtextxy(x[3]+5, y[3]+5, "F" ![]() outtextxy(x[4]+5, y[4]+5, "G" ![]() outtextxy(x[5]+5, y[5]+5, "H" ![]() outtextxy(x[6]+5, y[6]+5, "I" ![]() outtextxy(x[7]+5, y[7]+5, "J" ![]() outtextxy(x[8]+5, y[8]+5, "K" ![]() outtextxy(x[9]+5, y[9]+5, "L" ![]() outtextxy(x[10]+5, y[10]+5, "M" ![]() outtextxy(x[11]+5, y[11]+5, "N" ![]() setcolor(9); outtextxy(x[12]+5, y[12]+5, "A" ![]() outtextxy(x[13]+5, y[13]+5, "B" ![]() setcolor(2); outtextxy(x[14]-5, y[14]+5, "P" ![]() outtextxy(x[15]-5, y[15]+5, "R" ![]() p+=1; delay(30); cleardevice(); } } |
Последний раз редактировалось ustrel, 04-11-2008 в 13:43. Отправлено: 00:22, 04-04-2003 | #14 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Работа с flash. | repikman | AutoIt | 4 | 03-06-2009 15:33 | |
C/C++ - [решено] Лабораторная. Работа с массивами | Artem-Samsung | Программирование и базы данных | 6 | 01-06-2009 21:30 | |
Работа БП | Surround | Хочу все знать | 5 | 05-03-2006 21:40 | |
Работа ХР с CD | LamerOK | Microsoft Windows 2000/XP | 8 | 17-04-2004 23:51 | |
Работа с сетью | Guest | Программирование и базы данных | 3 | 04-12-2002 15:19 |
|