Cálculo del área de una poligonal

Jorge Castillo Mateo

/* Se calcula el área de una polígono irregular (también llamado poligonal en determinadas disciplinas).
El polígono consta de varios puntos almacenados en un array con índices n0 a n1.
Notar que:
– Si P[n0] != P[n1] es necesario calcular un trapecio adicional entre P[n1] y P[n0]
– Si P[n0] == P[n1] , como (x[n0] – x[n1])=0 , el cálculo del trapecio adicional no influye.
*/

#include <stdio.h>
#include <iostream>
#include <math.h>
using namespace std;

double Area (double *x, double *y, int n0, int n1){
int i;
double a=0;

for (i=n0+1; i<=n1; i++){
a = a + (y[i] + y[i – 1]) * (x[i] – x[i – 1]) / 2;
}

a = a + (y[n0] + y[n1]) * (x[n0] – x[n1]) / 2;
return a;
}

int main(){
int n0=0;
int n1;
int n;

cout << “Introduzca el numero de vertices de su poligonal: “;
cin >> n;

n1 = n – 1;

double x[n], y[n];

for (int i=n0; i<=n1; i++){
cout << “\n \n Introduzca la coordenada x del vertice ” << i+1 << “: “;
cin >> x[i];}
for (int j=n0; j<=n1; j++){
cout << “\n \n Introduzca la coordenada y del vertice ” << j+1 << “: “;
cin >> y[j];}

double A = Area(x, y, n0, n1);

cout << “\n \n El area de su poligonal es: ” << A << endl << endl;
}

Anuncios
Esta entrada fue publicada en Informática e Internet. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s