Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- int main()
- {
- double y;
- int boof;
- int MasLenght;
- int i;
- int k;
- bool IsCorrect;
- MasLenght = 0;
- boof = 0;
- y = 0;
- setlocale(LC_ALL, "Russian");
- cout << "Дана последовательность х1, х2, …, хn, упорядоченная в порядке возрастания и вещественное у. Найти такое k, что x[k] < y <= x[k+1]." << endl;
- cout << "Введите длину массива" << endl;
- do {
- IsCorrect = false;
- try {
- string value;
- cin >> value;
- MasLenght = stoi(value);
- }
- catch (...) {
- cout << "Ведите число" << endl;
- IsCorrect = true;
- }
- if (MasLenght < 0 && !IsCorrect) {
- cout << "Введите положительное число" << endl;
- IsCorrect = true;
- }
- } while (IsCorrect);
- int* pos = new int[MasLenght];
- for (i = 0; i < MasLenght; i++) {
- cout << "Введите " << (i + 1) << "-й элемент массива" << endl;
- do {
- IsCorrect = false;
- try {
- string value;
- cin >> value;
- pos[i] = stoi(value);
- }
- catch (...) {
- cout << "Введите число" << endl;
- IsCorrect = true;
- }
- } while (IsCorrect);
- }
- for (i = 0; i < MasLenght; i++) {
- for (int j = 0; j < MasLenght - 1 - i; j++) {
- if (pos[j] > pos[j + 1]) {
- boof = pos[j + 1];
- pos[j + 1] = pos[j];
- pos[j] = boof;
- }
- }
- }
- cout << "Введите вещественное число y" << endl;
- do {
- IsCorrect = false;
- try {
- string value;
- cin >> value;
- y = stod(value);
- }
- catch (...) {
- cout << "Введите число" << endl;
- IsCorrect = true;
- }
- if (y <= pos[0]) {
- cout << "Ваш Y меньше чем наименьший элемент последовательности. Введите Y больший, чем " << pos[0] << endl;
- IsCorrect = true;
- }
- } while (IsCorrect);
- for (i = 0; i < MasLenght; i++) {
- if ((pos[i] < y) && (y <= pos[i + 1])) {
- k = i;
- }
- }
- cout << "Ваше число: " << k+1 << endl;
- delete[] pos;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement