aula06-vetorcadeiamatriz
TRANSCRIPT
Laboratório de Programação I Prof. Frederico Viana
Agenda
■ Vetor, Cadeia e Matriz
• Vetor
• Cadeia de Caracteres
• Matriz
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];
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;
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”;
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);
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.
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.
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];
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};
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);