You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

59 lines
1.3 KiB
C++

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