61

Re: 3 функції. Без використання операторів if і switch.

*ar = *p[choice - 1](ar, n);

Тут ви перезаписуєте тільки перший елемент масиву ar, який видалений. А вам треба переписати тільки вказівник:

ar = p[choice - 1](ar, n);
Подякували: leofun01, koala, Parsifal3

62

Re: 3 функції. Без використання операторів if і switch.

щиро дякую Володимире

63

Re: 3 функції. Без використання операторів if і switch.

Parsifal написав:

Допоможіть вирішити помилку (С++)

Примітка модератора

2018-09-28: Змінив назву теми з "Допоможіть вирішити помилку (С++)" на "3 функції. Без використання операторів if і switch.".
Причина: пункт 3.3 правил форуму.

Подякували: FakiNyan, Arete2

64

Re: 3 функції. Без використання операторів if і switch.

Чисто із занудства:
«без використання операторів if і switch» це можна записати і так:

   c = (choice == 1 ? func1 : choice == 2 ? func2 : func3)(ar, n);

65

Re: 3 функції. Без використання операторів if і switch.

ReAl написав:

Чисто із занудства:
«без використання операторів if і switch» це можна записати і так:

   c = (choice == 1 ? func1 : choice == 2 ? func2 : func3)(ar, n);

Чисто з занудства - умова трохи довше за короткий опис у заголовку.

Parsifal написав:

У головній функції створіть масив з 3-х вказівників на ці функції

Подякували: leofun011

66

Re: 3 функції. Без використання операторів if і switch.

koala написав:

Чисто з занудства - умова трохи довше за короткий опис у заголовку.

Чисто з занудства — я всю умову і маю на увазі.

Бо, на мою думку, у такому вигляді

Реалізувати 3 функції, кожна з яких приймає вказівник на динамічний масив дійсних чисел і кількість елементів масиву. Перша функція повертає мінімальний елемент масиву, друга – максимальний, третя – середнє арифметичне. У головній функції створіть масив з 3-х вказівників на ці функції. Додайте меню, в якому користувач може вибрати бажану операцію. Напишіть програму без використання операторів if і switch.

Вона одночасно і надлишкова, і неповна (що подає дуже поганий приклад виконавцю завдання).
Якщо в умові сказано створіть масив, то навіщо перераховувати в частині  без інші способи, які вже виключені масивом?
Якщо почали пререраховувати, то чому не всі?
Як на мене, в умові має бути щось одне.

Нормально було б так, якщо вже хочеться підказати.

Реалізувати 3 функції, кожна з яких приймає вказівник на динамічний масив дійсних чисел і кількість елементів масиву. Перша функція повертає мінімальний елемент масиву, друга – максимальний, третя – середнє арифметичне. Додайте меню, в якому користувач може вибрати бажану операцію. Напишіть програму без використання операторів if і switch.
Підказка: У головній функції створіть масив з 3-х вказівників на ці функції.

І при цьому не відкидати розв'язок з тернарним оператором, або ж додати його в умову «без».

67

Re: 3 функції. Без використання операторів if і switch.

ReAl написав:

Якщо в умові сказано створіть масив, то навіщо перераховувати в частині  без інші способи, які вже виключені масивом?

І яким же чином масив функцій виключає використання if та switch у цих функціях? Умова каже про виключення if та switch у всій програмі, не лише в меню. А в меню прямо каже скористатися масивом функцій.

ReAl написав:

І при цьому не відкидати розв'язок з тернарним оператором, або ж додати його в умову «без».

А отут погоджуюся. І for та while теж, бо інакше if(a){b;} чудово можна зробити через while(a){b;break;} чи for(;a;){b;break;}