Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
1 / 1 / 0
Регистрация: 31.05.2014
Сообщений: 24
1

Напишите функцию с переменным числом параметров (среднее гармоническое элементов числового ряда)

14.10.2014, 11:41. Показов 1872. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Продемонстрировать вызов функции с различным числом параметров. Выполните вычисления для трех и десяти чисел. Решите задачу двумя способами: через передачу количества параметров как параметр функции и через использование признака конца списка параметров. В задаче требуется найти среднее гармоническое элементов числового ряда.

Пожалуйста, помогите в написании.

Добавлено через 13 часов 0 минут
Люди... Отозвитесь, пожалуйста.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.10.2014, 11:41
Ответы с готовыми решениями:

Унаследовать функцию с переменным числом параметров
Добрый день, форум! Вот такая задачка: Есть базовый класс A с методом void func(void). От этого...

Написать функцию с переменным числом параметров
Среднее арифметическое из элементов в списке параметров , стоящие на четных местах. вот что у...

Массивы в функцию с переменным числом параметров
Как передать некоторое кол-во массивов в функцию с переменным числом параметров и вывести в функции...

Написать функцию с переменным числом параметров
Написать функцию с переменным числом параметров, которая считае значение полинома вида: c0 + c1*x +...

2
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
14.10.2014, 11:58 2
Цитата Сообщение от Hurricane Посмотреть сообщение
Люди... Отозвитесь, пожалуйста.
см. внизу страницы "Похожие темы". Всё уже решалось много раз.
0
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
14.10.2014, 12:27 3
Лучший ответ Сообщение было отмечено Hurricane как решение

Решение

Hurricane, вот для случая с количеством параметров.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <cstdarg>
 
double VariadicHarmonicMeanWithCount(const int argsCount, ...)
{
  double returnValue = 0.0;
  va_list ap;
  va_start(ap, argsCount);
  for(register int i = 0; i < argsCount; i++)
  {
    returnValue += (1.0 / va_arg(ap, double));
  }
  returnValue = returnValue / argsCount;
  returnValue = 1.0 / returnValue;
  va_end(ap);
  return returnValue;
}
 
int main()
{
  std::cout<<VariadicHarmonicMeanWithCount(3, 3.0, 6.0, 9.0)<<std::endl;
  std::cout<<VariadicHarmonicMeanWithCount(10, 3.0, 6.0, 9.0, 11.0, 14.0, 18.0, 7.0, 3.2, 4.1, 3.75)<<std::endl;
  return 0;
}
Что касается второго случая, то уточняйте у преподавателя задание. Если он хочет видеть штуки в духе c++11 и старше, то там признак конца вообще ни за каким не нужен. Если же надо делать как в приведенном мной случае, то стандарт требует вызов va_start перед получением любого из аргументов, а для этого нужно передавать количество. Иначе - undefined behaivour.

Добавлено через 1 минуту
Или строку формата передавать, но это тоже передача количества в неявном виде.
0
14.10.2014, 12:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.10.2014, 12:27
Помогаю со студенческими работами здесь

Реализовать функцию с переменным числом параметров C++
Реализовать функцию с переменным числом параметров. Параметрами являются символы, определяющие,...

Реализовать функцию с переменным числом параметров
Помогите пожалуйста. Аргументы функции: целые положительные числа. Конец ввода: -1....

Написать функцию с переменным числом параметров
Задание дали такое: Написать функцию с переменным числом параметров, в соответствии с вариантом,...

Написать функцию min с переменным числом параметров
Написать функцию min с переменным числом параметров, которая находит минимальное из чисел типа int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru