tranerius

11. Заполнение массива уникальными значениями(исп функция)

Dec 11th, 2017
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.08 KB | None | 0 0
  1. #include <iostream>
  2. #include <ctime>
  3. void ArrFill(int arr[], int size);
  4. void ArrUniq(int arr[], int size);
  5. int main() {
  6.     setlocale(LC_ALL, "ru");
  7.     const int size_1 = 10, size_2 = 20; int arr_1[size_1], arr_2[size_2];
  8.     ArrFill(arr_1, size_1);
  9.     ArrFill(arr_2, size_2);
  10.     ArrUniq(arr_1, size_1);
  11.     ArrUniq(arr_2, size_2);
  12.     std::cout << "Первый массив из " << size_1 << " уникальных элементов: ";
  13.     for (int i = 0; i < size_1; i++) {
  14.         std::cout << arr_1[i] << " ";
  15.     }
  16.     std::cout << "\nВторой массив из " << size_2 << " уникальных элементов: ";
  17.     for (int i = 0; i < size_2; i++) {
  18.         std::cout << arr_2[i] << " ";
  19.     }
  20.     std::cout << std::endl;
  21. }
  22. void ArrFill(int arr[], int size) {
  23.     srand(time(NULL));
  24.     for (int i = 0; i < size; i++) {
  25.         arr[i] = 1 + rand() % (size);
  26.     }
  27. }
  28. void ArrUniq(int arr[], int size) {
  29.     for (int i = 0; i < size; i++) {
  30.         for (int j = 0; j < size; j++) {
  31.             if (i == j) {
  32.                 continue;
  33.             }
  34.             if (arr[i] == arr[j]) {
  35.                 arr[i] = 1 + rand() % (size);
  36.                 j = -1;
  37.                 continue;
  38.             }
  39.         }
  40.     }
  41. }
Advertisement
Add Comment
Please, Sign In to add comment