Estrutura de Dados Avançada

11
ESTRUTURA DE DADOS AVANÇADA Matrizes Bidimensionais Prof. Mário Dantas

description

Estrutura de Dados Avançada. Matrizes Bidimensionais Prof. Mário Dantas. Forma geral da declaração de uma matriz bidimensional. tipo_da_variável nome_da_variável [ linha ][ coluna ]; - PowerPoint PPT Presentation

Transcript of Estrutura de Dados Avançada

Page 1: Estrutura de Dados Avançada

ESTRUTURA DE DADOS AVANÇADA

Matrizes Bidimensionais

Prof. Mário Dantas

Page 2: Estrutura de Dados Avançada

FORMA GERAL DA DECLARAÇÃO DE UMA MATRIZ BIDIMENSIONAL

tipo_da_variável nome_da_variável [linha][coluna];

Quando vamos preencher ou ler uma matriz no C o índice mais à direita (coluna) varia mais rapidamente que o índice à esquerda (linha);

Page 3: Estrutura de Dados Avançada

EXEMPLO DE MATRIZ

#include <stdio.h>

int main () {

int mtrx [20][10];

int i,j,count;

count=1;

for (i=0;i<20;i++)

  for (j=0;j<10;j++)

   {

         mtrx[i][j]=count;

         count++;

   }

return(0);

}

Page 4: Estrutura de Dados Avançada

MATRIZES DE STRINGS

A forma geral de uma matriz de strings:  char nome_da_variável [num_de_strings]

[compr_das_strings];

como acessar uma string individual? Fácil. É só usar apenas o primeiro índice. Então, para acessar uma determinada string faça:

nome_da_variável [índice] ;

Page 5: Estrutura de Dados Avançada

EXEMPLO

#include <stdio.h>

int main ()

{

char strings [5][100];

int i;

for (i=0; i<5; i++)

{

printf ("Digite uma string: ");

gets (strings[i]);

}

printf ("\nAs strings que voce digitou foram:\n\n");

for (i=0; i<5; i++)

printf ("%s\n",strings[i]);

return(0);

}

Page 6: Estrutura de Dados Avançada

MATRIZES MULTIDIMENSIONAIS

A forma geral de uma matriz multidimensional:

tipo_da_variável nome_da_variável [tam1][tam2] ... [tamN];

Uma matriz N-dimensional funciona basicamente como outros tipos de matrizes.

Lembrar que o índice que varia mais rapidamente é o índice mais à direita.

Page 7: Estrutura de Dados Avançada

INICIALIZAÇÃO

A forma geral de uma matriz como inicialização é:

tipo_da_variável nome_da_variável [tam1][tam2] ... [tamN] = {lista_de_valores};

A lista de valores é composta por valores (do mesmo tipo da variável) separados por vírgula.

Os valores devem ser dados na ordem em que serão colocados na matriz.   

Page 8: Estrutura de Dados Avançada

INICIALIZAÇÃO

Alguns exemplos de inicializações de matrizes:

float vect [6] = { 1.3, 4.5, 2.7, 4.1, 0.0, 100.1 };        

int matrx [3][4] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };       

int matrx [3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12} };  

char str [10] = { 'J', 'o', 'a', 'o', '\0' };         char str [10] = "Joao";         char str_vect [3][10] = { "Joao", "Maria", "Jose" };

Page 9: Estrutura de Dados Avançada

INICIALIZAÇÃO

char mess [] = "Linguagem C: flexibilidade e poder.";                

int matrx [][2] = { 1,2,2,4,3,6,4,8,5,10 }; int matrx [][2] = {{1,2},{2,4},{3,6},{4,8},

{5,10} };

Page 10: Estrutura de Dados Avançada

AUTO AVALIAÇÃO

# include <stdio.h> int main() {     int t, i, M[3][4];     for (t=0; t<3; ++t)         for (i=0; i<4; ++i)             M[t][i] = (t*4)+i+1;

    for (t=0; t<3; ++t)     {         for (i=0; i<4; ++i)             printf ("%3d ", M[t][i]);         printf ("\n");     }     return(0);}

Page 11: Estrutura de Dados Avançada

REFERÊNCIAS

http://www.mtm.ufsc.br/~azeredo/cursoC/c.html