Pesquisar no blog:

domingo, 2 de dezembro de 2012

Matriz e Vetor - linguagem C

Vetores:
Vetor é uma variável que armazena vários valores de tipo homogêneo.
Por exemplo:
int var0[5]; é uma variável que armazena até 5 valores inteiros.
float var1[10]; é uma variável que armazena até 10 valores reais.
char var2[3]; é uma variável que armazena até 3 valores caracteres.

Para saber mais sobre tipos de dados acesse esse link.

Posições do vetor:
As posições do vetor em C iniciam-se sempre em 0. Ou seja, para um vetor de 5 posições percorremos as posições 0, 1, 2, 3 e 4. Para manipular o vetor int var0[5]; usamos as seguintes instruções: var[0], var[1], var[2], var[3] e var[4].

Atribuindo valor:
Atribuímos os valores de um vetor dentro de chaves. Exemplo: int var0[5] = {5,-8,3,0,-2};
Ou podemos atribuir valores de posições específicas: var0[2] = 10;


Podemos imaginar o vetor int var0[5]; da seguinte forma:
Posições 
 0
1
 2
 3
4
Valores 5-8 3 0-2


Exemplo:
main()
{
    int var0[5] = {5,-8,3,0,-2};
    printf("%d, %d, %d, %d , %d\n",var0[0], var0[1], var0[2], var0[3], var0[4]);
    system("pause");
    var0[2] = 10;
    printf("%d, %d, %d, %d , %d\n",var0[0], var0[1], var0[2], var0[3], var0[4]);
    system("pause");
}

Nesse programa primeiro aplicamos o valor de cada posição do vetor e posteriormente alteramos apenas a posição 2. Lembrando que a posição 2 de um vetor em C equivale ao terceiro valor do vetor, pois começamos a posição em 0 (zero).

Percorrendo um vetor:
Podemos percorrer um vetor usando um laço de repetição. Se você precisa, por exemplo, ler o valor de cada posição informada pelo usuário, você pode usar o laço for para pedir a leitura de cada uma das posições e outro laço para imprimir o vetor:
main()
{
    int var0[5], i;
    for(i = 0; i < 5; i++)
    {
        printf("Digite o valor da posicao %d: ",i+1);
        scanf("%d",&var0[i]);
    }
    for(i = 0; i < 5; i++)
        printf("Posicao %d: %d\n",i+1,var0[i]);
    system("pause");
}

Para vetores com muitas posições é extremamente inviável a impressão de cada posição de forma "manual".

Matrizes:
Vetores são também matrizes de uma dimensão.
Uma matriz de 2 dimensões pode ser declarada de forma parecida a de uma matriz de uma dimensão (vetor), porém, devemos informar a quantidade de linha e quantidade de coluna: int var0[2][3];

Atribuindo valores à matriz:
Para atribuir valores para uma matriz, devemos separar suas linhas por chaves ({}) e suas colunas por vírgula (,).
Exemplo:

int i, var0[2][3] = {
        {5,-8,3},
        {1,12,2} };

Podemos imaginar essa matriz da seguinte forma:
Posições 
 0
1
 2
0 5-8 3
1 112 2

Percorrendo uma matriz:
Para percorrer uma matriz bidimensional podemos usar dois laços de repetição. Um para percorrer as linhas e um para percorrer as colunas:
main()
{
    int i, j, var0[2][3] = {
        {5,-8,3},
        {1,12,2} };
    for(i = 0; i < 2; i++)
        for(j = 0; j < 3; j++)
            printf("Linha %d coluna %d: %d\n",i+1, j+1,var0[i][j]);
    system("pause");
}

Exemplo de código para percorrer a matriz pedindo os valores para o usuário:
main()
{
    int i, j, var0[2][3];
    for(i = 0; i < 2; i++)
    {
        for(j = 0; j < 3; j++)
        {
            printf("Digite o valor da Linha %d Coluna %d: ",i+1, j+1);
            scanf("%d",&var0[i][j]);
        }
    }
    for(i = 0; i < 2; i++)
    {
        for(j = 0; j < 3; j++)
        {
            printf(" %4d ",var0[i][j]);
        }
        printf("\n");
    }
    system("pause");
}

Nenhum comentário:

Postar um comentário