Xavistian

Ejercicio Elimina Multiplos de tres

Sep 12th, 2018
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.95 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. void 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. }
  46. int main()
  47. {
  48.     int n;
  49.     cout << "Ingrese n: "<<endl;
  50.     cin >> n;
  51.     cout << endl;
  52.     int *arreglo = new int[n];
  53.     GenerarArreglo(arreglo, n);
  54.     ImprimirArreglo(arreglo, n);
  55.     EliminaMult(arreglo, n);
  56.     _getch();
  57.     return 0;
  58. }
Advertisement
Add Comment
Please, Sign In to add comment