PUCRS
Faculdade de Informática
Programação C/C++
1. Analise a classe do programa abaixo e crie os métodos
necessários para o armazenamento dos dados digitados pelo
usuário.
#include
<iostream>
class
VetorDinamico{
public:
// Métodos a serem criados
// - construtora: deve alocar o vetor com um tamnho inicial, passado
// como parâmetro.
// - adiciona: coloca um dado no vetor. Se noa houver
// mais espaço, deve alocar um novo vetor
// - qtdDados: deve informar o número de dados inseridos no
vetor
// - getDado(i): deve informar o valor do dado 'i'
};
int
main()
{
VetorDinamico V1(5);
int dado;
do{
cin >> dado;
if (dado>0)
V1.adiciona(dado);
else break;
} while (1);
for(int i=0; i< V1.qtdDados(); i++)
{
cout << V1.getDado(i) << endl;
}
}
2.
Crie
uma biblioteca de
funções que gerencie a
alocação
dinâmica de vetores. Para alocação do
vetor a biblioteca deve, ter a seguintes
função:
int
aloca(int* &ptr, int tam)
{
// aloca um vetor de 'tam' inteiros, retornando 1 se foi
possível alocar e 0 se não foi
// o parâmentro 'ptr' deve retornar com o apontador para a
área alocada
}
3. Usando sobrecarga de funções, crie uma rotina
com o mesmo nome da anterior, que aloque vetores de 'floats'.
4. Crie funções para preencher os
elementos de vetor com um certo valor. Para varrer o vetor, não utilize
índices, use apenas aritmética de ponteiros. Faça
isto para os vetores de inteiros e de reais.
void
preenche(int*
vet, int tam, int n)
{
// atribui a todos os elementos
do vetor 'vet' o valor 'n'
// não use
índices. Use apenas aritmética de ponteiros.
}
5. Crie
funções para imprimir os elementos de vetor. Para
varrer o vetor, não utilize
índices, use apenas aritmética de ponteiros. Faça
isto para os vetores de inteiros e de reais.