#include "encabezado.h"
Contenedor::Contenedor(){
inicializar();
Cantidad = 0;
Tamano = 10; //Vectors lenght.
}
Contenedor::~Contenedor(){
}
int Contenedor::getCantidad(){
return Cantidad;
}
int Contenedor::getTamano(){
return Tamano;
}
void Contenedor::inicializar(){
cout << "--------Inicializando--------" << endl;
for (int i = 0; i<Tamano; i++)
Vector[i] = 0;
}
bool Contenedor::agregaElemento(int ele){
if (Cantidad == Tamano)
returnfalse;
else{
Vector[Cantidad] = ele;
Cantidad++;
returntrue;
}
}
void Contenedor::imprimeContenedor(){
int x = 0;
for (int i = 0; i < Cantidad; i++){
cout << x++ << ") " << Vector[i] << endl;
}
cout << endl << "------------------------------" << endl;
}
void Contenedor::invertir(){
cout << "------ Invirtiendo ------" << endl;
int temporal;
for (int i = 0; i < Cantidad / 2; ++i){
temporal = Vector[i];
Vector[i] = Vector[Cantidad - i - 1];
Vector[Cantidad - i - 1] = temporal;
} // codigo escrito con ayuda de: "Softrix",
// miembro de forum oficial de c++ : mas info: http://www.cplusplus.com/forum/beginner/132247/ ...
}
bool Contenedor::insertarPos(int pos, int ele){
if (pos>Cantidad)
{
cout << "No hay espacio para insertar!" << endl;
returnfalse;
}
else {
//Scan to da right.
int y = 1;
cout << "Insertando valor: " << ele << ", en la posicion: " << (pos + 1) << "." << endl;
int temp = Vector [pos];
int temp2 = Vector[pos + y];
for (int i = 0; i < Vector[pos]; i++)
Vector[pos] = ele;
Vector[(pos + y)] = temp;
y++;
Cantidad++;
Vector[pos + y] = temp;
Vector[pos + y] = temp2;
Vector[pos + (y + 2)];
y++;
}
}
At this point, you can see when compiled that, the last value isnt showing up. Also, i find my code extremely un efficient so i would like to know if it would work if i keep entering new values. Can you tell. Thanks a lot for your time, friends.
class Contenedor{
private:
int Vector[10];
int Cantidad;
int Tamano;
public:
//constructor
Contenedor();
~Contenedor();
//gets
int getCantidad();
int getTamano();
//metodos de calculo
void inicializar();
bool agregaElemento(int ele);
void imprimeContenedor();
void invertir();
int cantidadPares();
int cantidadPrimos(double n);
int eleMayor();
int sumaTotal();
bool insertarPos(int pos, int ele);
bool eliminarPos(int pos);
bool eliminarEleRep(int ele);
void ordenarElementos(); //de men a may
bool intercambioPos(int pos1, int pos2); //ejercicios de la pag 76 y 77
};
bool Contenedor::insertarPos(int pos, int ele){
if (pos>Cantidad) {
cout << "No hay espacio para insertar!" << endl;
returnfalse;
}
Vector.insert(vector.begin() + pos, ele);
returntrue;
}
bool Contenedor::insertarPos(int pos, int ele){
if (pos>Cantidad) {
cout << "No hay espacio para insertar!" << endl;
returnfalse;
}
Vector.push_back(ele);
int last = Vector.size() - 1;
for(int i = pos, i < last; ++i)
std::swap(Vector[i], Vector[last])
returntrue;
}