1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Ciclos em C

Discussão em 'Programação' iniciada por baltax, 8 de Agosto de 2007. (Respostas: 3; Visualizações: 5522)

  1. baltax

    baltax Power Member

    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
     
    Última edição: 8 de Agosto de 2007


  2. Código:
    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. ;)
     
  3. AragTey

    AragTey Power Member

    Losango

    Código:
    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. :)
     
    Última edição: 8 de Agosto de 2007
  4. |[Kaos]|

    |[Kaos]| Power Member

    Quanto ao losango faria algo do género:

    Código:
    #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
     
    Última edição: 9 de Agosto de 2007

Partilhar esta Página