Vous êtes sur la page 1sur 14

Lgica de Programao

Vetores
Prof. Rmulo de Oliveira Nunes

4 de Outubro de 2016

Vetores

4 de Outubro de 2016

1 / 14

Motivao
Vetores

int main () {
// armazenar 5 notas
double n1 , n2 , n3 , n4 , n5 ;
double media ;
cin > > n1 > > n2 > > n3 > > n4 > > n5 ;
// Calcular media
media =
( n1 + n2 + n3 + n4 + n5 ) /5;
cout > > media ;
}

int main () {
// armazenar 3 notas
double n1 , n2 , n3 ;
double media ;
cin > > n1 > > n2 > > n3 ;
// Calcular media
media = ( n1 + n2 + n3 ) /3;
cout > > media ;
}

Problema: e se tivssemos 1000 notas ? Esta a melhor maneira de


resolver o problema?

Vetores

4 de Outubro de 2016

2 / 14

Objetivo

Responder a seguinte pergunta:


Aprendi que uma varivel guarda UMA informao... Mas nem tudo
pode ser representado atravs de UMA informao. Existe uma
maneira de trabalhar com diversas informaes? Ou para cada
informao eu precisarei de uma varivel?

Vetores

4 de Outubro de 2016

3 / 14

Vetor

Definio
Coleo de variveis do mesmo tipo referenciada por um nome
comum.
Matriz unidimensional.
Tambm chamado de Array ou Lista.
Caractersticas:
Os elementos de um vetor so armazenados em posies
contguas na memria.
Cada elemento acessado por meio de um ndice.

Vetores

4 de Outubro de 2016

4 / 14

Declarao de vetores
tipo identificador [tamanho];

Utilizando #define
Utilizando const
# include ...
# define TAM 30
.....
float v [ TAM ];

const int n = 50;


float v [ n ];

Utilizando uma constante inteira


float v [50];

Vetores

4 de Outubro de 2016

5 / 14

Acessando os elementos de um vetor

Para acessar um elemento de um vetor, devemos especificar a


sua posio chamada ndice.
A posio do vetor determinada por meio de um nmero inteiro,
uma constante, uma expresso aritmtica ou uma varivel entre
colchetes.

Ateno!
O ndice do primeiro elemento de um vetor zero.
Vetores

4 de Outubro de 2016

6 / 14

Exemplos

# define TAM 50
....
int v [ TAM ]; // Declarao
v [4] = 10; // Atribuir
cin >> v [8]; // Ler um valor
cout < < v [8] + v [16]; // acessar elementos .

Vetores

4 de Outubro de 2016

7 / 14

Exerccio

Se x=3 e y=2, escreva o valor correspondente s solicitaes abaixo:


1

v[x+1]

v[x*2]

v[v[x+4]]

v[x+y]

v[8-v[2]]

v[v[v[7]]]

v[v[1]*v[4]]

Vetores

4 de Outubro de 2016

8 / 14

Vetores e as estruturas de repetio


int main () {
int i , dados [50];
// Ler dados
for ( i =0; i <50; i ++) {
cin > > dados [ i ];
}
// Imprimir o vetor
for ( i =0; i <50; i ++) {
cout < < dados [ i ];
}
return 0;
}

Ateno!
A linguagem C++ no realiza verificao de limites de vetores.
Acessar a uma posio invlida pode sobrepor dados da
memria!
Vetores

4 de Outubro de 2016

9 / 14

Inicializando vetores
// Inicializar
int dmes [12] =
{31 ,28 ,31 ,30 ,31 ,30 ,31 ,31 ,30 ,31 ,30 ,31};
/* * So bissextos todos os anos :
* mltiplos de 400
* mltiplos de 4 e no mltiplos de 100
* */
if ( ( ano %4==0 && ano %100!=0) || ano %400==0)
dmes [1] = 29;

Ateno!
Os elementos de um array podem ser inicializados unicamente
quando o array declarado.
float notas [3];
// Erro ! O comando de atribuio s capaz de
armazenar UMA informao por vez .
notas = {4.5 , 7.0 , 8.2};
Vetores

10

4 de Outubro de 2016

10 / 14

Exerccio

Leia um conjunto com n (n <= 100) nmeros e eleve ao quadrado


todos os nmeros que forem par e multiplique por -1 todos que forem
impares.

Vetores

11

4 de Outubro de 2016

11 / 14

Exerccio

Dados dois vetores com n (n <= 50) componentes cada um, calcular e
imprimir a soma (vectorial) deles.

Vetores

12

4 de Outubro de 2016

12 / 14

Exerccio

Leia um conjunto com n (n <= 20) nmeros e informe se existe algum


elemento repetido no conjunto.

Vetores

13

4 de Outubro de 2016

13 / 14

Exerccio

Escreva um programa que l n (n 100) nmeros e imprime quantos


desses nmeros so maiores do que a mdia deles.

Vetores

14

4 de Outubro de 2016

14 / 14

Vous aimerez peut-être aussi