Ниже приведено решение проблемы «День 21: дженерики» на HackerRank с использованием C++:
#include <iostream>
#include <vector>
using namespace std;
template<typename T>
void printArray(vector<T> arr) {
for (T element : arr) {
cout << element << endl;
}
}
int main() {
int n;
cin >> n;
vector<int> intArray(n);
for (int i = 0; i < n; i++) {
cin >> intArray[i];
}
cin >> n;
vector<string> stringArray(n);
for (int i = 0; i < n; i++) {
cin >> stringArray[i];
}
printArray<int>(intArray);
printArray<string>(stringArray);
return 0;
}
Это решение определяет функцию printArray, которая принимает вектор любого типа Tи печатает каждый элемент вектора с новой строки. Затем он считывает целое число nиз входных данных и создает вектор intArrayразмера nдля хранения целых чисел. Он считывает nцелых чисел из входных данных и сохраняет их в intArray. Затем он считывает другое целое число nиз входных данных и создает вектор stringArrayразмера nдля хранения строк. Он считывает строки nиз входных данных и сохраняет их в stringArray. Наконец, он вызывает функцию printArrayс intArrayи stringArrayдля печати элементов.