Hola, tengo el siguiente ejercicio:
Aplicar el esquema de los algoritmos divide y venceras para que dadas las coordenadas (x, y) de dos puntos en el plano, que representen los extremos en un segmento, se dibuje el segmento.
Esto es lo que tengo, en codigo C:
void ptomedio(double xmedio, double ymedio, double x1, double x2, double y1, double y2)
{
int index;
if (((xmedio > x1) && (ymedio > y1))||((xmedio > x2) && (ymedio > y2)))
{
x2 = xmedio;
y2 = ymedio;
contador++; //cuenta el nro de veces que se llama una funcion
ptomedio ((x1+x2)/2.0, (y1+y2)/2.0, x1, x2, y1, y2); //haz lo mismo para la primera mitad
x1 = xmedio;
y1 = ymedio;
ptomedio ((x2 + xmedio)/2, (y2+ymedio)/2, x1, x2, y1, y2); //lo mismo para la 2da mitad
for (index = contador; index > 0; index--)
printf(" ");
printf(".");
printf("\n");
contador--;
}
}
El algoritmo me funciona solo cuando el segmento tiene pendiente positiva. Necesito ayuda para hacerlo que funcione para pendiente negativa tambien.
Hice la llamada a la funcion de la sigte forma:
ptomedio((2.0+1.0)/2.0,(5.0+4.0)/2.0, 1.0, 2.0, 3.0, 4.0);
Gracias