• Martes 12 de Noviembre de 2024, 21:17

Autor Tema:  Ayuda Con Algoritmo  (Leído 1405 veces)

rafaeljosem

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Ayuda Con Algoritmo
« en: Jueves 24 de Agosto de 2006, 22:48 »
0
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
  1.  
  2.  
  3. void ptomedio(double xmedio, double ymedio, double x1, double x2, double y1, double y2)
  4. {
  5.   int index;
  6.  
  7.   if (((xmedio > x1) && (ymedio > y1))||((xmedio > x2) && (ymedio > y2)))
  8.   {
  9.     x2 = xmedio;
  10.     y2 = ymedio;  
  11.  
  12.     contador++; //cuenta el nro de veces que se llama una funcion
  13.  
  14.     ptomedio ((x1+x2)/2.0, (y1+y2)/2.0, x1, x2, y1, y2); //haz lo mismo para la primera mitad
  15.  
  16.       x1 = xmedio;
  17.       y1 = ymedio;
  18.    
  19.     ptomedio ((x2 + xmedio)/2, (y2+ymedio)/2, x1, x2, y1, y2); //lo mismo para la 2da mitad
  20.    
  21.     for (index = contador; index > 0; index--)
  22.       printf(" ");
  23.  
  24.     printf(".");
  25.      
  26.     printf("\n");
  27.     contador--;
  28.  
  29.    
  30.   }
  31.  
  32.    
  33.  
  34. }
  35.  
  36.  

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
  1.  
  2.  
  3. ptomedio((2.0+1.0)/2.0,(5.0+4.0)/2.0, 1.0, 2.0, 3.0, 4.0);
  4.  
  5.  
  6.  

Gracias