Está en la página 1de 3

int capturar_puntos (int Puntos[100][2]){

int tecla=0,contador=0,xx,yy,k=0;

msituar(1,300,65);

mver();

for(;;){

mlimit(1,10,10,630,370);

if(mclick()==1){

do{
xx=mxpos(1);
yy=mypos(1);
}while(mclick()==1);

if((Puntos[contador-1][0]!=xx)&&(Puntos[contador-1][1]!=yy))
{
mocultar();
Puntos[contador][0]=xx;
Puntos[contador][1]=yy;
setcolor(4);
setfillstyle(1,4);
circle(Puntos[contador][0],Puntos[contador][1],2);
floodfill(Puntos[contador][0],Puntos[contador][1],4);

contador++;
mver();
}

if(k==0)
{
mocultar();
contador--;
setcolor(15);
circle(Puntos[contador][0],Puntos[contador][1],2);
setfillstyle(1,15);
floodfill(Puntos[contador][0],Puntos[contador][1],15);
mver();
k++;
}
}

if(kbhit()){
tecla=getch();
if(tecla==27){
break;
}
}

mlimit(1,0,0,640,480);

return(contador-1);
}

void cierre (int puntos[100][2],int n){

int aux,aux1,i,p;
int cadena1 [50][2];
int cadena2 [50][2];
int conta=1;

for(p=1;p<=n;p++)
{
for(i=0;i<=n-1;i++)
{
if(puntos [i][1]<puntos [i+1][1])
{
aux=puntos [i][1];
puntos [i][1]=puntos [i+1][1];
puntos [i+1][1]=aux;

aux=puntos [i][0];
puntos [i][0]=puntos [i+1][0];
puntos [i+1][0]=aux;

}
}
}

i=0;

for(p=0;p<=n;p++)
{
i+=puntos [p][0];
}

i/=n;

aux=0;
aux1=0;

for(p=0;p<=n;p++)
{
if(puntos[p][0]<=i)
{
cadena1[aux][0]=puntos[p][0];
cadena1[aux][1]=puntos[p][1];
aux++;
}
else
{
cadena2[aux1][0]=puntos[p][0];
cadena2[aux1][1]=puntos[p][1];
aux1++;
}

for(p=0;p<aux;p++){
puntos[p][0]=cadena1[p][0];
puntos[p][1]=cadena1[p][1];
}

for(p=0;p<aux1;p++){
puntos[p+aux][0]=cadena2[(aux1-1)-p][0];
puntos[p+aux][1]=cadena2[(aux1-1)-p][1];
}

setcolor(RED);

for(p=0;p<aux-1;p++)
{
line(cadena1[p][0],cadena1[p][1],cadena1[p+1][0],cadena1[p+1][1]);
}

for(p=0;p<aux1-1;p++)
{
line(cadena2[p][0],cadena2[p][1],cadena2[p+1][0],cadena2[p+1][1]);
}

line(cadena1[0][0],cadena1[0][1],cadena2[0][0],cadena2[0][1]);
line(cadena1[aux-1][0],cadena1[aux-1][1],cadena2[aux1-1][0],cadena2[aux1-1]
[1]);

También podría gustarte