Почему это в студенческой информатике, а не в арифметике?
1. Очевидно, на месте остались слайды с 1 по 15.
2. Т.к. 57 оказался на 60м, а 60 на 57м, то они могли снова оказаться на своих местах при уменьшении массива слева от них на три элемента для 57го или при увеличении на три для 60го. И, внезапно, это и происходит, т.к. добавили один слайд после 20 и удалили 16,17,18,19 - получается, что 57 сдвинулся с позиции 60 влево и оказался на своём месте.
3. Последний, 79й, тоже сначала сдвинули на три вправа, добавив "перед последним", а потом, как мы выяснили, на три влево. Он тоже на своём месте.
Итого, 15 + 57й + последний = 17
Можно проверить слайсами на питоне (индексы на единичку все меньше, потому что нумеруются массивы с нуля)
Почему это в студенческой информатике, а не в арифметике?
1. Очевидно, на месте остались слайды с 1 по 15.
2. Т.к. 57 оказался на 60м, а 60 на 57м, то они могли снова оказаться на своих местах при уменьшении массива слева от них на три элемента для 57го или при увеличении на три для 60го. И, внезапно, это и происходит, т.к. добавили один слайд после 20 и удалили 16,17,18,19 - получается, что 57 сдвинулся с позиции 60 влево и оказался на своём месте.
3. Последний, 79й, тоже сначала сдвинули на три вправа, добавив "перед последним", а потом, как мы выяснили, на три влево. Он тоже на своём месте.
Итого, 15 + 57й + последний = 17
Можно проверить слайсами на питоне (индексы на единичку все меньше, потому что нумеруются массивы с нуля)
a = [i for i in range(80)]
a[56],a[59] = a[59],a[56]
a = a[:20] + [-1] + a[20:-1] + [-1]*3 + a[-1:]
del a[15:19]
print(*filter(lambda i: i == a.index(i), a))
#include <iostream>
using namespace std;
class Set {
int N, counter = 0;
float A, B;
public:
Set(int N, float A, float B) {
this->N = N;
this->A = A;
this->B = B;
}
void Count() {
for (int i = 0; i < N; i++) {
float x;
cin >> x;
if (A <= x && x <= B)
counter++;
}
cout << "Count = " << counter << endl;
}
};
signed main()
{
setlocale(LC_ALL, "Rus");
int N;
float A, B;
cout << "Введите число элементов: (N) ";
cin >> N;
cout << "\nВведите числа A и B: ";
cin >> A >> B;
Set m(N, A, B);
m.Count();
return 0;
}