#include <iostream>
#include <vector>
#include <numeric> // std::accumulate
#include <iterator> // ostream_iterator
std::vector<int> zliczPrzedzial(int tab[], int n, int srednia, int odchylenie) {
int przedzial1 = srednia - odchylenie;
int przedzial2 = srednia + odchylenie;
std::vector<int> zliczone;
for (int i = 0; i < n; i++) {
if (tab[i] > przedzial1 && tab[i] < przedzial2) {
zliczone.push_back(tab[i]);
}
}
return zliczone;
}
int main() {
std::vector<int> data{1, 2, 3, 4, 5, 6, 7, 8, 9};
int sum = std::accumulate(data.begin(),
data.end(),
0);
int avg = sum / data.size();
auto tmp = zliczPrzedzial(data.data(),
data.size(),
avg,
3);
for (auto elem: tmp) {
std::cout << elem << " ";
}
std::cout << "\n";
std::copy(tmp.begin(), tmp.end(), std::ostream_iterator<int>(std::cout, " "));
std::cout << "\n";
for (auto i = 0; i < tmp.size(); ++i) {
std::cout << tmp[i] << " ";
}
std::cout << "\n";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8bnVtZXJpYz4gLy8gc3RkOjphY2N1bXVsYXRlCiNpbmNsdWRlIDxpdGVyYXRvcj4gLy8gb3N0cmVhbV9pdGVyYXRvcgoKc3RkOjp2ZWN0b3I8aW50PiB6bGljelByemVkemlhbChpbnQgdGFiW10sIGludCBuLCBpbnQgc3JlZG5pYSwgaW50IG9kY2h5bGVuaWUpIHsKICAgIGludCBwcnplZHppYWwxID0gc3JlZG5pYSAtIG9kY2h5bGVuaWU7CiAgICBpbnQgcHJ6ZWR6aWFsMiA9IHNyZWRuaWEgKyBvZGNoeWxlbmllOwogICAgc3RkOjp2ZWN0b3I8aW50PiB6bGljem9uZTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgaWYgKHRhYltpXSA+IHByemVkemlhbDEgJiYgdGFiW2ldIDwgcHJ6ZWR6aWFsMikgewogICAgICAgICAgICB6bGljem9uZS5wdXNoX2JhY2sodGFiW2ldKTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gemxpY3pvbmU7Cn0KCmludCBtYWluKCkgewoJc3RkOjp2ZWN0b3I8aW50PiBkYXRhezEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDl9OwoJaW50IHN1bSA9IHN0ZDo6YWNjdW11bGF0ZShkYXRhLmJlZ2luKCksCgkJCQkJCQkgIGRhdGEuZW5kKCksCgkJCQkJCQkgIDApOwoJaW50IGF2ZyA9IHN1bSAvIGRhdGEuc2l6ZSgpOwoJYXV0byB0bXAgPSB6bGljelByemVkemlhbChkYXRhLmRhdGEoKSwKCQkJCQkJCSAgZGF0YS5zaXplKCksCgkJCQkJCQkgIGF2ZywKCQkJCQkJCSAgMyk7CgkJCgkJCQkJCQkgIAoJZm9yIChhdXRvIGVsZW06IHRtcCkgewoJCXN0ZDo6Y291dCA8PCBlbGVtIDw8ICIgIjsJCgl9CglzdGQ6OmNvdXQgPDwgIlxuIjsKCQoJCglzdGQ6OmNvcHkodG1wLmJlZ2luKCksIHRtcC5lbmQoKSwgc3RkOjpvc3RyZWFtX2l0ZXJhdG9yPGludD4oc3RkOjpjb3V0LCAiICIpKTsgCglzdGQ6OmNvdXQgPDwgIlxuIjsKCQoJCglmb3IgKGF1dG8gaSA9IDA7IGkgPCB0bXAuc2l6ZSgpOyArK2kpIHsKCQlzdGQ6OmNvdXQgPDwgdG1wW2ldIDw8ICIgIjsKCX0KCXN0ZDo6Y291dCA8PCAiXG4iOwoJCgkKCXJldHVybiAwOwp9