Triangulo formado de asteriscos
03/04/2007
0
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
Curtir tópico
+ 0
Responder
Posts
05/04/2007
Rodc
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(); } } }
Responder
05/04/2007
Relfi
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...
Responder
Clique aqui para fazer login e interagir na Comunidade :)