• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

pebat

[Resolvido] Matriz

17 mensagens neste tópico

Boas...

Ja nao me lembro ... como e k se criar uma matriz em C.... Alguem me podia ajudar ??

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Boas...

Ja nao me lembro ... como e k se criar uma matriz em C.... Alguem me podia ajudar ??

Matriz em C? Uma matriz é um vector de vectores certo?

Imagina que tens o vector inteiro Idades.

Crias uma matriz da seguinte forma:

int Idades [] []

Penso que é assim, mas venham os prós dar uma ajuda.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

obrigado.... ja me relembrastes das cenas... e o que nao mexer nas cenas a mto tempo e dpx e o k da... : P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ás vezes não percebo bem o que dizes por causa das abreviaturas.

Se calhar fiquei muito tempo longe do IRC e já ñ mando muitas SMS. :shock:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Ás vezes não percebo bem o que dizes por causa das abreviaturas.

Se calhar fiquei muito tempo longe do IRC e já ñ mando muitas SMS. :shock:

LOL, eu por acaso tb já tenho andado a sofrer do mesmo! LOL

PS: é pá,..lá vem mais off topic? ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

LOL, ok, de volta ao topico.

Eu não sou pro em C mas concordo com o deathseeker.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

bem vou deixar aki o codigo, exemplo do uso de matriz 2X2...

#include<stdio.h>
#define MAX 2
// aqui o MAX pode variar é claro ;)
main()
{   // matriz 2X2
    //  * * 
    //  * *
    // vou criar uma matriz com os elementos tds iguais a 1 e escrevo a          matriz
    int i,j, matriz[MAX][MAX];
    printf("a matriz:\n");
    for(i=0;i<MAX;i++)
    {  for(j=0;j<MAX;j++)
       { matriz[i][j]=1;
          printf("%d ",matriz[i][j]);
       }
       printf("\n");
    }
}

edited by redhat

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

depois de fazer aquele exemplo lembrei me de fazer um outro exemplo, que le os dados do teclado:

- m: numero de colunas;

- n : numero de linhas;

-matriz[j]: é o valor da matriz na posição (i,j)

#include<stdio.h>

#define MAX 100

main()

{ //objectivo é ler do teclado os dados e passar pra matriz

int i,j,n,m,k,matriz[MAX][MAX];

printf("Quer inserir uma matriz n*m: indique o valores n e m sffv:\n");

scanf("%d %d",&n,&m);

printf("introduza os valores da matriz\n");

for(i=0;i<n;i++)

for(j=0;j<m;j++)

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

//vamos escrever a matriz pra confirmar...

printf("a matriz:\n");

for(i=0;i<n;i++)

{ for(j=0;j<m;j++)

printf("%d ",matriz[j]);

printf("\n");

}

}

nota: depois tive a brincar um pouco...deparei que se a matriz tem 4 elemento vou ter k escrever 5, mas so escreve os 4 validos (considerando que um 5 numero é um numero invalido aleatorio...) estive a ver se resolvia o problema, mas não estou a ver o que é....bem mas o que interessa é a manipulação da matriz...a ideia geral... espero que tenho isso util...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

for(i=0;i<(n-1);i++)

for(j=0;i<(m-1);j++)

foi de cabeça, nem tentei ver se funcava... :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

axo k isso nao esta bem...n podes ter n-1...tira te 1 linha e 1 coluna...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tens uma matriz 3x3 de inteiros

int matiz[2][2];

isto porque nos vectores tens a posicao 0,1,2 (3 casas) dai' o n-1

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

mas como i<(n-1) ...por exemplo n=3... tens entao i=0 ; i=1 e qdo i=2 pára e nao faz nada!! por isso tens k deixar o i<n :roll:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
tens uma matriz 3x3 de inteiros

int matiz[2][2];

isto porque nos vectores tens a posicao 0,1,2 (3 casas) dai' o n-1

Na declaração tens de declarar bem! Isto é a tua "int matriz[2][2];" está a criar uma matriz de 2x2 e não de 3x3!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pronto... my bad...
so estamos a explicar 1 simples problema que surge mtas vezes...ate eu fikei confusa...e tive k tar a pensar 1 pouco... :roll:
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
mas como i<(n-1) ...por exemplo n=3... tens entao i=0 ; i=1 e qdo i=2 pára e nao faz nada!! por isso tens k deixar o i<n :roll:

Por isso tem de se usar i<=(n-1).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
mas como i<(n-1) ...por exemplo n=3... tens entao i=0 ; i=1 e qdo i=2 pára e nao faz nada!! por isso tens k deixar o i<n :roll:

Por isso tem de se usar i<=(n-1).

mas ele tava a usar i<(n-1)...o que n esta correcto...e i<=(n-1) e i<n vai dar ao mm ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora