Тема: 3 функції. Без використання операторів if і switch.
Попередня назва теми: Допоможіть вирішити помилку (С++).
Реалізувати 3 функції, кожна з яких приймає вказівник на динамічний масив дійсних чисел і кількість елементів масиву. Перша функція повертає мінімальний елемент масиву, друга – максимальний, третя – середнє арифметичне. У головній функції створіть масив з 3-х вказівників на ці функції. Додайте меню, в якому користувач може вибрати бажану операцію. Напишіть програму без використання операторів if і switch.
при такому кодi в 53 рядку видає помилку немає перетвореня int в int*
#include <iostream>
#include <time.h>
using namespace std;
int* add_end(int *ar, int &n, int num);
int* func3(int *ar, int n);
int* func2(int *ar, int n);
int* func1(int *ar, int n);
void set(int *ar, int n);
void print(int *ar, int n);
void main() {
    setlocale(LC_ALL, "ru");
    srand(time(0));
    int n;
    cout << "Введiть розмiр масиву: ";
    cin >> n;
    int* ar = new int[n];
    set(ar, n);
    print(ar, n);
    int*(*p[3])(int*, int) = { func1,func2,func3 };
    int choice;
    
    cin >> choice;
    int c = *p[choice - 1](ar, n);
    cout << "Результат:" << c << "\n";
    system("pause");
}
int* add_end(int *ar, int &n, int num) {
    int* p = new int[n + 1];
    for (int i = 0; i < n; i++) {
        p [i] = ar [i];
    }
    p [n] = num;
    delete[]ar;
    n++;
    return p;
}
int* func3(int *ar, int n) {
    
}
int* func2(int *ar, int n) {
    
}
int* func1(int *ar, int n) {
    int* p = new int[0];
    int b = 0;
    int num = 0;
    for (int i = 0; i < n; i++) {
        b = 0;
        for (int c = 1; c < ar[i]; c++) {
                ar[i] % c == 0 ? (ar[i] >= 0 ? (b++) : (b = b)) : b = b;
        }
        num = ar[i];
        b > 2 ? (ar = add_end(ar, n, num)) : (b = b);
    }
    delete[]ar;
    return p;
}
void set(int *ar, int n) {
    for (int i = 0; i < n; i++) {
        *(ar + i) = rand() % 101 - 50;
    }
}
void print(int *ar, int n) {
    for (int i = 0; i < n; i++) {
        cout << *(ar + i) << " ";
    }
    cout << "\n";
}