Boas pessoal comecei a programar a pouco tempo em C o que faz de mim um grande nabo nisto, até estava a perceber o inicio,mas bloqueio muito nos ciclos.... se for só um é facil mas quando são encadeados é complicado...
Alguem me pode explicar por exemplo como faço este triangulo
*
**
***
imaginando que não me dão o numero de colunas fixes..neste caso 3...mas o utilizador é que pede
ou este losangulo de altura 5
..*
.***
*****
.***
..*
agradecia ajuda obrigado
Mr. Brightside
08-08-2007, 12:42
*
**
***
for(i = 1; i <= 3; i++) {
int n;
for(n = i; n; n--) printf("*");
printf("\n");
}Quanto ao losango vou pensar melhor no assunto e já igo alguma coisa. ;)
Losango
int x =1;
for (i = 1 ; i >=1 ; i=i+x)
{
int n;
for(n = 0 ; n<=i+1 ; n++)
{
if (n<=2-i)
printf(".");
else
printf("*");
}
printf("\n");
if (i==3) x =-1;
}
O codigo que tinha posto antes estava errado.Assim parace melhor. :)
|[Kaos]|
09-08-2007, 01:36
Quanto ao losango faria algo do género:
#include <stdio.h>
#define altura 5
int main (void) {
int espacos;
int estrelas;
int i;
espacos = altura / 2;
estrelas = 1;
do {
for ( i = espacos; i > 0; i-- ) printf(".");
for ( i = estrelas; i > 0; i-- ) printf("*");
printf("\n");
espacos--;
estrelas=estrelas+2;
} while ( espacos > 0 );
do {
for ( i = espacos; i > 0; i-- ) printf(".");
for ( i = estrelas; i > 0; i-- ) printf("*");
printf("\n");
espacos++;
estrelas=estrelas-2;
} while ( espacos <= altura / 2 );
return 0;
}
Altera-se o valor da altura no define e desenha qualquer losango. O algoritmo é capaz de nao ser o mais eficiente , fiz ah pressa lol
EDIT: so agora é que vi que já responderam LOL :D realmente tenho uma solucao gigante :D mas fica aqui na mesma