Янв, 2007 Сообщений: 4 | pusiyjan url://forum.message:1817 Передача функции в качестве аргумента Задание
16. Найти среднее геометрическое четных и нечетных элементов целочисленного вектора заданного размера. Операции определения четности числа реализовать как функции, передаваемые аргументом в определяемую рекурсивную. | Правильно ли я понимаю что ф-ция должна возвращать 2 значение - ср. геометрическо для четных и нечетных чисел, т.е. выходом должно быть 2 числа??? Что значил последняя срочка????? вот допустим у меня ф-ция определения четности:
int even_odd(int x) { if((x % 2) == 0) return 1; /* even четный */ else return 0; /* odd нечетный */ } | как мне ее передавать аргументом в рекурсивную ф-цию что-то никак не въеду.... ЗЫ могет быть надо было посещать лекции =((( ??? |
Июл, 2004 Сообщений: 923 | popoff url://forum.message:1819 Правильно ли я понимаю что ф-ция должна возвращать 2 значение - ср. геометрическо для четных и нечетных чисел, т.е. выходом должно быть 2 числа??? pusiyjan, форумы popoff.donetsk.ua | Функция может вернуть только одно значение. Вам нужно вызвать Вашу функцию два раза, передав в качестве аргумента первый раз функцию, которая возвращает истину для чётных чисел и второй раз - функцию, которая возвращает истину для нечётных чисел. Вот Вам пример: int a(int c)
{
return c>0;
}
int b(int c)
{
return c<0;
}
int c(int d,int(*f)(int c))
{
return f(d);
}
int main()
{
printf("%d,%d",c(10,a),c(10,b));
return 0;
} На экране появится:
1,0 ________________________________ Если не будет деревьев — нам нечем будет дышать, если вода загрязнится — нам нечего будет пить. |