Programación Específica > Diseño de Algoritmos
Ayuda Con Algoritmo
(1/1)
rafaeljosem:
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:
--- Código: Text --- 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:
--- Código: Text --- ptomedio((2.0+1.0)/2.0,(5.0+4.0)/2.0, 1.0, 2.0, 3.0, 4.0);
Gracias
Navegación
Ir a la versión completa