Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: SebaC en 2 Mayo 2016, 20:01 pm



Título: Dibujar cuatro triangulos de asteriscos
Publicado por: SebaC en 2 Mayo 2016, 20:01 pm
Hola a todos acudo a ustedes por que necesito ayuda con este tema no se me ocurre la manera de imprimir esta figura la verdad creo que es imposible hacerlo

Código
  1. *********
  2. * ******* *
  3. ** ***** **
  4. *** *** ***
  5. **** * ****
  6. ***** *****
  7. **** * ****
  8. *** *** ***
  9. ** ***** **
  10. * ******* *
  11. *********
  12.  

Alguien me da alguna idea aquí?


Título: Re: Dibujar cuatro triangulos de asteriscos
Publicado por: HardForo en 2 Mayo 2016, 20:07 pm
No es dicil, solo debes calcular la posicion de los espacios


Título: Re: Dibujar cuatro triangulos de asteriscos
Publicado por: MAFUS en 2 Mayo 2016, 20:10 pm
Sí, por supuesto:
Acceder a los caracteres individuales de una cadena mediante la notación de array: cadena.
Se puede dibujar por líneas.
Puedes usar la variable de control del bucle que dibuja para controlar donde dibujar los espacios.


Título: Re: Dibujar cuatro triangulos de asteriscos
Publicado por: SebaC en 2 Mayo 2016, 20:20 pm
MAFUS: no creo lograr hacer eso soy un principiante aun


Título: Re: Dibujar cuatro triangulos de asteriscos
Publicado por: i-node en 2 Mayo 2016, 20:50 pm
MAFUS: no creo lograr hacer eso soy un principiante aun

Pues empieza por algo mas simple.


Título: Re: Dibujar cuatro triangulos de asteriscos
Publicado por: class_OpenGL en 2 Mayo 2016, 20:51 pm
Piensa en una cosa: ¿cuándo se dibujan los espacios? Se dibujan cuando el número de la fila coincide con el número de la columna


Título: Re: Dibujar cuatro triangulos de asteriscos
Publicado por: geeke en 2 Mayo 2016, 21:42 pm
Borré el código que postee porque estaba incumpliendo las reglas del foro


Título: Re: Dibujar cuatro triangulos de asteriscos
Publicado por: MAFUS en 2 Mayo 2016, 21:50 pm
Ahora le puedes explicar el porqué de cada línea del programa.


Título: Re: Dibujar cuatro triangulos de asteriscos
Publicado por: i-node en 2 Mayo 2016, 21:50 pm
Código:
[quote author=Geeke link=topic=451817.msg2068787#msg2068787 date=1462218147]
Esta algo complicado pero  ::)

[/quote]

Te van a recriminar el haberselo hecho y cerraran el hilo.

Lo que no entiendo es si debemos dar solo pistas o que. No le veo el sentido.


Título: Re: Dibujar cuatro triangulos de asteriscos
Publicado por: class_OpenGL en 2 Mayo 2016, 22:00 pm
Si alguien pregunta por un ejercicio sin código, lo mejor es dar pistas, para que así el que pregunte la duda no tenga la respuesta sin pensar, pero tampoco se frustre


Título: Re: Dibujar cuatro triangulos de asteriscos
Publicado por: geeke en 2 Mayo 2016, 22:01 pm
Tienes razón i-node puedes remover la cita a mi post


Título: Re: Dibujar cuatro triangulos de asteriscos
Publicado por: MAFUS en 2 Mayo 2016, 22:05 pm
Bueno, vamos a hacer una cosa. Empieza poniendo el código que sepas y vamos montando el programa a partir de aquí.


Título: Re: Dibujar cuatro triangulos de asteriscos
Publicado por: Gunhack en 3 Mayo 2016, 05:15 am
Te dejo el código...

Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main() {
  6.  
  7.    int x = 11;
  8.  
  9.    for(int i = 0; i < x; i++) {
  10.  
  11.        for(int j = 0; j < x; j++) {
  12.  
  13.            if(j == i || j == (x-1) - i) {
  14.  
  15.                cout << " ";
  16.  
  17.            } else {
  18.  
  19.                cout << "*";
  20.            }
  21.        }
  22.        cout << endl;
  23.    }
  24. }
  25.  

La posición de los espacios en blanco para formar la "X" tienden a aumentar y disminuir... osea primero se dibuja una "\" que en este caso va de 0 a 10, y una "/" que va de 10 a 0, colocando las posiciones en un plano quedaría:

(0, 0), (0,10)
(1, 1), (1, 9)
(2, 2), (2,8)
.
.
.
(10, 10), (10,0)
Una aumenta, otra disminuye... eso se cumple en la condición:

Código
  1. if(j == i || j == (x-1) - i) {
  2.  
  3.    cout << " ";
  4.  
  5. } else {
  6.  
  7.    cout << "*";
  8. }
  9.  

Haz una pueba de escritorio con las variables y verás que se cumplen perfectamente las condiciones  ;D


Título: Re: Dibujar cuatro triangulos de asteriscos
Publicado por: SebaC en 3 Mayo 2016, 18:07 pm
Muchas gracias amigo me pondré a estudiar tu código  ;-)


Título: Re: Dibujar cuatro triangulos de asteriscos
Publicado por: Eternal Idol en 3 Mayo 2016, 22:05 pm
Gunhack: por favor no hagas tareas ajenas y menos con codigo completo y compilable, gracias.