Ansaid

Заменить каждый элемент массива на ближайшее слева простое ч

Dec 14th, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.91 KB | None | 0 0
  1. /*Заменить каждый элемент массива на ближайшее слева простое число*/
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. bool checkNumber(int x) {
  7.     int i;
  8.     for (i = 2; i <= sqrt(x); i++)
  9.         if (!(x % i))
  10.             break;
  11.  
  12.     if (i > sqrt(x))
  13.         return true;
  14.  
  15.     return false;
  16. }
  17.  
  18. int searchNumber(int x) {
  19.     for (int i = x; i >= 2; i--)
  20.         if (checkNumber(i))
  21.             return i;
  22.  
  23.     return x;
  24. }
  25.  
  26. int main() {
  27.     int size;
  28.     setlocale(LC_ALL, "Russian");
  29.     cout << "Введите размер массива: ";
  30.     cin >> size;
  31.     int* array = new int[size];
  32.     for (int i = 0; i < size; i++) {
  33.         cout << "Введите " << i + 1 << " элемент массива: ";
  34.         cin >> array[i];
  35.     }
  36.  
  37.     cout << "Полученный массив:";
  38.     for (int i = 0; i < size; i++) {
  39.         array[i] = searchNumber(array[i]);
  40.         cout << " " << array[i];
  41.     }
  42.  
  43.     delete array;
  44.     return 0;
  45. }
Add Comment
Please, Sign In to add comment