Advertisement
sebasvp2005

Untitled

Jun 5th, 2024
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.14 KB | None | 0 0
  1. #include <iostream>
  2. #include <random>
  3. #include <time.h>
  4. using namespace std;
  5.  
  6. int * generar(int n){
  7.     int *temp = new int [n];
  8.     for(int i=0;i<n; i++){
  9.         temp[i] = rand()%50 +1;
  10.     }
  11.     return temp;
  12. }
  13.  
  14. void imprimir(int * arr, int n){
  15.     for(int i=0;i<n; i++) cout << i << ": " << arr[i] << "\n";
  16.     cout << endl;
  17. }
  18.  
  19. void ordenar(int *arr, int n){
  20.     for(int i=0;i<n; i++){
  21.         for(int j=i+1; j<n; j++){
  22.             if(arr[i] > arr[j]){
  23.                 int aux = arr[i];
  24.                 arr[i]=arr[j];
  25.                 arr[j] = aux;
  26.             }
  27.         }
  28.     }
  29. }
  30.  
  31. int * eliminar(int *arr, int &n, int r){
  32.     int cur=0;
  33.     int last=-1;
  34.     int count=0;
  35.     // arreglo original
  36.     // nuevo arreglo
  37.     for(int i=0;i<n; i++){
  38.         if(last == arr[i]){
  39.             count++;
  40.             if(count<=r){
  41.                 arr[cur++] = arr[i];
  42.             }
  43.         }
  44.         else{
  45.             last = arr[i];
  46.             count=1;
  47.             arr[cur++] = arr[i];
  48.         }
  49.     }
  50.  
  51.     int *temp = new int [cur];
  52.     for(int i=0;i<cur; i++){
  53.         temp[i] = arr[i];
  54.     }
  55.     n = cur;
  56.     return temp;
  57. }
  58.  
  59.  
  60.  
  61. int main(){
  62.     srand(time(0));
  63.     int n; cin>>n;
  64.  
  65.     int * arr = generar(n);
  66.     imprimir(arr, n);
  67.     ordenar(arr, n);
  68.     imprimir(arr, n);
  69.  
  70.     int r; cin>>r;
  71.     arr = eliminar(arr, n , r);
  72.     imprimir(arr, n);
  73.  
  74.  
  75.  
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement