Triangulo formado de asteriscos
Eae galera...
*
***
*****
*******
Estou com um probleminha ki....
etou tentando montar um programa q imprima um triangulo
composto por " * "´s, em que a base do triangulo seja um número digitado pelo
usuário... Isso estou tentando fazer de forma recursiva, naum tenho certeza se esta recursivo mesmo, mas cheguei neste resultado:
#include<iostream.h>
include<conio.h>
void aste(int n)
{
if(n<=1)//*inclue n&meros negativos
cout<<"*""\n";
else
{
cout<<" ";
aste(n-2);
for(int i=0;i<n;i++)
{
cout<<"*";
}
cout<<"\n";
for(int e=1;e<n;e++)
cout<<" ";
}
}
void main()
{
int n;
char quit=´s´;
while(quit==´s´)
{
clrscr();
cout<<" Digite a base da piramide " ;
cin>> n ;
cout<< "a piramede ‚ essa:\n\n";
aste(n);
cout<< "\n\n fazer de novo?(s/n): ";
cin>>quit;
}
while(quit!= ´n´&& quit !=´s´)
{
cout<< "\n\nTente de novo(s/n) ";
cin >> quit;
if(quit==´s´)
{
clrscr();
main();
}
}
}
estou usando o TURBO c++ como compilador e estou com problemas na hora de apresentar os espaços certos de cada linha do triangulo...
se alguem for executa-lo, utilize numeros autos como 40, ou 30 para observar o que acontece com o triagulo.
esta acontecendo algo do tipo:
* //A primeira linha parece estar no lugar certo.
***
*****
*******
*********
***********//E assim por diante...dependendo da base digitada.
desde já eo agradeço...
abraços.
Relfi
Curtidas 0
Respostas
Rodc
03/04/2007
Tá me devendo uma heim!!!
E vê se melhora a identação do seu código que ele tá muito ilegível.
E vê se melhora a identação do seu código que ele tá muito ilegível.
#include<iostream.h>
include<conio.h>
void aste(int qtdEstrelas, int n)
{
// Coloca os espaços
for (int x=0; x<n/2; x++)
cout<<" ";
// Coloca as estrelas
for (int x=0; x<qtdEstrelas; x++)
cout<<"*";
cout<<"\n";
if (n > 1)
{
// Caso seja par, adiciona apenas mais uma estrela
if (qtdEstrelas == 1 && (n ¬ 2) == 0)
aste(qtdEstrelas + 1, n-2);
else
aste(qtdEstrelas + 2, n-2);
}
}
void main()
{
int n;
char quit=´s´;
while (quit == ´s´)
{
clrscr();
cout<<" Digite a base da piramide " ;
cin>> n ;
cout<< "a piramede eh essa:\n\n";
aste(1, n);
cout<< "\n\n fazer de novo?(s/n): ";
cin>>quit;
}
while (quit != ´n´ && quit != ´s´)
{
cout<< "\n\nTente de novo(s/n) ";
cin >> quit;
if (quit == ´s´)
{
clrscr();
}
}
}
GOSTEI 0
Relfi
03/04/2007
cara mto bom...ele só deu um errinho aki, qto a declaração do x que faz o espaço, mais só substituí por outra sigla e concluí, vc realmente eh phoda kara...
valew mesmo...e pode deixar...voh me lembrar da dica da identificação do código...
vlw mesmo kara...
valew mesmo...e pode deixar...voh me lembrar da dica da identificação do código...
vlw mesmo kara...
GOSTEI 0