Escolar Documentos
Profissional Documentos
Cultura Documentos
Vector vs Matriz
Definio Declarao Atribuio de valores Acesso aos valores Nas funes
Programao - Eng. Automvel 1
Vector - Definio
Permite armazenar um conjunto de valores todos do mesmo tipo. Exemplos:
float int
Guardar as notas dos alunos de programao. Guardar o estado de ocupao dos quartos de uma penso. Guardar as letras do alfabeto.
Programao - Eng. Automvel 2
char
Vector - Declarao
Tipo_Dados NomeVariavel [n de elementos]; Exemplo: Vector que guarde a nota final de cada aluno da disciplina XPTO (40 alunos). int alunos_XPTO [40];
Vector - Inicializao
Os valores de inicializao na declarao so colocados entre { } e separados por ,. Exemplo:
int alunos_XPTO [40] = { 12, 9, 19, 15, 15, 7, ..., 12, 14 };
As reticncias no se aplicam em C. Indicam apenas que faltam valores (no total devero existir 40 notas).
alunos_XPTO
12 0
9 1
19 2
15 3
15 4
7 5
... ...
12 38
14 39
4
Vector - Inicializao
Se os valores de inicializao, na declarao, no forem todos colocados as restantes posies ficaram com o valor:
0 para o tipo de dados int ou float. (espao em branco) para o tipo de dados char.
Exemplo:
int alunos_XPTO [40] = { 12, 9, 19, 15, 15, 7 };
alunos_XPTO
12 0
9 1
19 2
15 3
15 4
7 5
0 ...
0 38
0 39
5
12 0 12 0
9 1 14 1
19 2 19 2
15 3 15 3
15 4 15 4
7 5 7 5
0 ... 0 ...
0 38 0 38
0 39 0 39
7
alunos_XPTO
void main (void){ int a[1] = {6}; a = {6} funcao (a); a[0] = 8 printf(%d, a[0]); } num = {6} void funcao (int num[1]){ num [0] += 2; num[ 0]= 8 }
10
num = {8}
Matriz - Definio
Permite armazenar um conjunto de valores todos do mesmo tipo. Representa um vector de x dimenses Exemplos:
Jogo do galo vector de duas dimenses OU vector bidimensional (3 linhas x 3 colunas). Totoloto vector de trs dimenses OU vector tridimensional (1 linha x 49 colunas x 10 profundidade), ou seja (1 linha x 49 nmeros x 10 apostas)
Programao - Eng. Automvel 13
1 11 16 0 14 12 18 ...
Matriz - Inicializao
Cada linha da matriz colocada entre { } e os valores e as linhas separados por , . Toda a matriz envolvida tambm por { }. Exemplo:
int alunos_XPTO [2][20] = { {12, 9, 19, 15, 15, 7, ..., 12, 14}, {11,16, 0, 14, 12, 18, ..., 0, 12} };
alunos_XPTO 0 1 12 11 0 9 16 1 19 0 2 15 14 3 15 12 4 7 18 5 ... ... ... 12 0 18 14 12 19
16
18
Exemplo 2: Escrever no ecr a nota do aluno 1 aluno do 2 turno; printf(Nota do aluno - %d, alunos_XPTO[1][0]);
Programao - Eng. Automvel 19
Certo vs Errado
Exerccio 1 : Indique quais as instrues correctas e incorrectas e justifique-as.
22
void main (void){ v1 1 2 3 3 4 5 int v1[5] = {1, 2, 3, 4, 5}, 0 1 2 3 4 v2[5], v2 1 lixo lixo lixo lixo lixo v3[2][2] = {{1, 2}, {2,1}};
0 1 2 v3 0 1 3 1 2 2 0 4 2 1 1
Impossvel atribuir directamente os valores de um vector a outro. A posio 5 no pertence ao vector. O ndice mximo 4. O valor de v2[3] passa a ser 2 (v3[1][0]).
v2[5] = 10;