Version:0.9 StartHTML:0000000105 EndHTML:0000004505 StartFragment:0000000152 EndFragment:0000004471
/******************************************************/
/*************** Isidro Pastor Jorda ******************/
/******************************************************/
/****************** Telematica ************************/
/******************************************************/
/************* Practica 7 Ejercicio 6 *****************/
/******************************************************/


#include <iostream.h>
#include <stdlib.h>
#include <math.h>

/* REGISTROS */

struct vertice
{
    float x;
    float y;
};

/* PROTOTIPOS DE FUNCIONES */

float Distancia (vertice v1, vertice v2);


int main()
{
    vertice x1, x2, x3, pmedio, aux;
    float area, perimetro, base, altura;


    cout << " Calculo en 2-D en triangulos \n";
    cout << " Introduccion de datos: \n";
    cout << "\n Introduce las coordenadas x y del primer vertice: ";
    cin >> x1.x >> x1.y;
    cout << "\n Introduce las coordenadas x y del segundo vertice: ";
    cin >> x2.x >> x2.y;
    cout << "\n Introduce las coordenadas x y del tercer vertice: ";
    cin >> x3.x >> x3.y;

    //area = (1/2) * ( ( (x3.x - x1.x)*(x1.y - x2.y) ) + ( (x3.y - x1.y)*(x2.x - x1.x) ) );

    aux.x = (x1.x + x2.x)/2;
    aux.y = (x1.y + x2.y)/2;

    base = Distancia(x1,x2);
    altura = Distancia (x3, aux);
    // cout << " Base = " << base;
    // cout << " Altura = " << altura;

    area = (1.0f / 2.0f)*base*altura;

    pmedio.x = ((x1.x + x2.x + x3.x) / 3.0f);
    pmedio.y = ((x1.y + x2.y + x3.y) / 3.0f);

    perimetro = (Distancia(x1,x2) + Distancia(x2,x3) + Distancia(x3, x1));

    cout << " El area del triangulo introducido es " << area << endl;
    cout << " El punto medio del triangulo es ("<< pmedio.x << ", " << pmedio.y << ") \n";
    cout << " El perimetro es de " << perimetro << endl;

      system("PAUSE");
      return 0;
}

float Distancia (vertice v1, vertice v2) // Funcion para calcular la distancia entre dos puntos
{
    float dist;

    dist = sqrt(pow((v1.x - v2.x),2) + pow((v1.y - v2.y),2));
    return (dist);
}