Eliminar datos de un vector

Iniciado por gatusko, 16 Septiembre 2010, 05:07 AM

0 Miembros y 1 Visitante están viendo este tema.

gatusko

Tengo un problema... como puedo eliminar los datos de un vector, sin utilizar erase y otras cosas de vectores...
Mi problema es que tengo que eliminar todo los datos pares de mi vector e hize algo asi...

Citarvoid eliminar(int a,int b[])
{
    int aux=a,at;
    for(int i=0;i<a;i++)
{
    if(b%2==0)
    {
        for(int t=i;t<a;t++)
        {
            b=b[i+1];
        }
        aux=aux-1;
    }
}
cout<<"El vector comprimido:";
for (int n=0;n<aux;n++)
{
    cout<<" "<<b[n];
}
cout<<endl;
}
Tengo que comprimirlo? Eso dijo mi profesor que no me pudo responder como se hace esto ><

satu

Hola

Lo tienes casi resuelto, mira:

Código (cpp) [Seleccionar]

void eliminar(int &a, int &b[]) //suponemos que 'a' es la longitud del vector? Como se van a modificar los tienes que pasar por referencia
{
    int aux=a;
    for(int i=0; i<aux; i++)
      {
      if(b[i]%2==0)
        {
        for(int t=i; t<aux; t++)
          { // estas llaves no harian falta porque solo hay 1 instruccion dentro
           b[t]=b[t+1]; // Aqui ya estas borrando y comprimiendo a la vez
          }
        aux=aux-1;
         }
       }
    cout<<"El vector comprimido:";
    for (int n=0; n<aux; n++)
      {
      cout<<" "<<b[n];
      }
    cout<<endl;
    a=aux;
}


Bueno eso es todo, no lo he probado pero creo que deberia funcionar. Compara tu código con el mío que seguro que lo entiendes bien, si tienes alguna otra duda aquí estamos.

Saludos
Breakbeat como forma de vida