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

Meus neuronios não servem para nada

Discussão em 'Programação' iniciada por theking1200, 27 de Julho de 2008. (Respostas: 7; Visualizações: 940)

  1. theking1200

    theking1200 Banido

    Ajuda C

    bem cá vai , eu ate precebo os whiles e os for mas não consigo preceber este programa:(desculpem pedir ajuda pela milesima vez)
    cá vai:

    Código:
    #include <stdio.h>
    #include <stdlib.h>
    main()
    {
    int i,j,n;
    char ch;
    printf("Introd. um Nº: "); scanf("%d",&n);
    printf("Introd. um Char: "); scanf(" %c",&ch);
    for (i=1 ; i<=n ; i++ )
    { 
    for (j=1 ; j<=n ; j++)
    putchar(ch);
    putchar('\n');
    }
    system("pause");
    }
    o output é :



    alguem me podia explicar a logica :

    :009::009::009:
     
    Última edição pelo moderador: 27 de Julho de 2008
  2. 1Coelho1

    1Coelho1 Power Member

    n linhas e n colunas do símbolo que colocaste?
     
  3. rpnetwork

    rpnetwork Power Member

    Pelo que parece isso faz um quadro com o número de * que queres e com o mesmo número de linhas
    se o nº de * já for 5 ele mete um \n que significa parágrafo

    ...também posso tar errado porque não pesco nada de C
     
  4. PJTuga

    PJTuga Power Member

    o "for i" esta a mudar de linha
    e o "for j" percorre as colunas

    durante o ciclo do "j" ele vai escrever o caracter "ch" "n" vezes

    o ciclo "for i" escreve "\n" ou seja, mudar de linha

    o resultado final é uma tabela de nxn preenchida com o caracter introduzido (ch)
    ________________________________________________________

    isto é para aprenderes a trabalhar com tabelas.
    usa-me muito para arrays.
     
    Última edição: 27 de Julho de 2008
  5. armagedalbeebop

    armagedalbeebop Power Member

    entao... o segundo for determina quantos * (no teu exemplo) sao imprimidos por linha
    e o primeiro for determina quantas vezes aquilo é feito ou seja o numero de linhas que é imprimido

    falando primeiro em pormenor do segundo ciclo for , ( deve ser mais facil assim explicar)
    p.ex introduziste o numero 5 e o caracter *
    ele imprime um * e depois outro * ,5 vezes (n=5) quando acaba introduz o \n (mudança de linha) e continua para o primeiro ciclo,(onde o i = 1 e agora vai passar a 2) ok,agora faz o mesmo (imprime 5 * e muda de linha)

    como usas o mesmo inteiro(int n) nos dois ciclos for o resultado vai ser um "quadrado" (n caracteres de comprimento,n caracteres de altura(nº de linhas) )

    se calhar entendias melhor se tivesses posto chavetas no segundo for
     
  6. theking1200

    theking1200 Banido

    Muito obrigado pessoal graças a voces o meu pequeno cerebro consegiu entender :002:
    Vc são os maiores
     
  7. jatbas

    jatbas Power Member

    Só te tenho uma coisa a dizer: Aprende a traçar um programa ;)
     
  8. theking1200

    theking1200 Banido

    :lol:Ate estou a pensar nisso mas este programa foi retirado do Linguagem C do Luis Damas eu só o queria entender.
     

Partilhar esta Página