Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: UV09 en 9 Abril 2015, 20:39 pm



Título: Ayuda o consejos para terminar este programa con asteriscos
Publicado por: UV09 en 9 Abril 2015, 20:39 pm
Ejemplo si introduzco el numero 5, debe imprimir así:

*
**
***
****
*****
****
***
**
*

Lo he intentado todo el día, pero solo llego ha imprimir asi:
*
**
***
****
*****

El código:

#include <iostream>
#include <conio.h >

using namespace std;
int n,i,j;
main()
{
cout<<"Ingrese las veces a imprimir: ";
cin>>n;

for (i=1;i<=n;i=i+1)   
{   
for (j=1;j<=i;j=j+1)
{
   cout<<"*";
}
   cout<<"\n";
}
   
getch();
}


Ayuda o consejos para terminar este programa, por favor.
Gracias de antemano, y saludos.


Título: Re: Ayuda o consejos para terminar este programa con asteriscos
Publicado por: user-marcos en 9 Abril 2015, 21:00 pm
#include <iostream>
#include <conio.h>

using namespace std;
int n,i,j;
main()
{
cout<<"Ingrese las veces a imprimir: ";
cin>>n;

for (i=1;i<=n;i=i+1)   
{   
for (j=1;j<=i;j=j+1)
{
   cout<<"*";
}
   cout<<"\n";
}
for (i=n;i>=1;i--)   
{   
for (j=i;j>=1;j--)
{
   cout<<"*";
}
   cout<<"\n";
}
 
 
getch();
}


Título: Re: Ayuda o consejos para terminar este programa con asteriscos
Publicado por: DarK_FirefoX en 9 Abril 2015, 21:16 pm
- Por favor, ambos utilicen las etiquetas GeSHi.



Al parecer eso que te dicen soluciona, aunque todavía tiene algo que no funciona tal como lo pides, tienes que arreglar la definición del segundo ciclo anidado.

En vez de:
Código
  1. for (i=n;i>=1;i--)  
  2. {  
  3. for (j=i;j>=1;j--)
  4. {

debe ser:

Código
  1. for (i=n-1;i>=1;i--)  
  2. {  
  3. for (j=i;j>=1;j--)
  4. {

La variable i debe empezar en n-1 porque sino te va a imprimir esa linea dos veces!

Salu2s