Eliminar Elementos de un vector en C++

Como estas ingeniero necesito un favor de usted necesito Diseñar un programa que dado un vector de tamaño N, presente un menú con las siguientes opciones:
1- Organizar el vector de mayor a menor. Mostrar el vector resultante.
2- Eliminar un elemento dado del vector. Los elementos a la derecha de este deben ser desplazados de forma que no queden espacios en blanco. Si el elemento aparece más de una vez debe eliminarse todas las apariciones del mismo. Mostrar el vector resultante.
Ej: Dado el vector [3, 5, 2, 8, 3, 4], si se pide eliminar el elemento 3, el vector resultante es [5, 2, 8, 4].
3- Escribir el vector en forma de espiral.
Ej: Dado el vector [1, 2, 3, 4, 5], se debe escribir "3, 4, 2, 5, 1".
Dado el vector [6, 7, 8, 9], se debe escribir "7, 8, 6, 9".
4- Salir del programa.
Estas 4 opciones tienen que mostrarse hasta que el usuario seleccione la opción 4. Es decir, el usuario debe poder tener la opción de organizar el vector (opción 1) y luego escribir en espiral el vector resultante (opción 3).

1 Respuesta

Respuesta
2
Aquí tienes los 2 primeros utilizando la clase Vector
1 ordenar
// BUBBLE SORT
vector <int> bubble(vector <int> arr, long max){
int tmp;
for(long i=0;i<max;i++)
{
 for(long x=0; x<max-1-i; x++)
 {
  if(arr[x] > arr[x+1])
    {
    //r.push_back(rnd);
   tmp = arr[x];
   arr[x] = arr[x+1];
   arr[x+1] = tmp;
  }
 }
}
return  arr;
}
2 ELIMINAR?
// erasing from vector
#include <iostream>
#include <vector>
using namespace std;
int main ()
{
  unsigned int i;
  vector<unsigned int> myvector;
  // set some values (from 1 to 10)
  for (i=1; i<=10; i++) myvector.push_back(i);
  // erase the 6th element
  myvector.erase (myvector.begin()+5);
  // erase the first 3 elements:
  myvector.erase (myvector.begin(),myvector.begin()+3);
  cout << "myvector contains:";
  for (i=0; i<myvector.size(); i++)
    cout << " " << myvector;
  cout << endl;
  return 0;
}
// erasing from vector#include <iostream>#include <vector>using namespace std;
int main (){  unsigned int i;  vector<unsigned int> myvector;
  // set some values (from 1 to 10)  for (i=1; i<=10; i++) myvector.push_back(i);    // erase the 6th element  myvector.erase (myvector.begin()+5);
  // erase the first 3 elements:  myvector.erase (myvector.begin(),myvector.begin()+3);
  cout << "myvector contains:";  for (i=0; i<myvector.size(); i++)    cout << " " << myvector;  cout << endl;
  return 0;}
?
?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas