Baixe o app para aproveitar ainda mais
Prévia do material em texto
N575 - Algoritmos e Programação de Computadores Matrizes Prof. Raphael Torres Santos Carvalho N 5 7 5 - A lg o ri tm o s e P ro gr am aç ão d e C o m p u ta d o re s 1 Roteiro Objetivo Matrizes N 5 7 5 - A lg o ri tm o s e P ro gr am aç ão d e C o m p u ta d o re s 2 Objetivo Identificar coleções de elementos de dados do tipos vetores apresentando métodos aplicados a essa estrutura. N 5 7 5 - A lg o ri tm o s e P ro gr am aç ão d e C o m p u ta d o re s 3 Relembrando... Vetores são arrays unidimensionais, ou seja, são variáveis indexadas que possuem apenas um índice. Os vetores são estruturas de dados compostas de várias posições, onde em cada posição podemos colocar um valor. Quando nós dizemos que uma variável é do tipo vetor nela podemos armazenar várias informações do mesmo tipo (por isto os vetores são estruturas de dados homogêneas) colocando cada informação em uma posição diferente. N 5 7 5 - A lg o ri tm o s e P ro gr am aç ão d e C o m p u ta d o re s 4 Relembrando... Sintaxe da declaração de um vetor: tipo_da_variavel nome_da_variavel[numero_de_elementos]; Por exemplo, se declararmos: float exemplo [20]; N 5 7 5 - A lg o ri tm o s e P ro gr am aç ão d e C o m p u ta d o re s 5 Matrizes Os vetores, ou variáveis compostas unidimensionais, têm como principal característica a necessidade de apenas um índice para endereçamento. Uma estrutura que precise de mais de um índice será denominada estrutura composta multidimensional. As variáveis compostas multidimensionais mais utilizadas são as bidimensionais ou matrizes. Geralmente, utilizamos matrizes em situações que precisam de linhas e colunas para a identificação de elementos. N 5 7 5 - A lg o ri tm o s e P ro gr am aç ão d e C o m p u ta d o re s 6 Matrizes Exemplo de uma matriz A(3x2) Os números subscritos indicam os índices dos elementos da matriz. Na linguagem C, as matrizes são declaradas da seguinte forma: tipo identificador [linhas][colunas]; N 5 7 5 - A lg o ri tm o s e P ro gr am aç ão d e C o m p u ta d o re s 7 Atribuição de matrizes A atribuição de dados de um matriz ocorre utilizando dois índices, um para linha e outro para coluna. Neste caso, utilizamos dois laços for um dentro do outro. Exemplo: int main(void) { int l, c; int m[3][4]; for(l=0; l<3; l++) { for(c=0; c<4; c++) { m[l][c] = 4 * l + c +1; printf(“m[%d][%d] = %d “, l, c, m[l][c]); } printf(“\n“); } return 0; } N 5 7 5 - A lg o ri tm o s e P ro gr am aç ão d e C o m p u ta d o re s 8 Leitura de matrizes A leitura de dados de uma matriz é realizada utilizando dois laços. Exemplo: int main(void) { int l, c; int m[3][4]; for(l=0; l<3; l++) { for(c=0; c<4; c++) { printf(“Digite o elemento m[%d][%d] = “, l, c); scanf(“%d”, &m[l][c]); } } return 0; } N 5 7 5 - A lg o ri tm o s e P ro gr am aç ão d e C o m p u ta d o re s 9 Escrita de matrizes É semelhante a leitura de dados, em que se utiliza dois laços, um para cada índice. Exemplo: for(l=0; l<3; l++) { for(c=0; c<4; c++) { printf(“m[%d][%d] = %d “, l, c, m[l][c]); } printf(“\n”); } ou printf("M=\n"); for(l=0; l<3; l++) { for(c=0; c<2; c++) { printf(" %d", m[l][c]); } printf("\n"); } N 5 7 5 - A lg o ri tm o s e P ro gr am aç ão d e C o m p u ta d o re s 10 Exercício Qual o resultado da matriz C = A + B sabendo que: O primeiro elemento do vetor A deve ser somado com o primeiro elemento do vetor B e assim sucessivamente. Faça um algoritmo que inverta uma matriz de tamanho 3 x 3, ou seja, dê sua matriz transposta. Faça um algoritmo que multiplique duas matrizes. A primeira 4 x 2 e a segunda 2 x 4. N 5 7 5 - A lg o ri tm o s e P ro gr am aç ão d e C o m p u ta d o re s 11 Dúvidas? N 5 7 5 - A lg o ri tm o s e P ro gr am aç ão d e C o m p u ta d o re s 12
Compartilhar