Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   вычислить площадь с консоли (http://forum.oszone.net/showthread.php?t=197252)

kish1122 21-01-2011 15:55 1594030

вычислить площадь с консоли
 
вычислить площадь с концоли, прошитать координаты 3 точек (a,b,c) проверить какой тип треугольника образуется этими точками, вычислить периметр и площадь этого треугольника.

#include "stdafx.h"
#include "iostream"
#include "conio.h"
#include "cmath"

double P (double a, double b, double c) {
double P;
P=a+b+c;
return P;
};
double p (double P) {
double p;
p=P/2;
return p;
};
а что дальше? помогите плиз, студенту 1 курса!!!

Beyound 21-01-2011 17:07 1594084

*консоли

а вообще я слабо чтото понимаю зачем тебе эти 2-е функции нужны? ладно первая находит периметр,а вторая зачем находит половину от числа?. И вообще нафига ты называл все Р.
и вообще - где функция main???
чесно даже лень пример писать ибо их столько написано.
через пару минут пару функций набросаю тебе как пример - а дальше сам. Как завещал дедушка Ленин - учиться учиться учиться... Не все же 5 курсов нам тебе программы писать))

Beyound 21-01-2011 17:34 1594106

Код:

сразу говорю.. у мя компилятора нет, могут быть ошибки.

#include "stdafx.h"
#include "iostream"
#include "conio.h"
#include "cmath"

void main()
{
int digit_1; // a
int digit_2; // b
int digit_3; // c
string type_tr; //тип треугольника
double ploschad; //площадь
double perimetr; //периметр
cout << "Vvedite pervoe chislo - ";
cin >> digit_1;
cout << "\n Vvedite vtoroe chislo - ";
cin >> digit_2;
cout << "\n Vvedite tret'e chislo - ";
cin >> digit_3;

type_tr = Get_Type(digit_1, digit_2, digit_3);
ploschad = Get_Ploschad(digit_1, digit_2, digit_3);
perimetr = Get_Perimetr(digit_1, digit_2, digit_3);

cout << "\n\n\n Ploschad' treugolnika = " << ploschad;
cout << "\n Perimetr treugolnika = " << perimetr;
cout << "\n Tip treugolnika = " <<  type_tr;
};

double Get_Perimetr (int a, int b, int c) {
double P;
P=a+b+c;
return P;
};

double Get_Ploschad(int a, int b, int c) {
//расчет площади
}

string Get_Type(int a, int b, int c) {
// поиск типа треугольника
}


Drongo 22-01-2011 19:59 1594799

Цитата:

Цитата kish1122
проверить какой тип треугольника образуется этими точками, вычислить периметр и площадь »

Как любит говорить наш lxa85. Забудьте о программировании и решите эту задачу математически
1. Какие типы треугольников существуют? (сформулируйте правила для каждого)
2. Как вычисляют площать и периметр для треугольников.

После чего закатать на коде не составит труда

yurfed 22-01-2011 20:25 1594811

Цитата:

Цитата Beyound
через пару минут пару функций набросаю тебе как пример - а дальше сам. К »

Да, уже видели. Пифагор уже не рулит. Может вспомним теоремЫ
Стороны прямоугольника умножаем и площадь прямоугольника делим на два. Если это не проходит, то по размеру углов COS и SIN
http://uztest.ru/abstracts/?idabstract=45
Все исходники тут.

kish1122 29-01-2011 12:59 1599769

Спасибо всем=))) задачу выполнил

Drongo 29-01-2011 19:22 1599981

Цитата:

Цитата kish1122
задачу выполнил »

Решение продемонстрируете?

kish1122 02-02-2011 19:26 1603026

#include "stdafx.h"
#include "iostream"
#include "conio.h"
#include "math.h"
double p (double a , double b , double c)
{ double p;
p=(a+b+c)/2;
return p;
};
double S (double a, double b , double c )
{double S; double pp;
pp=p(a,b,c);
S=sqrt(pp*(pp-a)*(pp-b)*(pp-c));
return S ;
};

int _tmain(int argc, _TCHAR* argv[])

{double Ax , Ay , Bx , By , Cx , Cy ;
double a,b,c,ABC,BAC,ACB;
std::cout<<"Ax=";
std::cin>>Ax;
std::cout<<"Ay=";
std::cin>>Ay;
std::cout<<"Bx=";
std::cin>>Bx;
std::cout<<"By=";
std::cin>>By;
std::cout<<"Cx=";
std::cin>>Cx;
std::cout<<"Cy=";
std::cin>>Cy;
a=sqrt((Cx-Bx)*(Cx-Bx)+(Cy-By)*(Cy-By));
b=sqrt((Cx-Ax)*(Cx-Ax)+(Cy-Ay)*(Cy-Ay));
c=sqrt((Ax-Bx)*(Ax-Bx)+(Ay-By)*(Ay-By));
ABC=((Cx-Bx)*(Ax-Bx)+(Cy-By)*(Ay-By))/(a*c);
BAC=((Cx-Ax)*(Bx-Ax)+(Cy-Ay)*(By-Ay))/(b*c);
ACB=((Bx-Cx)*(Ax-Cx)+(By-Cy)*(Ay-Cy))/(b*a);
if (ABC<0||BAC<0||ACB<0){
std::cout<<"Obtuse angle"<<std::endl;}
else
if (ABC==0||BAC==0||ACB==0){
std::cout<<"Rectangle "<<std::endl;}
else std::cout<<"Sharp angle"<<std::endl;

std::cout<<"Semiperimetr = "<<p(a,b,c)<<std::endl;
//std::cout<<a<<std::endl;
//std::cout<<b<<std::endl; std::cout<<c<<std::endl;
std::cout<<"Square of Triangle = ";
std::cout<<S(a,b,c);
getch();
return 0;

}

Цитата:

Цитата kish1122
std::cout<<"Semiperimetr = "<<p(a,b,c)<<std::endl;
//std::cout<<a<<std::endl;
//std::cout<<b<<std::endl; std::cout<<c<<std::endl;
std::cout<<"Square of Triangle = "; »

причем вот это учителю было не важно!!!!


Время: 18:57.

Время: 18:57.
© OSzone.net 2001-