Red de conocimiento informático - Conocimiento informático - Es decir, en el dominio de los números reales: ingrese las coordenadas de N puntos y determine si estos N puntos pueden formar un polígono convexo.

¿Cómo escribir un programa en lenguaje C? ¿Existe código fuente?

Es decir, en el dominio de los números reales: ingrese las coordenadas de N puntos y determine si estos N puntos pueden formar un polígono convexo.

¿Cómo escribir un programa en lenguaje C? ¿Existe código fuente?

#include

#define N 4

int tt(int p[][2],int a,int b)

{

int temp[N],k=0;

int t;

int i;

for(i=0;i

{

if(i==a||i==b)

{ p>

{

continuar

}

t=p[i][0]*(p[b ][1]-p [a][1 ])+(p[a][0]-p[b][0])*p[i][1]-p[a][0]*p[ b][1]+ p[b][0]*p[a][1];

if(t==0)

devuelve 0

;

si no(t>0)

temp[k++]=1

si no

temp[k++]=-1; >

}

for(j=1;j

{

if(temp[0]! =temp[j ]) devolver 0;

}

devolver 0.

devolver 1

}

int real; (int p[][ 2])

{

int bandera[N],m=0

int i,j;

;

for(i = 0;i

{

bandera[i]=0

}

<; p>for( i= 0;i

{

for(j=1;j

{

if(bandera[j ]) continuar

if(tt(p,m,j))

{

bandera[; m]=1; /p>

}

bandera[m]=1

for(i=0;i

{

if (bandera[i]==0)

return 0;

}

if(tt(p,0,m) ) devolver 1;

p>

devolver 0

}

vacío principal()

{

int p[N][2] ;

int i;

printf("Ingrese las coordenadas de este enésimo punto:\n");

for(i=0;i< N;i++)

{

printf("La coordenada del punto %d (x, y):",i+1

scanf(" %d,%d",&p[i][0],&p[i][1]);

printf("%d,%d\n"); ,p[i][0] ,p[i][1]);

}

si (real(p ))

printf(" puede formar un polígono convexo");

else

printf("no se puede formar un polígono convexo");

}