• Предмет: Информатика
  • Автор: Kukuwka0Ha0DepeBe
  • Вопрос задан 3 месяца назад

С++
Для кожної шаблонної функції навести приклад роботи з такими типами:
int, double, char;
1. Опишіть шаблон функцію для обміном значень між двома змінними.
2. Опишіть шаблон функції сортування вставкою.
3. Опишіть шаблон функції сортування вибором.
4. Опишіть шаблон функції сортування бульбашкою.
5. Опишіть шаблон функції знаходження елемента в неупорядкованому масиві.
6. Опишіть шаблон функції знаходження елемента в упорядкованому масиві.
7. Опишіть шаблону функцію заміни елемента масиву на інший елемент.
8. Опишіть шаблону функцію інверсії масиву елементів.

Ответы

Ответ дал: yegorwint
0

Ответ:

template<typename T>

void swap(T& a, T& b) {

T temp = a;

a = b;

b = temp;

}

int main() {

int x = 10, y = 20;

swap(x, y);

cout << x << " " << y << endl; // 20 10

double a = 3.14, b = 2.71;

swap(a, b);

cout << a << " " << b << endl; // 2.71 3.14

char c1 = 'a', c2 = 'b';

swap(c1, c2);

cout << c1 << " " << c2 << endl; // b a

return 0;

}

template<typename T>

void insertionSort(T arr[], int n) {

for (int i = 1; i < n; i++) {

T key = arr[i];

int j = i - 1;

while (j >= 0 && arr[j] > key) {

arr[j + 1] = arr[j];

j--;

}

arr[j + 1] = key;

}

}

int main() {

int arr1[] = { 3, 1, 4, 1, 5, 9, 2, 6, 5, 3 };

insertionSort(arr1, 10);

for (int i = 0; i < 10; i++) {

cout << arr1[i] << " "; // 1 1 2 3 3 4 5 5 6 9

}

cout << endl;

double arr2[] = { 3.14, 2.71, 1.41, 1.61, 1.73 };

insertionSort(arr2, 5);

for (int i = 0; i < 5; i++) {

cout << arr2[i] << " "; // 1.41 1.61 1.73 2.71 3.14

}

cout << endl;

char arr3[] = { 'b', 'a', 'd', 'c' };

insertionSort(arr3, 4);

for (int i = 0; i < 4; i++) {

cout << arr3[i] << " "; // a b c d

}

cout << endl;

return 0;

}

template<typename T>

void selectionSort(T arr[], int n) {

for (int i = 0; i < n - 1; i++) {

int minIdx = i;

for (int j = i + 1; j < n; j++) {

if (arr[j] < arr[minIdx]) {

minIdx = j;

}

}

if (minIdx != i) {

swap(arr[minIdx], arr[i]);

}

}

}

int main() {

int arr1[] = { 3, 1, 4, 1, 5, 9, 2, 6, 5, 3 };

selectionSort(arr1, 10);

for (int i


yegorwint: если не так то сорян
Вас заинтересует