Xavistian

Ejercicio Mult Preguntar al prof.

Sep 12th, 2018
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.80 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include <conio.h>
  3. #include <iostream>
  4. using namespace System;
  5. using namespace std;
  6.  
  7. void GenerarArreglo(int *arr, int n)
  8. {
  9.     Random r;
  10.     for (int i = 0; i < n; i++)
  11.     {
  12.         arr[i] = r.Next(1, 51);
  13.     }
  14. }
  15. void ImprimirArreglo(int *arr, int &n)
  16. {
  17.     for (int i = 0; i < n; i++)
  18.     {
  19.         cout << arr[i] << endl;
  20.     }
  21. }
  22. int* EliminaMult(int *arr, int &n)
  23. {
  24.     int cont=0, cont2=0;
  25.     for (int i = 0; i < n; i++)
  26.     {
  27.         if (arr[i] % 3 == 0)
  28.             cont++;
  29.     }
  30.     int *temp = new int[n - cont];
  31.     for (int i = 0; i < n; i++)
  32.     {
  33.         if (arr[i] % 3 != 0)
  34.         {
  35.             temp[i-cont2] = arr[i];
  36.         }
  37.         else cont2++;
  38.     }
  39.     if (arr != NULL)
  40.         delete[]arr;
  41.     arr = temp;
  42.     n = n - cont;
  43.     cout << endl;
  44.     ImprimirArreglo(arr, n);
  45.     return arr;
  46. }
  47. void OrdenarDesc(int *arr, int n)
  48. {
  49.     int aux;
  50.     for (int i = 0; i < n-1; i++)
  51.     {
  52.         for (int j = i+1; j < n; j++)
  53.         {
  54.             if (arr[i] < arr[j])
  55.             {
  56.                 aux = arr[i];
  57.                 arr[i] = arr[j];
  58.                 arr[j] = aux;
  59.             }
  60.         }
  61.     }
  62.     ImprimirArreglo(arr, n);
  63. }
  64. void InsertarEnPosicion(int *arr, int n, int num)
  65. {
  66.     int cont = 0;
  67.     int *temp = new int[n+1];
  68.     for (int i = 0; i < n; i++)
  69.     {
  70.         if (arr[i] >= num)
  71.             temp[i] = arr[i];
  72.         if (arr[i] <= num &&cont == 0)
  73.         {
  74.             temp[i] = num; cont++;
  75.         }
  76.         if (arr[i] <= num)
  77.             temp[i + 1] = arr[i];
  78.     }
  79.     n++;
  80.     if (temp[n-1] < 0||temp[n-1]>10000000) temp[n-1] = num;
  81.     if (arr != NULL)
  82.         delete[]arr;
  83.     arr = temp;
  84.     ImprimirArreglo(arr, n);
  85. }
  86. int main()
  87. {
  88.     int n, num;
  89.     cout << "Ingrese n: "<<endl;
  90.     cin >> n;
  91.     cout << endl;
  92.     int *arreglo = new int[n];
  93.     GenerarArreglo(arreglo, n);
  94.     ImprimirArreglo(arreglo, n);
  95.     arreglo=EliminaMult(arreglo, n);
  96.     cout << endl;
  97.     OrdenarDesc(arreglo, n);
  98.     cout << "Ingrese un numero: ";
  99.     cin >> num;
  100.     cout << endl;
  101.     InsertarEnPosicion(arreglo, n, num);
  102.     _getch();
  103.     return 0;
  104. }
Advertisement
Add Comment
Please, Sign In to add comment