Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int menu()
- {
- int op;
- cout << endl << "\t\tMENU";
- cout << endl << "\t\t****";
- cout << endl << "1- LISTAR ELEMENTOS";
- cout << endl << "2- AGREGAR AL FINAL";
- cout << endl << "3- AGREGAR AL INICIO";
- cout << endl << endl<<" Elija una opcion:";
- cin >> op;
- return op;
- }
- int * eliminarPos(int *arr , int &size, int n){
- if(n > size || n <= 0 ){
- cout << "Posicion invalida\n";
- return arr;
- }
- int * temp = new int[size-1];
- int cur=0;
- for(int i=0;i<size; i++){
- if(i!=n-1) {
- temp[cur++] = arr[i];
- }
- }
- size--;
- return temp;
- }
- int *agregarfinal(int *arr, int &size, int v){
- int *temp = new int[size+1];
- for(int i=0;i<size;i++) temp[i]= arr[i];
- temp[size]=v;
- size++;
- return temp;
- }
- void listar(int *arr, int size){
- for(int i=0;i<size; i++) cout << arr[i] << " ";
- cout << endl;
- }
- int * insertPos(int *arr, int &size, int v, int x ){
- int *temp = new int[size+1];
- x--;
- int cur=0;
- for(int i=0;i<x; i++){
- temp[cur++] = arr[i];
- }
- temp[cur++] = v;
- for(int i=x; i<size; i++){
- temp[cur++] = arr[i];
- }
- size++;
- return temp;
- }
- void sort(int * arr, int size){
- for(int i=0;i<size; i++){
- int mn = arr[i];
- int ind = i;
- for(int j=i; j<size; j++){
- if(arr[j] < mn){
- mn = arr[j];
- ind = j;
- }
- }
- int temp = arr[i];
- arr[i] = arr[ind];
- arr[ind] = temp;
- }
- }
- void modificarPos(int *arr, int size, int pos, int v){
- if(pos>size || pos<=0){
- cout << "No se puede\n";
- }
- arr[pos-1] = v;
- }
- int main(){
- int *arr = nullptr;
- int size=0;
- while(1){
- int x,v;
- cout << arr << endl;
- switch (menu())
- {
- case 1:
- listar(arr, size);
- break;
- case 2:
- cout << "ingrese elemento: ";
- cin>>x;
- arr = agregarfinal(arr, size, x);
- break;
- case 3:
- cout << "ingrese posicion: ";
- cin>>x;
- arr = eliminarPos(arr, size, x);
- break;
- case 4:
- cout << "ingrese posicion: ";cin>>x;
- cout << "ingrese valor: "; cin >> v;
- arr = insertPos(arr ,size, v, x);
- break;
- case 5:
- sort(arr, size);
- break;
- case 6:
- cout << "ingresa posicion: "; cin>>x;
- cout << "ingresa valor: "; cin >>v;
- modificarPos(arr, size, x, v);
- break;
- case 7:
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement