Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- int main() {
- setlocale(LC_ALL, "Russian");
- const int MAX_NUMBER_OF_ELEMENTS = 9;
- const double MAX_VALUE = 1000;
- bool isIncorrect;
- string input = "";
- int countOfTriples, endNumber, numberOfElements;
- countOfTriples = 0;
- cout << "Программа позволяет посчитать количество троек, таких в данной последовательности x1, x2, ..., xn, что x(n - 1) < xn < x(n + 1).\n";
- cout << "Введите целое положительное количество элементов последовательности:\n";
- do {
- isIncorrect = false;
- getline(cin, input);
- try {
- numberOfElements = stoi(input);
- }
- catch (invalid_argument ex) {
- cout << "Число элементов последовательности должно являться числом.\n";
- isIncorrect = true;
- }
- catch (out_of_range ex)
- {
- cout << "Число элементов последовательности должно быть не больше, чем " << MAX_NUMBER_OF_ELEMENTS << "\n";
- isIncorrect = true;
- }
- if (!isIncorrect && (numberOfElements <= 0 || numberOfElements >
- MAX_NUMBER_OF_ELEMENTS)) {
- cout << "Число элементов последовательности должно являться положительным и быть не больше, чем " << MAX_NUMBER_OF_ELEMENTS << "\n";
- isIncorrect = true;
- }
- } while (isIncorrect);
- double* arrayNumber = new double[numberOfElements];
- for (int i = 0; i < numberOfElements; i++) {
- cout << "Введите член под номером " << i + 1 << ", который по модулю не больше, чем " << MAX_VALUE << ": \n";
- do {
- isIncorrect = false;
- getline(cin, input);
- try {
- arrayNumber[i] = stod(input);
- }
- catch (invalid_argument ex) {
- cout << "Элемент последовательности должен являться числом.\n";
- isIncorrect = true;
- }
- catch (out_of_range ex)
- {
- cout << "Элемент последовательности должен являться числом и быть не больше по модулю, чем " << MAX_VALUE << "\n";
- isIncorrect = true;
- }
- if (!isIncorrect && abs(arrayNumber[i]) > MAX_VALUE)
- {
- cout << "Элемент последовательности должен являться числом и быть не больше по модулю, чем " << MAX_VALUE << "\n";
- isIncorrect = true;
- }
- } while (isIncorrect);
- }
- endNumber = numberOfElements - 1;
- for (int i = 1; i < endNumber; i++) {
- if (arrayNumber[i] > arrayNumber[i - 1] && arrayNumber[i] < arrayNumber[i + 1])
- countOfTriples++;
- }
- cout << "Количество таких троек: " << countOfTriples;
- delete[]arrayNumber;
- return 0;
- }
Add Comment
Please, Sign In to add comment