Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Окружности и треугольник! - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ C++. Массив http://www.cyberforum.ru/cpp-beginners/thread66785.html
У прилавка выстроилась очередь из N покупателей. Время обслуживания продавцом каждого покупателя в минутах занесено в вещественный массив T. Получить массив С, содержащий время пребывания каждого...
C++ Код не компилируется Объясните пож-та, почему код не компилируется: // File Output.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <fstream> #include <iostream>... http://www.cyberforum.ru/cpp-beginners/thread66774.html
C++ открыть N штук файлов
не могу разобраться как можно открыть для записи (создать) N штук файлов за один цикл. N задается пользователем. имена файлов должны задаваться так же пользователем и в цикле,но с этим проблем нет....
массивы C++
всем доброго времени суток!! прошу помощи у ассов этого дела(:2. Вычислить , Sn+So/Kn+Ko где Sп и Kп – сумма и количество положительных элементов массива А (70), а Sо и Kо – сумма и количество...
C++ Нужен код, нуждающийся в оптимизации http://www.cyberforum.ru/cpp-beginners/thread66757.html
ребята - несколько необычная просьба - у кого нибудь может есть небольшой по объему ( меньше 500-600 строчек) код, написанный как можно кривее (правда при этом чтоб работал правильно) - мне нао...
C++ Нужно разобраться с полученным результатом Задача состоит в выводе строки задом наперед. Если запустить первый вариант программы , то выводит вместо букв прямоугольники(или квадратики),количество которых совпадает с количеством букв в слове.... подробнее

Показать сообщение отдельно
Ch3r3p0sha
0 / 0 / 0
Регистрация: 12.10.2009
Сообщений: 11

Окружности и треугольник! - C++

24.11.2009, 01:40. Просмотров 4359. Ответов 5
Метки (Все метки)

Даны вещественные числа x1,y1,x2,y2,x3,y3. Каждая пара чисел xi,yi, где i=1,2,3, определяет координаты одной из вершин плоского треугольника. Вычислить координаты центра и радиус окружности, описанной вокруг этого треугольника, и координаты центра и радиус окружности, вписанной в этот треугольник. Вычисление организовать при помощи подпрограмм.
Вот код, где здесь ошибка?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <stdio.h>
#include <math.h>
#include <conio.h>
//вычисляет x0 описанной окр              
float cOpokx0(float x1,float y1,float x2,float y2,float x3,float y3,float s)
{
 float x0;
x0=0.25*s*((x1*x1+y1*y1)*(y2-y3)-y1*((x2*x2+y2*y2)-(x3*x3+y3*y3))+(x2*x2+y2*y2)*y3-y2*(x3*x3+y3*y3));
 return x0;
}
 
//вычисляет y0 описанной окр
float cOpoky0(float x1,float y1,float x2,float y2,float x3,float y3,float s)
{
 float y0;
y0=-0.2-0.25*s*((x1*x1+y1*y1)*(x2-x3)-x1*((x2*x2+y2*y2)-(x3*x3+y3*y3))+(x2*x2+y2*y2)*x3-x2*(x3*x3+y3*y3));
 return y0;
}
 
//вычисляет x0 вписанной окр
float cVox0(float x1,float y1,float x2,float y2,float x3,float y3,float a,float b,float c)
{
 float x0;
x0=(((y2+y1*a/b)/(1+a/b)-y3)/((x2+x1*a/b)/(1+a/b)-x3)*x3-((y3+y1*a/c)/(1+a/c)-y2)/((x3+x1*a/c)/(1+a/c)-x2)*x2+y2-y3)/(((y3+y1*a/c)/(1+a/c)-y2)/((x3+x1*a/c)/(1+a/c)-x2)-((y3+y1*a/c)/(1+a/c)-y2)/((x3+x1*a/c)/(1+a/c)-x2));
 return x0;
}
 
//вычисляет y0 вписанной окр
float cVoy0(float x1,float y1,float x2,float y2,float x3,float y3,float x0,float a,float b)
{
 float y0;
y0=((y2+y1*a/b)/(1+a/b)-y3)/((x2+x1*a/b)/(1+a/b)-x3)*(x0-x3)+y3;
 return y0;
}
 
 
void main()
{
 float x1,y1,x2,y2,x3,y3,a,b,c,s,p,r,R,x0v,y0v,x0o,y0o;
 clrscr();
 printf("\nVvedite x1,y1: "); scanf("%f,%f",&x1,&y1);
 printf("\nVvedite x2,y2: "); scanf("%f,%f",&x2,&y2);
 printf("\nVvedite x3,y3: "); scanf("%f,%f",&x3,&y3);
   a=sqrt(pow((x2-x1),2)+pow((y2-y1),2));
   b=sqrt(pow((x3-x2),2)+pow((y3-y2),2));
   c=sqrt(pow((x1-x3),2)+pow((y1-y3),2));
  p=(a+b+c)/2;//полупериметр
  s=0.5*abs(x1*(y2-y3)-y1*(x2-x3)+x2*y3-y2*x3);//площадь
  r=s/p;//радиус вписанной
  R=(a*b*c)/(4*s);//радиус описанной окр
  x0v=cVox0(x1,y1,x2,y2,x3,y3,a,b,c);
  y0v=cVoy0(x1,y1,x2,y2,x3,y3,x0v,a,b);
  x0o=cOpokx0(x1,y1,x2,y2,x3,y3,s);
  y0o=cOpoky0(x1,y1,x2,y2,x3,y3,s);
  printf("Centr vpisannoi okr (%5.2f,%5.2f), radius: %5.2f",x0v,y0v,r);
  printf("Centr opisannoi okr (%5.2f,%5.2f), radius: %5.2f",x0o,y0o,R);
getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru