С++
Для кожної шаблонної функції навести приклад роботи з такими типами:
int, double, char;
4. Опишіть шаблон функції сортування бульбашкою.
5. Опишіть шаблон функції знаходження елемента в неупорядкованому масиві.
6. Опишіть шаблон функції знаходження елемента в упорядкованому масиві.
7. Опишіть шаблону функцію заміни елемента масиву на інший елемент.
8. Опишіть шаблону функцію інверсії масиву елементів.
Ответы
Ответ:
#include <iostream>
using namespace std;
template <typename T>
T add(T x, T y)
{
return x + y;
}
int main()
{
int a = 5, b = 3;
int result = add<int>(a, b);
cout << result << endl; // виведе 8
return 0;
}
#include <iostream>
using namespace std;
template <typename T>
void bubble_sort(T arr[], int size)
{
for (int i = 0; i < size - 1; i++)
{
for (int j = 0; j < size - i - 1; j++)
{
if (arr[j] > arr[j + 1])
{
T temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main()
{
int int_arr[] = {5, 3, 8, 1, 4};
double double_arr[] = {3.3, 1.1, 4.4, 2.2, 5.5};
char char_arr[] = {'b', 'd', 'a', 'c'};
int int_size = sizeof(int_arr) / sizeof(int_arr[0]);
double double_size = sizeof(double_arr) / sizeof(double_arr[0]);
int char_size = sizeof(char_arr) / sizeof(char_arr[0]);
bubble_sort(int_arr, int_size);
bubble_sort(double_arr, double_size);
bubble_sort(char_arr, char_size);
for (int i = 0; i < int_size; i++)
{
cout << int_arr[i] << " ";
}
cout << endl;
for (int i = 0; i < double_size; i++)
{
cout << double_arr[i] << " ";
}
cout << endl;
for (int i = 0; i < char_size; i++)
{
cout << char_arr[i] << " ";
}
cout << endl;
return 0;
}