View Full Version : Meus neuronios não servem para nada


theking1200
28-07-2008, 00:31
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:

#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 é :

intrudusa um numero: 5

intrudusa um caracter: *

*****
*****
*****
*****
*****



alguem me podia explicar a logica :

:009::009::009:

1Coelho1
28-07-2008, 00:39
n linhas e n colunas do símbolo que colocaste?

rpnetwork
28-07-2008, 00:42
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

PJTuga
28-07-2008, 00:42
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.

armagedalbeebop
28-07-2008, 00:47
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

theking1200
29-07-2008, 18:16
Muito obrigado pessoal graças a voces o meu pequeno cerebro consegiu entender :002:
Vc são os maiores

jatbas
29-07-2008, 19:10
Só te tenho uma coisa a dizer: Aprende a traçar um programa ;)

theking1200
31-07-2008, 01:55
:lol:Ate estou a pensar nisso mas este programa foi retirado do Linguagem C do Luis Damas eu só o queria entender.