#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#define FUERA 0
#define DENTRO 1
#define POLIGONOS_TEST_MAX 4
#define PUNTOS_TEST_MAX 5
#define LINEAS_POR_POLIGONO 12
typedef struct{
float X;
float Y;
}Punto;
typedef struct{
Punto P0, P1;
}Linea;
typedef struct{
char nombre[5];
int size;
Linea lineas[LINEAS_POR_POLIGONO];
}Poligono;
const Poligono poligonos_test[POLIGONOS_TEST_MAX] = {
{"Tria", 3, {
{{0,0},{3,7}}, {{3,7},{6,0}}, {{6,0},{0,0}}, {{0,0},{0,0}},
{{0,0},{0,0}}, {{0,0},{0,0}}, {{0,0},{0,0}}, {{0,0},{0,0}},
{{0,0},{0,0}}, {{0,0},{0,0}}, {{0,0},{0,0}}, {{0,0},{0,0}}
}
},
{"Rect", 4, {
{{0,0},{0,7}}, {{0,7},{7,7}}, {{7,7},{7,0}}, {{7,0},{0,0}},
{{0,0},{0,0}}, {{0,0},{0,0}}, {{0,0},{0,0}}, {{0,0},{0,0}},
{{0,0},{0,0}}, {{0,0},{0,0}}, {{0,0},{0,0}}, {{0,0},{0,0}}
}
},
{"Letr", 12, {
{{0,0},{0,7}}, {{0,7},{1,7}}, {{1,7},{3,5}}, {{3,5},{5,7}},
{{5,7},{6,7}}, {{6,7},{6,0}}, {{6,0},{5,0}}, {{5,0},{5,5}},
{{5,5},{3,3}}, {{3,3},{1,5}}, {{1,5},{1,0}}, {{1,0},{0,0}}
}
},
{"Cora", 12, {
{{0,3},{0,5}}, {{0,5},{1,6}}, {{1,6},{2,6}}, {{2,6},{4,4}},
{{4,4},{3,3}}, {{3,3},{2,4}}, {{2,4},{4,6}}, {{4,6},{5,6}},
{{5,6},{6,5}}, {{6,5},{6,3}}, {{6,3},{3,0}}, {{3,0},{0,3}}
}
}
};
const Punto puntos_test[PUNTOS_TEST_MAX] = {
{0,0}, {3,4}, {2,6}, {3,6}, {4,6}
};
int algoritmo( const Poligono plgn, const Punto pnt ){
int resultado = 0;
// Implementacion del algoritmo. Resultado = DENTRO/FUERA
return resultado;
}
int main(){
int i, j;
printf("www.TODOPIC.com.ar\n"); printf("Concurso de programacion en C.\n"); printf("Nombre del concursante: XXXX");
for( i = 0 ; i < POLIGONOS_TEST_MAX ; i++ ){
printf( "\n\nTest del poligono %s...", poligonos_test
[i
].
nombre );
for( j = 0 ; j < PUNTOS_TEST_MAX ; j++ ){
if( DENTRO == algoritmo( poligonos_test[i], puntos_test[j] ) )
printf( "\nEl punto { %2.1f, %2.1f } se encuentra DENTRO", puntos_test
[j
].
X,puntos_test
[j
].
Y ); else
printf( "\nEl punto { %2.1f, %2.1f } se encuentra FUERA", puntos_test
[j
].
X,puntos_test
[j
].
Y );
}
}
printf("\n\nTest terminado."); return 0;
}