[Закрыть]
 
popoff.donetsk.ua
Хотел бы попечительный мудрец, Чтоб стали чистыми сердца людей. Но люди верят слуху и глазам, Которые им надо бы закрыть. /Дао Де Цзин/
Начало | Новости | Статьи | Форум | Опросы | Карта сайта | Обо мне
popoff.donetsk.ua - Форум - Основы программирования и алгоритмические языки - Передача функции в качестве аргумента

Передача функции в качестве аргумента

форумы popoff.donetsk.ua
Страницы: [1]
<< Новый  |  Старый >>  |  Ответ не возможен

Внимание! Этот топик устарел. Пожалуйста, создайте новый топик, чтобы задать интересующий Вас вопрос.

Автор Сообщение
pusiyjan
pusiyjan
Янв, 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  нечетный */
}


как мне ее передавать аргументом в рекурсивную ф-цию что-то никак не въеду....
ЗЫ
могет быть надо было посещать лекции =(((
???

popoff
Yuri
Июл, 2004
Сообщений: 944
popoff url://forum.message:1819

Правильно ли я понимаю что ф-ция должна возвращать 2 значение - ср. геометрическо для четных и нечетных чисел, т.е. выходом должно быть 2 числа???

pusiyjanфорумы popoff.donetsk.ua

Функция может вернуть только одно значение.

Вам нужно вызвать Вашу функцию два раза, передав в качестве аргумента первый раз функцию, которая возвращает истину для чётных чисел и второй раз - функцию, которая возвращает истину для нечётных чисел.

как мне ее передавать аргументом в рекурсивную ф-цию что-то никак не въеду....

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

________________________________
Если не будет деревьев — нам нечем будет дышать, если вода загрязнится — нам нечего будет пить.

Внимание! Этот топик устарел. Пожалуйста, создайте новый топик, чтобы задать интересующий Вас вопрос.

Страницы: [1]
<< Новый  |  Старый >>  |  Ответ не возможен
Вход
Поиск[?]:
Программное обеспечение любой сложности
koins.com.ua