Advertisement
35657

Untitled

Apr 13th, 2024
915
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.21 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. void print(int* arr, int size) {
  6.     for (int i = 0; i < size; i++) {
  7.         cout << arr[i] << " ";
  8.     }
  9.     cout << endl;
  10. }
  11.  
  12. void fill(int* arr, int size) {
  13.     for (int i = 0; i < size; i++) {
  14.         arr[i] = rand() % 10;
  15.     }
  16. }
  17.  
  18. bool is_simple(int number) {
  19.     for (int i = 2; i <= number / 2; i++) {
  20.         if (number % i == 0) {
  21.             return false;
  22.         }
  23.     }
  24.     return true;
  25. }
  26.  
  27. void remove_simple(int*& arr, int& size) {
  28.     int temp_size = size;
  29.  
  30.     int* temp = new int[temp_size];
  31.  
  32.     int count = 0;
  33.  
  34.     for (int i = 0; i < size; i++) {
  35.         if (!is_simple(arr[i])) {
  36.             temp[count++] = arr[i];
  37.         }
  38.     }
  39.  
  40.     delete[] arr;
  41.  
  42.     arr = new int[count];
  43.  
  44.     size = count;
  45.  
  46.     for (int i = 0; i < size; i++) {
  47.         arr[i] = temp[i];
  48.     }
  49.  
  50.     delete[] temp;
  51. }
  52.  
  53. int main() {
  54.     setlocale(LC_ALL, "ru");
  55.  
  56.     srand(time(NULL));
  57.  
  58.     int size;
  59.  
  60.     cout << "Введите размер массива: ";
  61.     cin >> size;
  62.  
  63.     int* arr = new int[size];
  64.  
  65.     fill(arr, size);
  66.     print(arr, size);
  67.  
  68.     remove_simple(arr, size);
  69.  
  70.     print(arr, size);
  71.  
  72.     delete[] arr;
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement