2. Arrays
O Um Vector (também muito conhecido por array) é um
conjunto de elementos consecutivos, todos do mesmo
tipo, que podem ser acedidos individualmente a partir de
um único nome e um índice.
2
Variáveis identificadas por um nome - reservados para guardar
um conjunto de elementos do mesmo tipo.
Acesso -- nome da variável e respectivo índice
O Arrays unidimensionais – vetores
O Arrays bidimensionais - matrizes
3. Arrays - Vetores
O Exemplos da utilização de arrays (vetores):
O Armazenamento de temperaturas médias anuais;
O Armazenamento de comissões mensais de um vendedor;
O Armazenamento de notas de um aluno ao longo do ano;
O Armazenamento de movimentações de capital;
3
5. Vectores (Arrays)
O Declaração de um array:
tipo nome_variavel[numero_de_elementos];
O Onde:
O tipo: representa o tipo de dados dos elementos do
vector;
O nome_variavel: representa o nome do vector;
O numero_de_elementos: representa o número de
elementos que o vector poderá conter (tem de ser um
valor inteiro)
5
6. Vectores (Arrays)
O Exemplos de declarações de arrays:
O float renda[100];
O float: tipo de cada elemento do array;
O renda: nome do array;
O 100: número de elementos do array;
6
O Uso de Constantes para definir o tamanho de um vetor
#define TAM_MAX 10
float renda[TAM_MAX];
for(i=0; i<TAM_MAX; i++)
renda[i] = TAM_MAX - i; // coloca 5,4,3,2,1 no vetor
7. Vectores (Arrays)
OSe o array tem apenas um nome como
podemos aceder a cada elemento do array?
7
►Resposta: Através do seu índice.
12 123 1 14 0
0 1 2 3 4
int array_Exemplo[5];
array_Exemplo[0]=12;
array_Exemplo[3]=14;
8. Vectores (Arrays)
O Forma de aceder aos elementos de um array (cont.)
O nome_array[índide];
O Ex. array_Exemplo[1];
O Em que:
O nome_array: é o nome que foi definido para o array;
O índice: é a posição de um elemento do array.
O O valor do índice do primeiro elemento de um array é
sempre 0 (zero)
O Os índices de um array com n elementos variam sempre
entre 0 e n-1
8
12 123 1 14 0
0 1 2 3 4
int array_Exemplo[5];
10. Vectores (Arrays)
O Inicialização de arrays
O Um array pode ser inicializado com um
conjunto de valores:
O int arrayTeste[4]={12, 3, 332, 23};
O Se o nº de inicializações for inferior ao nº de
elementos do array, os elementos em falta serão
inicializados a 0.
O int arrayTeste[4]={1, 88, 99};
é equivalente a
int arrayTeste[4]={1, 88, 99, 0, 0};
10
11. Vectores (Arrays)
O Leitura de valores para um array em ciclo:
…
int x[8];
for(i=0;i<8;i++)
{
printf(“nDigite o elemento da posição %d”,i);
scanf(“%d”,&x[i]);
}
…
11
12. Vectores (Arrays)
O Impressão dos valores de um array:
…
printf(“nElementos do vetor:”);
for(i=0;i<8;i++)
{
printf(“n%d ”,x[i]);
}
…
12
13. Vectores (Arrays)
O Vantagens na utilização de arrays:
O Permitem manter os valores em memória;
O Reduzem a quantidade de variáveis;
O Cuidado:
O Quer durante a compilação, quer durante a execução, não é
verificado se os índices usados estão de acordo com a
dimensão declarada do array. É por isso possível declarar
um array com, por exemplo, 4 elementos, e tentar depois
aceder ao índice 5, o que levará a que ocorram problemas
de acesso à memória.
13
14. Vetores (Arrays)
OOperações com vetores
O Elabore um programa que faça a leitura da
distância percorrida em 5 viagens, guarda os
valores num vetor. De seguida faz a soma da
distância total percorrida.
O Elabore um programa que faça a leitura da
temperatura máxima de uma semana. Guarda os
valores lidos num vetor. De seguida calcula a
média da temperatura máxima daquela semana.
14
15. Vetores (Arrays)
OAlgoritmos de ordenação:
O Inserção (Insert Sort);
O Seleção (selection Sort);
O Bolha (Buble Sort)
OAlgoritmos de pesquisa
15
19. Vetores (Arrays)
O Algoritmos de ordenação: Seleção (Selection Sort);
// Ordenação pelo método de Seleção (Selection Sort)
#include <stdio.h>
#define tamanho 5
main(){
int i, j, min, x[tamanho],aux;
for (i=0;i<tamanho;i++) {
printf("Preencha a posiçãodo%d do vetor-->",i);
scanf("%d",&x[i]); }
for (i=0; i<(tamanho-1);i++) {
min=i;
for(j=(i+1); j<tamanho; j++)
if(x[j]<x[min])
min=j;
if (i!=min) {
aux=x[i];
x[i]=x[min];
x[min]=aux; } }
for (i=0;i<tamanho;i++) {
printf("Elemento da posição %d =%dn",i, x[i]);
}
system("pause");
}
19