Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.11.2011, 15:45   #1
pksvova
 
Регистрация: 28.10.2011
Сообщений: 6
По умолчанию с ++

Подскажите написание программы:
"Разработать функцию F_1() с переменным количеством параметров. Первый параметр имеет тип "целый" и определяет количество неявно заданных обрабатываемых параметров. Все неявно заданные параметры в F_1() имеют одинаковый тип и функция должна вычислить сумму синусов их значений и возвратить вычисленный результат.
Тип неявно заданных параметров - "двойной точности".
Главная функция должны обеспечивать:
– ввод с клавиатуры значений для переменных, которые будут использованы как аргументы функции F_1();
– обращения к разработанной функции F_1() с разным количеством аргументов, значения которых обрабатываются;
отображение результатов каждого обращения к функции F_1()."
pksvova вне форума Ответить с цитированием
Старый 01.11.2011, 16:18   #2
An1ka
C++,DirectX/OpenGL
Форумчанин
 
Регистрация: 09.01.2011
Сообщений: 422
По умолчанию

Цитата:
Сообщение от pksvova Посмотреть сообщение
"Разработать функцию F_1() с переменным количеством параметров. Первый параметр имеет тип "целый" и определяет количество неявно заданных обрабатываемых параметров. Все неявно заданные параметры в F_1() имеют одинаковый тип и функция должна вычислить сумму синусов их значений и возвратить вычисленный результат.
Типа так:
Код:
double F_1( int amount, double arg, ...)
{
	double sum =0;
	for( int i =0; i < amount; ++i)
		sum += sin( (&arg)[i]);
	return sum;
}
An1ka вне форума Ответить с цитированием
Старый 01.11.2011, 17:37   #3
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

An1ka

Особенно весело-то будет, если параметры будет передаваться в регистрах :D

pksvova

Код:
#include <math.h>
#include <stdarg.h>

double F_1(size_t amount, ...)
{
	va_list ap;
	va_start(ap, amount);

	double sum = 0;
	for (size_t i=0; i < amount; i++)
		sum += sin(va_arg(ap, double));

	va_end(ap);

	return sum;
}
Rififi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц