Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/11/2012, 02:59
reethok
 
Fecha de Ingreso: abril-2011
Mensajes: 224
Antigüedad: 13 años, 6 meses
Puntos: 8
Pregunta ¿Se les ocurre un algoritmo más óptimo? [Ciclos en C++]

Bueno, hice un ejercicio con ciclos for en C++, y pues... siento que mi algoritmo no quedó muy bien que digamos, pero bueno, me gustaría su opinión y si tienen alguna idea de cómo mejorarlo, se los agradecería mucho.

No puedo explicar qué hace exactamente el programa, porque es dibujar diversos triángulos con asteriscos y espacios, entonces es preferible que lo ejecuten o algo así, para que vean.

Código C++:
Ver original
  1. #include <iostream>
  2. using std::cout;
  3. using std::endl;
  4.  
  5. int main()
  6. {
  7.    int estrellas1 = 1;
  8.    int espacios1 = 9;
  9.    int estrellas2 = 10;
  10.    int espacios2 = 0;
  11.    int estrellas3 = 10;
  12.    int espacios3 = 0;
  13.    int estrellas4 = 1;
  14.    int espacios4 = 9;
  15.  
  16.    for(int x = 0; x < 10; x++, estrellas1++, espacios1--, estrellas2--,
  17.       espacios2++, estrellas3--, espacios3++, estrellas4++, espacios4--)
  18.    {
  19.       for(int r = estrellas1; r > 0; r--)
  20.          cout << "*";
  21.       for(int r = espacios1; r > 0; r--)
  22.          cout << " ";
  23.  
  24.       cout << "  ";
  25.  
  26.       for(int r = estrellas2; r > 0; r--)
  27.          cout << "*";
  28.       for(int r = espacios2; r > 0; r--)
  29.          cout << " ";
  30.  
  31.       cout << "  ";
  32.  
  33.       for(int r = espacios3; r > 0; r--)
  34.          cout << " ";
  35.       for(int r = estrellas3; r > 0; r--)
  36.          cout << "*";
  37.  
  38.       cout << "  ";
  39.  
  40.       for(int r = espacios4; r > 0; r--)
  41.          cout << " ";
  42.       for(int r = estrellas4; r > 0; r--)
  43.          cout << "*";
  44.  
  45.       cout << endl;
  46.    }
  47.  
  48.    return 0;
  49. }

Saludos!