Jump to content
Melo

[Resolvido] Dúvida! Programa com matrizes

Recommended Posts

Melo

Boas pessoal,

Eu nestas férias decidi começar a aprender programação, e comecei com C, estou a ler o livro do Luís Damas e comecei a semana passada.

Eu sei que é um problema básico, mas como comecei à uma semana ainda não me intendo bem com matrizes. Este deve ser o programa mais básico com matrizes.

#include <stdio.h>
#include <stdlib.h>

main()
{
int x, y, matriz[2][2];


for (x=1; x<=2; x++)
{

for (y=1; y<=2; y++)

{

printf("Digite um numero : \n");
scanf("&d", &matriz[x][y]);

}

}


for (x=1; x<=2; x++)
{

for (y=1; y<=2; y++)

{

printf("%d\n",matriz[x][y]);


}

}



system("pause");
return(0);
}

O programa não dá qualquer erro, mas ele apenas faz a leitura do 1º número terminando logo a seguir.

Se alguem me poder dizer o que fiz mal agradecia... :thumbsup:

Edited by brunoais
geshi

Share this post


Link to post
Share on other sites
pikax

a matriz e o array comeca sempre em 0!!!

for (x=0; x<2; x++)
{
 for (y=0; y<2; y++)
 {
   printf("%d\n",matriz[x][y]);
 }
}

Edited by pikax

Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Share this post


Link to post
Share on other sites
Melo

No livro está a dizer que pode começar em 1, também já vi alguns programas com o array a começar em 1.

Mas mesmo substituindo o teu código pelo inicial o erro mantem-se

#include <stdio.h>
#include <stdlib.h>
main()
{
int x, y, matriz[2][2];

for (x=0; x<2; x++)
{
for (y=0; y<2; y++)
{
printf("Digite um numero : \n");
scanf("&d", &matriz[x][y]);
}
}

for (x=0; x<2; x++)
{
for (y=0; y<2; y++)
{
printf("%d\n",matriz[x][y]);

}
}
system("pause");
return(0);
}

Edited by brunoais
geshi

Share this post


Link to post
Share on other sites
pikax
No livro está a dizer que pode começar em 1, também já vi alguns programas com o array a começar em 1.
Qual e' o livro??

Em C os arrays sempre comecam em 0, podes comecar por um, mas tens sempre que dar mais um elemento no final!

o teu scanf esta' mal!

scanf(" %d", &matriz[x][y]);


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Share this post


Link to post
Share on other sites
Melo

O livro é o do Luis Damas.

Se reparares eu dei mais um, x=<2 em vez de x<2 assim os valores variam de 1 a 2, em vez de 0 a 1.

Muito obrigado pela ajuda!!!

Não sei como fui meter '&' em vez de '%', não tinha reparado nesse erro.

Mais uma vez obrigado!! :thumbsup:

Share this post


Link to post
Share on other sites
HappyHippyHippo

O livro é o do Luis Damas.

Se reparares eu dei mais um, x=<2 em vez de x<2 assim os valores variam de 1 a 2, em vez de 0 a 1.

podes escolher 50 números para o euromilhões, se forem entre o 25 e o 75 são todos números correctos ?


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
polska

No livro está a dizer que pode começar em 1, também já vi alguns programas com o array a começar em 1.

É óbvio que pode começar do 1, mas isso quer dizer que o programador optou por começar a guardar resultados a partir da posição 1 e não da 0, não quer dizer que os arrays ou matrizes começam mesmo na posição 1.. Lembro-me de no livro dizer que as matrizes e arrays começam sempre na posição 0, mas por acaso não me lembro desses exemplos, a verdade é que podem confundir o leitor.


Corrige um sábio e ele mais sábio ficará. Corrige um ignorante e um inimigo ganharás.

Share this post


Link to post
Share on other sites
pikax

Se bem me lembro do livro, ele diz que pode-se comecar no 1 mas tem-se que acrescentar mais um valor ao tamanho do array!


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.