A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

UDESC - Prof. Juliano Maia1 Matrizes. UDESC - Prof. Juliano Maia2 Índice Seção 1 – Definições Seção 2 – Matrizes Unidimensionais Seção 3 – Matrizes Multidimensionais.

Apresentações semelhantes


Apresentação em tema: "UDESC - Prof. Juliano Maia1 Matrizes. UDESC - Prof. Juliano Maia2 Índice Seção 1 – Definições Seção 2 – Matrizes Unidimensionais Seção 3 – Matrizes Multidimensionais."— Transcrição da apresentação:

1 UDESC - Prof. Juliano Maia1 Matrizes

2 UDESC - Prof. Juliano Maia2 Índice Seção 1 – Definições Seção 2 – Matrizes Unidimensionais Seção 3 – Matrizes Multidimensionais

3 UDESC - Prof. Juliano Maia3 Definições Seção 1 Conceito

4 UDESC - Prof. Juliano Maia4 Conceito Uma matriz é uma coleção de variáveis do mesmo tipo que é referenciada por um nome comum. Um elemento de uma matriz é acessado por meio de um índice. Em C, todas as matrizes consistem em posições contíguas na memória.

5 UDESC - Prof. Juliano Maia5 Matrizes Unidimensionais Seção 2 Introdução Indexação Vetores Argumentos para Funções Parâmetros de Funções Strings Funções de Manipulação de Strings

6 UDESC - Prof. Juliano Maia6 Introdução Matrizes unidimensionais, mais conhecidas como vetores ou ARRAYs, são amplamente utilizadas em programação. Tratam-se de matrizes com uma única dimensão. A declaração geral de vetores em C é: tipo de dado nome[tamanho]; int numeros[30]; Os colchetes determinam que a variável é uma matriz, e o número entre os mesmo determina seu tamanho. Obs.: Em C, toda matriz tem 0 (zero) como o índice do seu primeiro elemento.

7 UDESC - Prof. Juliano Maia7 Indexação Vetores

8 UDESC - Prof. Juliano Maia8 Argumentos para Funções Matrizes não suportam passagem por valor; apenas passagem por referência. Na passagem da matriz para uma função utiliza-se apenas seu nome, sem índices: int vet[10];... func(vet);

9 UDESC - Prof. Juliano Maia9 Parâmetros de Funções Quando uma função recebe um vetor como parâmetro formal, a mesma pode ser definida de três formas: Como ponteiro: void funcao(int *vet){ Como matriz dimensionada: void funcao(int vet[10]){ Como matriz não dimensionada: void funcao(int vet[]){

10 UDESC - Prof. Juliano Maia10 Strings Strings são conjuntos de caracteres. É o uso mais comum de vetores em C. Cria o efeito de um novo tipo de dado, destinado a armazenar palavras. Obs.: Strings são terminadas por um nulo (\0). Por isso, é necessário declará-las sempre com uma posição a mais do que se necessita: char palavra[31]; // armazenas palavras de até 30 caracteres.

11 UDESC - Prof. Juliano Maia11 Strings Uma vez que strings são vetores de caracteres e não um tipo de dado primitivo, existem algumas restrições a operadores relacionais. char palavra[21];... palavra = teste; // incorreto! if(palavra == teste){ // incorreto! Obs.: Utiliza-se aspas duplas no tratamento de strings, e não aspas simples como em char.

12 UDESC - Prof. Juliano Maia12 Funções Manipulação de Strings Para superar estas limitações, existem funções padrões para manipulação de strings, pertencentes a biblioteca string.h As mais utilizadas são: strcpy() strlen() strcmp() strcat()

13 UDESC - Prof. Juliano Maia13 strcpy() / strlen() strcpy(s1,s2); Copia a string s2 em s1. Substitui o operador =, utilizado pelos outros tipos de dados. strlen(s1); Retorna o tamanho de s1.

14 UDESC - Prof. Juliano Maia14 strcmp() / strcat() strcmp(s1,s2); Compara s1 e s2 retornando: 0 se s1 e s2 são iguais; Menor que 0, se s1 < s2; Maior que 0, se s1 > s2. Substitui o operador ==, utilizado pelos outros tipos de dados. strcat(s1,s2); Concatena s2 ao final de s1.

15 UDESC - Prof. Juliano Maia15 Matrizes Multidimensionais Seção 3 Introdução Indexação Matrizes Bidimensionais Parâmetros para Funções Matrizes de strings Inicialização de Matrizes

16 UDESC - Prof. Juliano Maia16 Introdução C suporta matrizes multidimensionais. A exemplo dos vetores, são utilizados colchetes para indicar as dimensões: int matriz[5][5] // Matriz 5 X 5 float dados[3][3][3] // Matriz 3 X 3 X 3 Não é comum a utilização de matrizes de três ou mais dimensões devido à quantidade de memória de que elas necessitam.

17 UDESC - Prof. Juliano Maia17 Indexação Matrizes Bidimensionais

18 UDESC - Prof. Juliano Maia18 Parâmetros de Funções Quando uma matriz multidimensional é usada como parâmetro de função, não é necessário definir sua primeira dimensão. Desta forma, ambas as definições abaixo são válidas: void func(int mat[10][10]){ void func(int mat[][10]){

19 UDESC - Prof. Juliano Maia19 Matrizes de strings É muito comum, em programação, a utilização de vetores de strings. Em C, para se criar um vetor de strings, usa- se uma matriz bidimensional de char. O tamanho do índice esquerdo indica o número de strings e o tamanho do índice direito o comprimento de cada string. Ex.: char nomes[10][41];

20 UDESC - Prof. Juliano Maia20 Leitura de Matrizes de strings #include #define SIZE 10 int main(){ char lista_nomes[SIZE][31]; int cont; for(cont=0; cont

21 UDESC - Prof. Juliano Maia21 Inicialização de Matrizes C permite a inicialização de matrizes no momento de sua definição, da mesma forma que variáveis simples. Ex.: int numeros[5] = {0,1,2,3,4}; char nome[8] = EXEMPLO; float reais[2][2] = {0,0,0,0};

22 UDESC - Prof. Juliano Maia22 Dúvidas? ?


Carregar ppt "UDESC - Prof. Juliano Maia1 Matrizes. UDESC - Prof. Juliano Maia2 Índice Seção 1 – Definições Seção 2 – Matrizes Unidimensionais Seção 3 – Matrizes Multidimensionais."

Apresentações semelhantes


Anúncios Google