Advertisement
Guest User

Untitled

a guest
May 19th, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.22 KB | None | 0 0
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <iostream>
  4. #include <time.h>
  5. using namespace std;
  6.  
  7. void init(int *arr, int size);
  8. void display(int *arr, int size);
  9. int *deleteSame(int *arr, int &size);
  10.  
  11. int main() {
  12.     int size;
  13.  
  14.     cout << "input size of array " << endl;
  15.     cin >> size;
  16.     int *arr = new int[size];
  17.     init(arr, size);
  18.     display(arr, size);
  19.     arr = deleteSame(arr, size);
  20.     cout << endl;
  21.     cout << "unique array: " << endl;
  22.     display(arr, size);
  23.     delete[] arr;
  24.     system("pause");
  25.     return 0;
  26. }
  27.  
  28. void init(int *arr, int size) {
  29.     srand(time(0));
  30.     for (int i = 0; i < size; i++)
  31.     {
  32.         arr[i] = rand() % 10;
  33.     }
  34. }
  35. void display(int *arr, int size) {
  36.     for (int i = 0; i < size; i++)
  37.     {
  38.         cout << *(arr + i) << "  ";
  39.     }
  40. }
  41.  
  42.  
  43.  
  44. int *deleteSame(int *arr, int &size) {
  45.     if (arr != NULL)
  46.     {
  47.         int c = 1;
  48.         int newsize = 0;
  49.         int *temp = new int[size];
  50.         for (int i = 0; i < size; i++)
  51.         {
  52.             *(temp + i) = *(arr + i);
  53.         }
  54.  
  55.         for (int i = 0; i < size; i++)
  56.         {
  57.             for (int j = i + 1; j < size; j++)
  58.             {
  59.                 if (*(temp + i) != *(arr + j))
  60.                 {
  61.                     *(temp + c) = *(arr + j);
  62.                     c++;
  63.                     newsize++;
  64.                 }
  65.             }
  66.         }
  67.  
  68.  
  69.  
  70.         int *temp2 = new int[newsize];
  71.         for (int i = 0; i < newsize; i++)
  72.         {
  73.             *(temp2 + i) = *(temp + i);
  74.         }
  75.         delete[] temp;
  76.         return temp2;
  77.     }
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement