Você está na página 1de 12

Matrizes em C

Lgica de Programao

Conceito de matriz
Uma matriz uma coleo de variveis do mesmo

tipo que referenciada por um nome comum. Um elemento especfico em uma matriz acessado por meio de um ndice.

Conceito de Matriz
Em C, todas as matrizes consistem em posies

contguas de memria. O endereo mais baixo corresponde ao primeiro elemento e o mais alto ao ltimo elemento.

Conceito de Matriz
Matrizes podem ter de uma a vrias dimenses.

Matrizes unidimensionais - Declarao


A forma geral para declarar uma matriz

unidimensional :

tipo nome_da_matriz [tamanho];

Exemplos: double saldo[100]; int x[10]; char letras[15];

Acesso aos elementos de uma matriz


Para acessar um elemento de uma matriz

utilizamos a forma geral :

nome_da_matriz [ndice]

Por exemplo, se declararmos uma matriz de

caracteres

char p[10];

Acessamos seu primeiro elemento com p[0] e o ltimo com p[9]

Exemplo
O programa carrega uma matriz de inteiros

com os nmeros de 1 a 100. int main() {


int x[100]; int t; for(t=0; t<100; t++)
x[t] = t+1; return 0;

Matrizes Bidimensionais
Para declarar uma matriz de inteiros com 5

linhas e 8 colunas escreve-se:

int matriz [5][8];

Para acessar o primeiro elemento da primeira

linha escreve-se:

matriz[0][0]

E o ltimo elemento da ltima linha escreve-

se:

matriz [4] [7]

Declarando e inicializando matrizes


Podemos inicializar um matriz no momento

de sua declarao. Exemplos:

int i[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int i[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; char vogais[5] = {A ,E ,I ,O ,U}; int mb [3][2] = {1,2,3,4,5,6}; int mb [][2] = {1,2,3,4,5,6}; int mb [3][2] = {{1,2},{3,4},{5,6}};

Passando matrizes unidimensionais para funes


Podemos passar um matriz como parmetro de entrada de uma

funo.

Exemplo: int soma(int mat[10]) { int i, res = 0; for(i=0;i<10;i++) res = res + mat[i]; return res; }
int main(int argc, char *argv[]) { int num[10] = {2,4,5,0,7,3,8,1,6,9}; printf("A soma dos elementos e igual a %d\n, soma(num)); system("PAUSE"); }

Exerccios
Escreva uma funo C que recebe uma matriz

unidimensional de inteiros e seu tamanho e retorna o ndice do seu menor elemento. Escreva uma funo que recebe uma matriz bidimensional de inteiros e os tamanhos de cada dimenso e atribui valores aleatrios entre 0 e 99 aos seus elementos. Escreva uma funo que recebe trs matrizes unidimensionais de inteiros de tamanho 10, m1,m2 e m3, e coloca em m3 a soma de m1 e m2;

Exerccios
Escreva uma funo que recebe trs matrizes

unidimensionais de inteiros de tamanho 10, m1,m2 e m3, e coloca em m2 os elementos pares de m1 e em m3 os elementos mpares de m1; Escreva uma funo C que recebe uma matriz unidimensional de nmeros reais e ordena os seus elementos em ordem crescente. (Desafio) Escreva uma funo C que recebe uma matriz bidimensional de inteiros e preenche os seus elementos com nmeros aleatrios entre 1 e 9 que formam um tabuleiro de sudoku completamente preenchido.

Você também pode gostar