O documento discute matrizes, definindo-as como uma coleção de variáveis do mesmo tipo armazenadas de forma contígua na memória e acessadas através de índices. Detalha como declarar e acessar elementos de matrizes unidimensionais e multidimensionais, incluindo como preencher, copiar e mostrar os dados de uma matriz.
2. Matrizes
A matriz é um tipo de dado usado para representar
uma certa quantidade de variáveis que são
referenciados pelo mesmo nome.
Consiste em locações contíguas de memória.
O endereço mais baixo corresponde ao primeiro
elemento.
Uma matriz é uma coleção de variáveis de mesmo
tipo, acessíveis com um único nome e armazenados
contiguamente na memória.
3. A individualização de cada variável de um vetor é
feita através do uso de índices.
Os Vetores são matrizes de uma só dimensão.
Matriz é a uma estrutura de dados do tipo vetor com
duas ou mais dimensões.
Os itens de uma matriz tem que ser todos do
mesmo tipo de dado.
Na prática, as matrizes formam tabelas na memória.
4. Matriz Unidimensional (Vector)
Sintaxe: tipo nome[tamanho];
As matrizes tem 0 como índice do primeiro
elemento, portanto sendo declarada uma matriz de
inteiros de 10 elementos, o índice varia de 0 a 9.
5. Acesso aos elementos do vetor
Para acessar os elementos de um vetor usa-se
índices.
O índice define a posição da variável dentro do
vetor.
Em todos os vetores tem o primeiro elemento na
posição 0(zero).
Assim, se tomarmos "K" como sendo o tamanho do
vetor a última posição é a de índice "K-1"
int Vector[5];
Vetor[0] = 4; // Coloca 4 na primeira posição de
6. int Vetor[5]; // declara um vetor de 5 posições
Vetor[0] = 9; // coloca 9 na primeira posição do vetor
Vetor[4] = 30 // coloca 30 na última posição do vetor
Preenchimento de um vetor com um dado
◦ for(i=0; i<5; i++) for(i=0; i<=4; i++)
Vetor[i] = 30; Vetor[i] = 30;
Colocar os números de 1 a 5 em Vetor
◦ for(i=0; i<5; i++)
Vetor[i] = i+1;
Exemplos com Vetores
7. Colocar os números de 5 a 1 em Vetor
◦ for(i=0; i<5; i++)
Vetor[i] = 5-i;
Uso de Constantes para definir o tamanho de
um vetor
#include<stdio.h>
#define TAM_MAX 10
double VetReais[TAM_MAX];
int main(){
for(i=0; i<TAM_MAX; i++)
VetReais[i] = TAM_MAX - i; // coloca 5,4,3,2,1 no vetor
return 0;
}
8. Copiar os dados de um vetor para outro
#include<stdio.h>
#define TAM_MAX 10
double VetReais[TAM_MAX], Copia[TAM_MAX];
int main(){
for(i=0; i<TAM_MAX; i++)
VetCopia[i] = VetReais[i]; // Copia os dados de um vetor
// para outro
return 0;
}
9. Copiar os dados de um VET1 para as primeiras 5
posições de COPIA e VET2 para as outras 5
#include<stdio.h>
#define TAM_MAX 10
// Note que a declaração do vetor "Cópia" cria o dobro de posições
double Vet1[TAM_MAX], Vet2[TAM_MAX], Copia[TAM_MAX*2];
int main(){
for(i=0; i<TAM_MAX; i++)
VetCopia[i] = Vet1[i]; // Copia os dados do primeiro vetor
for(i=0; i<TAM_MAX; i++) // Copia os dados do segundo vetor
VetCopia[i+TAM_MAX] = Vet2[i];
return 0;
}
10. Leitura dos dados de um um vetor
#include<stdio.h>
#define TAM_MAX 10
double Vet1[TAM_MAX];
int main(){
for(i=0; i<TAM_MAX; i++)
scanf("%f",&Vet1[i]);
return 0;
}
11. Matriz Multidimensional
Sintaxe: tipo nome[tamanho][tamanho] ...;
Funciona como na matriz de uma dimensão (vetor),
mas tem mais de um índice.
12. Como atribuir valores a uma matriz?
Suponha a matriz como declarada:
◦ float Media[5] [2];
para atribuir uma valor precisamos identificar a
posição usando os índices:
◦ Media [0][0] = 5; //Atribui o valor 5 na primeira linha e
primeira coluna.
◦ Media [1][0] = 7; // Atribui o valor 7 na segunda linha,
primeira coluna
13. Preenchendo uma matriz
Para fazer o preenchimento de uma matriz,
devemos percorrer todos os seus elementos e
atribuir-lhes um valor.
Isto pode ser feito tanto gerando valores para cada
elemento da matriz, como recebendo os valores
pelo teclado.
Um método interessante para percorrer uma matriz
é usar duas estruturas de repetição for e duas
variáveis inteiras, uma para a linha e a outra para a
coluna.
14. Exemplo:
Suponha uma matriz de 3 linhas por 3 colunas do
tipo inteiro.
Para percorrer a matriz recebendo seus valores,
podemos fazer:
for ( i=0; i<3; i++ ) {
for ( j=0; j<3; j++ ) {
scanf ("%d", &matriz[ i ][ j ]);
}
}
15. Neste trecho de código, a variável i representa a
linha e j a coluna da matriz.
Usando as repetições, percorremos cada posição
da matriz e recebemos um valor usando scanf();
16. Mostrando os elementos de uma matriz
Para mostrar os elementos de uma matriz, podemos
usar o mesmo método, porém usamos o comando
de saída printf().
for ( i=0; i<3; i++ ) {
for ( j=0; j<3; j++ ) {
printf ("%d", matriz[ i ][ j ]);
}
}
19. Conclusoes
Utilizamos um par de estruturas de repetição for
para primeiramente fazer a leitura dos valores da
matriz.
Fixamos a linha, ou seja, o índice i enquanto o
índice da coluna j varia até preencher todos os
elementos da linha.
Depois que uma linha é preenchida, o índice da
linha é incrementado e recomeça o preenchimento
da coluna por coluna com o loop for interno
controlado pelo índice j.