Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Vector Dinamico PDF
Vector Dinamico PDF
Entre las operaciones que se realizan sobre los datos del vector estn:
Fichero declararvector.h
#ifndef DECLARARVECTOR_H
#define DECLARARVECTOR_H
class DeclararVector
{
private:
int tamano; //Se define un atributo de tipo entero para asignar el tamao que tendr el vector.
//Se define una variable Vector de tipo entero como puntero (*) para declarar el vector, esto para indicar que al
//vector se le asignara el tamao en tiempo de ejecucin y asignar la direccin de memoria en donde
//se almacenara el primer elemento del vector.
int* Vector;
void Limpiar(); //Mtodo para liberar la memoria del vector.
public:
DeclararVector();
virtual ~DeclararVector();
//Mtodos modificadores y selectores para asignar y obtener el tamao del vector.
void setTamano(int N);
int getTamano();
//Mtodos modificadores y selectores para asignar y obtener los elementos del vector.
void setVector(int p, int ve);
int getVector(int p);
//Mtodos para realizar operaciones sobre los elementos del vector.
int mayorElemento();
int menorElemento();
double promedioVector();
void invertirVector();
};
Fichero declararvector.cpp
#include "declararvector.h"
#include <iostream>
using namespace std;
DeclararVector::DeclararVector()
{
tamano = 0;
Vector = NULL; //Cuando el vector no tiene tamao se asigna vaco o nulo.
}
DeclararVector::~DeclararVector()
{
//dtor
}
void DeclararVector::Limpiar(){
if (tamano > 0){
tamano = 0;
//Con delete se llama al destructor de la clase para borrar el objeto, las llaves se utilizan siempre que el
//objeto a eliminar sea de tipo vector.
delete []Vector;
}
}
void DeclararVector::setTamano(int N){
tamano = N;
if (N > 0){
//Se declara y asigna el tamao que tendr el vector de tipo entero en tiempo de ejecucin.
Vector = new int[N];
}
}
int DeclararVector::getTamano(){
return tamano;
}
void DeclararVector::setVector(int p, int ve){
Vector[p] = ve;
}
int DeclararVector::getVector(int p){
return Vector[p];
}
int DeclararVector::mayorElemento(){
int i;
int mayor = getVector(0);
for (i=0; i<=getTamano()-1; i++){
if (getVector(i) > mayor){
mayor = getVector(i);
}
}
return mayor;
}
int DeclararVector::menorElemento(){
int i;
int menor = getVector(0);
for (i=0; i<=getTamano()-1; i++){
if (getVector(i) < menor){
menor = getVector(i);
}
}
return menor;
}
double DeclararVector::promedioVector(){
int i, contador;
double suma, promedio;
suma = 0;
contador = 0;
for (i=0; i<=getTamano()-1; i++){
suma = suma + getVector(i);
contador = contador + 1;
}
promedio = suma/contador;
return promedio;
}
void DeclararVector::invertirVector(){
int aux; //Se declara una variable auxiliar para guardar temporalmente los datos de tipo entero del vector.
int izq = 0; //Primera posicin del vector.
int der = getTamano()-1; //Ultima posicin del vector.
while (izq < der){
aux = getVector(izq); //Se asigna a la variable auxiliar lo que esta en la primera posicin del vector.
//Se asigna en la primera posicin del vector el valor que esta en la ultima posicin.
setVector(izq, getVector(der));
setVector(der, aux); //Se asigna en la ultima posicin del vector lo que estaba en la primera posicin.
izq++;
der--;
}
}
Fichero main.cpp
#include "declararvector.h"
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int tam;
int valorElemento;
DeclararVector obj;
cout << "*********** PRACTICA UTILIZANDO VECTORES ***********\n";
cout << "\n";
cout << "________________________________________________ \n";
cout << "\n DIGITE EL NUMERO DE ELEMENTOS DEL VECTOR \n";
cout << "________________________________________________ \n \n";
cout << "Cuantos elementos tendra en vector: ";
cin >> tam;
obj.setTamano(tam);
cout << "________________________________________________ \n";
cout << "\n DIGITE LOS VALORES DE LOS ELEMENTOS DEL VECTOR \n";
cout << "________________________________________________ \n \n";
for (int i=0; i<=obj.getTamano()-1; i++){
cout << "Digite el valor del elemento " << i << ": ";
cin >> valorElemento;
obj.setVector(i, valorElemento);
}
cout << "________________________________________________ \n";
cout << "\n OPERACIONES CON LOS ELEMENTOS DEL VECTOR \n";
cout << "________________________________________________ \n \n";
cout << "\n";
cout << setiosflags(ios::showpoint | ios::uppercase);
cout << "El PROMEDIO de elementos del vector es: " << setprecision(4) << obj.promedioVector();
cout << "\n";
cout << "\n";
cout << "El elemento MAYOR del vector es: " << obj.mayorElemento();
cout << "\n";
cout << "\n";
cout << "El elemento MENOR del vector es: " << obj.menorElemento();
cout << "\n";
cout << "________________________________________________ \n";
cout << "\n ELEMENTOS DEL VECTOR INVERTIDOS \n";
cout << "________________________________________________ \n \n";
obj.invertirVector();
for (int i=0; i<=obj.getTamano()-1; i++){
cout << "Valor del elemento de la posicion " << i << " es: " << obj.getVector(i) << "\n";
}
cout << "\n";
}