Início > Programas desenvolvidos > Trabalhando com Matrizes em C

Trabalhando com Matrizes em C

Na matemática, uma matriz é uma tabela de m x n símbolos sobre um corpo F, representada sob a forma de um quadro com m linhas e n colunas e utilizado, entre outras coisas, para a resolução de sistemas de equações lineares e transformações lineares.

As linhas horizontais da matriz são chamadas de colunas e as linhas verticais são chamadas de linhas. Uma matriz com m(i) colunas e n(j) linhas é chamada de uma matriz m por n (escreve-se m×n) e m e n são chamadas de suas dimensões, tipo ou ordem.

http://pt.wikipedia.org/wiki/Matriz_%28matem%C3%A1tica%29

Ex.:

A matriz abaixo denominada A, possui ordem 3 x 2, ou seja, possui 3 colunas e 2 linhas.

matriz

Definimos os elementos contidos na matriz através da citação, a i j, onde: a é o valor, i é a posição da linha e j é igual a posição da coluna da matriz. Verificando a matriz A (acima) percebemos que o elemento da posição a 1 1 possui o valor 1 e o elemento da posição a 1 3 possui o valor 3.

matriz2

Sabendo a lógica da criação de uma matriz vamos começar a pensar em nosso programa. Para trabalhar com matrizes em C é essencial o conhecimento da função for.

Faça um programa onde o usuário crie uma matriz de tamanho 3 x 3 e imprima posteriormente a mesma na tela.

Código:

impressãomatriz

Analisando o Código:

A declaração da variável que receberá a matriz tem a seguinte sintaxe: nome_variável[qtd_linhas][qtd_colunas]. No código acima perceba que foram criadas as variáveis linha e coluna que receberá um valor inteiro que determinará o tamanho da matriz (no caso 3 x 3). Isso é válido, pois se você criar a variável matriz (m) possuindo o valor direto para linhas e colunas, caso você necessitar alterar o tamanho de sua matriz, toda estrutura for criada deverá ser atualizada manualmente.

Determinando esses valores em variáveis, basta você referenciar as mesmas nas posições referentes as linhas e colunas da matriz (m[linha][coluna]), assim toda a vez que necessitar alterar o tamanho de sua matriz, atualize apenas essas variáveis.

Na linha 12 do código, começamos a criação da nossa matriz. Como a matriz é um vetor bidimensional necessitamos de um for para criação das linhas e de um outro for identado (dentro do primeiro) para a criação das colunas, repare que na estrutura do for é comparado as variáveis linha e coluna, isso para evitar o problema mencionado acima.

O printf apresentado na linha 16 do código, imprime na tela a posição que será digitada, onde a variável i representa a linha de nossa matriz e a variável j a coluna. Desta forma será exibido na tela a seguinte frase: Posição[0][0]..: .

A próxima linha de código, o usuário deverá digitar o valor que a determinada posição da matriz (i = linha, j = coluna) irá receber, após a digitação desse elemento os for serão novamente acionados e a próxima posição será exibida para a digitação de seu elemento (valor).

Desta forma podemos perceber que todos os elementos da matriz foram digitados.

Passaremos agora para os códigos que exibirão a matriz digitada na tela.

Perceba que as funções for são idênticas, inicialmente a variável i terá o valor 0, sendo assim enquanto i (0) for menor que a variável linha que possui o valor 3, o for será executado somando mais 1 na variável i.

Na linha de código 27 nossa matriz será exibida na tela contendo os valores digitados.

Assim terminamos a explicação básica sobre matrizes, em breve mostrarei como imprimir  a diagonal principal da matriz e realizar a multiplicação entre duas matrizes.

Anúncios
  1. Nenhum comentário ainda.
  1. No trackbacks yet.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: