#include #include #include using std::cout, std::endl, std::vector, std::span; vector lastDigits1(const vector& v) { vector result; size_t size = v.size(); for(int i = 0; i < size; ++i) { result.push_back(v[i] % 10); } return result; } void lastDigits2(vector& v) { size_t size = v.size(); for(int i = 0; i < size; ++i) { v[i] %= 10; } } void lastDigits3(vector* pv) { size_t size = pv->size(); for(int i = 0; i < size; ++i) (*pv)[i] %= 10; } void lastDigits4(span sp) { size_t size = sp.size(); for(int i = 0; i < size; ++i) sp[i] %= 10; } std::ostream& operator<<(std::ostream& out, const vector& v) { cout << "["; size_t size = v.size(); for(int i = 0; i < size; ++i) cout << v[i] << (i == size - 1 ? "]" : " "); return out; } int main() { vector meow{1, 2, 3, 12, 45, 32,313123,3245}; vector result1 = lastDigits1(meow); cout << result1 << endl; vector result2 = meow; lastDigits2(result2); cout << result2 << endl; vector result3 = meow; lastDigits3(&result3); cout << result3 << endl; span sp = meow; lastDigits4(sp); cout << meow << endl; }