Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Лабораторная работа №2. Диана
- Защита
- Из числовой последовательности найти удалить все элементы,
- лежащие в промежутке [A*X; B*X], где X – среднее арифметическое
- элементов последовательности, A и B – задаваемые пользователем коэффициенты
- */
- #include <iostream>
- #include <cstdlib>
- #include <queue>
- #include <iterator>
- using namespace std;
- float average(queue<int> obj)
- {
- float sum = 0, i;
- for (i = 0; !obj.empty(); ++i)
- {
- sum += obj.front();
- obj.pop();
- }
- return sum / i;
- }
- int main() {
- queue<int> obj;
- setlocale(LC_ALL, "russian");
- int temp, A, B, size;
- cout << "Введите A: ";
- cin >> A;
- cout << "Введите B: ";
- cin >> B;
- cout << "Вводите числовую последовательность до (ctrl+z): ";
- while (cin >> temp) {
- obj.push(temp);
- }
- float avg = average(obj);
- size = obj.size();
- for (int i = 0; i < size; i++)
- {
- if (obj.front() < float(A) * avg || obj.front() > float(B) * avg)
- obj.pop();
- else
- {
- obj.push(obj.front());
- obj.pop();
- }
- }
- cout << "Queue: ";
- while (!obj.empty()) {
- cout << " " << obj.front();
- obj.pop();
- }
- cout << endl;
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement