aula06-vetorcadeiamatriz

11
Vetor, Cadeia e Matriz João Frederico Roldan Viana [email protected] (85)8867.9003

Upload: marcos-paulo

Post on 08-Nov-2014

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aula06-VetorCadeiaMatriz

Vetor, Cadeia e Matriz

João Frederico Roldan Viana

[email protected]

(85)8867.9003

Page 2: Aula06-VetorCadeiaMatriz

Laboratório de Programação I Prof. Frederico Viana

Agenda

■ Vetor, Cadeia e Matriz

• Vetor

• Cadeia de Caracteres

• Matriz

Page 3: Aula06-VetorCadeiaMatriz

Laboratório de Programação I Prof. Frederico Viana

Vetor, Cadeia e Matriz

■ Vetor

• Unidimensionais.

• São usados para tratamento de conjuntos de dados que possuem as mesmas características.

• O conjunto recebe um nome comum e elementos deste conjunto são referenciados através de índices.

• Possuem posições contíguas na memória.

• Sintaxe:

tipo nome[tamanho];

• Exemplo:

double notas[3];

Page 4: Aula06-VetorCadeiaMatriz

Laboratório de Programação I Prof. Frederico Viana

Vetor, Cadeia e Matriz

■ Vetor

• O primeiro elemento possui o índice 0 (zero).

• Inicialização:

char vogais[5] = {‘a’, ‘e’, ‘i’, ‘o’, ‘u’};

float notas[] = {8.6, 5.9, 7.4};

• Percorrendo o Vetor:

Geralmente utiliza-se um laço

int numeros[10];

for (int i=0; i<10; i++)

numeros[i] = i;

Page 5: Aula06-VetorCadeiaMatriz

Laboratório de Programação I Prof. Frederico Viana

Vetor, Cadeia e Matriz

■ Cadeia de Caracteres

• É simplesmente um vetor de caracteres.

• O último caractere de uma cadeia é o nulo (\0).

• Exemplo:

char frase[20];

(Guarda 19 caracteres + o nulo \0)

• Inicialização:

char s[6] = {‘A’, ‘l’, ‘u’, ‘n’, ‘o’};

char s[6] = “Aluno”;

Page 6: Aula06-VetorCadeiaMatriz

Laboratório de Programação I Prof. Frederico Viana

Vetor, Cadeia e Matriz

■ Cadeia de Caracteres

• Percorrendo o Vetor:

Pode-se utilizar um laço, mas não se deve percorrer a cadeia toda, apenas o que foi inserido.

char frase[100];

for (int i=0; frase[i] != ‘\0’; i++)

printf(“%c”, frase[i]);

• Recebendo uma cadeia: gets(frase);

• Imprimindo uma cadeia: printf(“%s”, frase);

Page 7: Aula06-VetorCadeiaMatriz

Laboratório de Programação I Prof. Frederico Viana

Vetor, Cadeia e Matriz

■ Cadeia de Caracteres

• Funções

Biblioteca: #include <string.h>

strcpy(s1, s2);

Copia s2 em s1

strcmp(s1, s2);

Retorna 0, caso s1 == s2.

Retorna positivo, caso s1 > s2.

Retorna negativo, caso s1 < s2.

Page 8: Aula06-VetorCadeiaMatriz

Laboratório de Programação I Prof. Frederico Viana

Vetor, Cadeia e Matriz

■ Cadeia de Caracteres

• Funções

strcat(s1, s2);

Concatena s2 ao final de s1

strlen(s1);

Retorna o tamanho de s1, sem levar em conta o nulo \0.

Page 9: Aula06-VetorCadeiaMatriz

Laboratório de Programação I Prof. Frederico Viana

Vetor, Cadeia e Matriz

■ Matriz

• Multidimensionais.

• Sintaxe:

Duas dimensões:

tipo matriz2[tam1][tam2];

Três dimensões:

tipo matriz3[tam1][tam2][tam3];

N dimensões:

tipo matrizN[tam1][tam2] . . . [tamN];

Page 10: Aula06-VetorCadeiaMatriz

Laboratório de Programação I Prof. Frederico Viana

Vetor, Cadeia e Matriz

■ Matriz

• Inicialização:

int tabela[2][3] = {{8, 5, 7},

{3, 9, 6}};

int tabela[2][3] = {8, 5, 7, 3, 9, 6};

Page 11: Aula06-VetorCadeiaMatriz

Laboratório de Programação I Prof. Frederico Viana

Vetor, Cadeia e Matriz

■ Matriz

• Percorrendo a Matriz:

Geralmente utiliza-se um laço para cada dimensão

int tabela[10][20];

for (int i=0; i<10; i++)

for (int j=0; j<20; j++)

tabela[i][j] = (i*3) + (j*2);