Advertisement
sebasvp2005

Untitled

May 29th, 2024
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.26 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4.  
  5. int menu()
  6. {
  7.     int op;
  8.     cout << endl << "\t\tMENU";
  9.     cout << endl << "\t\t****";
  10.     cout << endl << "1- LISTAR ELEMENTOS";
  11.     cout << endl << "2- AGREGAR AL FINAL";
  12.     cout << endl << "3- AGREGAR AL INICIO";
  13.    
  14.     cout << endl << endl<<" Elija una opcion:";
  15.     cin >> op;
  16.     return op;
  17. }
  18.  
  19.  
  20. int * eliminarPos(int *arr , int &size, int n){
  21.     if(n > size || n <= 0 ){
  22.         cout << "Posicion invalida\n";
  23.         return arr;
  24.     }
  25.     int * temp = new int[size-1];
  26.     int cur=0;
  27.     for(int i=0;i<size; i++){
  28.         if(i!=n-1) {
  29.             temp[cur++] = arr[i];
  30.             }
  31.     }
  32.     size--;
  33.     return temp;
  34. }
  35.  
  36. int *agregarfinal(int *arr, int &size, int v){
  37.     int *temp = new int[size+1];
  38.     for(int i=0;i<size;i++) temp[i]= arr[i];
  39.     temp[size]=v;
  40.     size++;
  41.     return temp;
  42. }
  43.  
  44. void listar(int *arr, int size){
  45.     for(int i=0;i<size; i++) cout << arr[i] << " ";
  46.     cout << endl;
  47. }
  48.  
  49. int * insertPos(int *arr, int &size, int v, int x ){
  50.     int *temp = new int[size+1];
  51.     x--;
  52.     int cur=0;
  53.     for(int i=0;i<x; i++){
  54.         temp[cur++] = arr[i];
  55.     }
  56.     temp[cur++] = v;
  57.     for(int i=x; i<size; i++){
  58.         temp[cur++] = arr[i];
  59.     }
  60.     size++;
  61.     return temp;
  62. }
  63.  
  64. void sort(int * arr, int size){
  65.     for(int i=0;i<size; i++){
  66.         int mn = arr[i];
  67.         int ind = i;
  68.         for(int j=i; j<size; j++){
  69.             if(arr[j] < mn){
  70.                 mn = arr[j];
  71.                 ind = j;
  72.             }
  73.         }
  74.         int temp = arr[i];
  75.         arr[i] = arr[ind];
  76.         arr[ind] = temp;
  77.     }
  78. }
  79.  
  80. void modificarPos(int *arr, int size, int pos, int v){
  81.     if(pos>size || pos<=0){
  82.         cout << "No se puede\n";
  83.     }
  84.     arr[pos-1] = v;
  85. }
  86.  
  87. int main(){
  88.     int *arr = nullptr;
  89.     int size=0;
  90.     while(1){
  91.         int x,v;
  92.         cout << arr << endl;
  93.         switch (menu())
  94.         {
  95.         case 1:
  96.             listar(arr, size);
  97.             break;
  98.         case 2:
  99.             cout << "ingrese elemento: ";
  100.             cin>>x;
  101.             arr = agregarfinal(arr, size, x);
  102.             break;
  103.         case 3:
  104.             cout << "ingrese posicion: ";
  105.             cin>>x;
  106.             arr = eliminarPos(arr, size, x);
  107.             break;
  108.         case 4:
  109.             cout << "ingrese posicion: ";cin>>x;
  110.             cout << "ingrese valor: "; cin >> v;
  111.             arr = insertPos(arr ,size, v, x);
  112.             break;
  113.         case 5:
  114.             sort(arr, size);
  115.             break;
  116.         case 6:
  117.             cout << "ingresa posicion: "; cin>>x;
  118.             cout << "ingresa valor: "; cin >>v;
  119.             modificarPos(arr, size, x, v);
  120.             break;
  121.         case 7:
  122.            
  123.             break;
  124.        
  125.         }
  126.  
  127.     }
  128.  
  129.  
  130. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement