Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Лабораторная работа

Ответить
Настройки темы
C/C++ - Лабораторная работа

Новый участник


Сообщения: 15
Благодарности: 0

Профиль | Цитировать


Изменения
Автор: ustrel
Дата: 04-11-2008
A и B – середины двух несмежных боковых ребер правильной шестиугольной призмы. Найти на плоскости нижнего основания призмы все такие точки, что прямые MA и MB образуют равные углы с плоскостью нижнего основания призмы.

Отправлено: 23:39, 23-03-2003

 

Аватара для shurikan

Старожил


Сообщения: 240
Благодарности: 1

Профиль | Отправить PM | Цитировать


noname00.pas
На соседних - не могут согласно условию задачи )

-------
UNIX, UNAS и др. Myself I'll like 'em


Отправлено: 04:45, 28-03-2003 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Студент


Сообщения: 445
Благодарности: 8

Профиль | Отправить PM | Цитировать


shurikan
Может кто-то путается в терминологии... Я всегда считал, что смежными рёбрами называются рёбра, инцедентные одной вершине.

-------
*Origin: Lots of people talking, few of them - no... (2:5020/****.**)


Отправлено: 18:35, 28-03-2003 | #12


Аватара для shurikan

Старожил


Сообщения: 240
Благодарности: 1

Профиль | Отправить PM | Цитировать


noname00.pas
Цитата:
A и B – середины двух несмежных боковых ребер правильной шестиугольной призмы.
Во как написано. Я ничего не изобретал. Хотя ты прав!

-------
UNIX, UNAS и др. Myself I'll like 'em


Отправлено: 19:17, 28-03-2003 | #13


Новый участник


Сообщения: 15
Благодарности: 0

Профиль | Цитировать


Все вычисления проводятся в одной плоскости и в полярных координатах.
Привожу код:
#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



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Лабораторная работа

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Работа с 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




 
Переход