Advertisement
deced

Untitled

Oct 13th, 2020
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.62 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4.  
  5.  
  6. int main()
  7. {
  8.     double y;
  9.     int boof;
  10.     int MasLenght;
  11.     int i;
  12.     int k;
  13.     bool IsCorrect;
  14.     MasLenght = 0;
  15.     boof = 0;
  16.     y = 0;
  17.     setlocale(LC_ALL, "Russian");
  18.     cout << "Дана последовательность х1, х2, …, хn, упорядоченная в порядке возрастания и вещественное у. Найти такое k, что x[k] < y <= x[k+1]." << endl;
  19.     cout << "Введите длину массива" << endl;
  20.     do {
  21.         IsCorrect = false;
  22.         try {
  23.             string value;
  24.             cin >> value;
  25.             MasLenght = stoi(value);          
  26.         }
  27.         catch (...) {
  28.             cout << "Ведите число" << endl;
  29.             IsCorrect = true;
  30.         }
  31.         if (MasLenght < 0 && !IsCorrect) {
  32.             cout << "Введите положительное число" << endl;
  33.             IsCorrect = true;
  34.         }
  35.     } while (IsCorrect);
  36.     int* pos = new int[MasLenght];
  37.     for (i = 0; i < MasLenght; i++) {
  38.         cout << "Введите " << (i + 1) << "-й элемент массива" << endl;
  39.         do {
  40.             IsCorrect = false;
  41.             try {
  42.                 string value;
  43.                 cin >> value;
  44.                 pos[i] = stoi(value);
  45.  
  46.             }
  47.             catch (...) {
  48.                 cout << "Введите число" << endl;
  49.                 IsCorrect = true;
  50.             }
  51.         } while (IsCorrect);
  52.     }
  53.     for (i = 0; i < MasLenght; i++) {
  54.         for (int j = 0; j < MasLenght - 1 - i; j++) {
  55.             if (pos[j] > pos[j + 1]) {
  56.                 boof = pos[j + 1];
  57.                 pos[j + 1] = pos[j];
  58.                 pos[j] = boof;
  59.             }
  60.         }
  61.     }
  62.     cout << "Введите вещественное число y" << endl;
  63.     do {
  64.         IsCorrect = false;
  65.         try {
  66.             string value;
  67.             cin >> value;
  68.             y = stod(value);
  69.         }
  70.         catch (...) {
  71.             cout << "Введите число" << endl;
  72.             IsCorrect = true;
  73.         }
  74.         if (y <= pos[0]) {
  75.             cout << "Ваш Y меньше чем наименьший элемент последовательности. Введите Y больший, чем " << pos[0] << endl;
  76.             IsCorrect = true;
  77.         }
  78.     } while (IsCorrect);
  79.     for (i = 0; i < MasLenght; i++) {
  80.         if ((pos[i] < y) && (y <= pos[i + 1])) {
  81.             k = i;
  82.         }
  83.     }
  84.     cout << "Ваше число: " << k+1 << endl;
  85.     delete[] pos;
  86. }
  87.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement