Форум программистов, компьютерный форум CyberForum.ru

Функция с переменным числом параметров - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задан целочисленный массив размера N. Отсортировать серии в массиве в порядке убывания их длины http://www.cyberforum.ru/cpp-beginners/thread216368.html
В общем, есть две задачи, ух на какую же веселую и ни черта не понятную для меня тему. 1. Задан целочисленный массив размера N. Отсортировать серии в массиве в порядке убывания их длины. 2. Задан вещественный массив размера N. Отсортировать все отрицательные элементы в порядке возрастания. Остальные элементы оставить без изменений. Пример: -4 5 -7 9 0 -1 3 -5 2 -6 → -7 5 -6 9 0 -5 3 -4 2 -1
C++ Строки Помогите плз с задачей В русском языке, как правило, после букв Ж, Ч, Ш, Щ пишется И, А, У, а не Ы, Я, Ю. Проверить заданный текст на соблюдение этого правила и исправить ошибки (с учетом исключений: ЖЮРИ, БРОШЮРА, ПАРАШЮТ). http://www.cyberforum.ru/cpp-beginners/thread216359.html
C++ простая примерчик
как с помощью ф-ции или рекурсии В С++ написать прогу На 11 делятся только те числа, у которых сумма цифр, занимающих нечётные места, либо равна сумме цифр, занимающих чётные места, либо отличается от неё на число, делящееся на 11.
Не могу понять в чем ошибка C++
class Hdd { public: char Hdd_name; int total_space; int free_space; int speed; Hdd *next; Hdd *previous; };
C++ Вопросы по решению программ: строки и интегралы http://www.cyberforum.ru/cpp-beginners/thread216345.html
Добрый вечер, уважаемые форумчане. Задали несколько задач по строкам. Что-то смог сделать, что-то не смог сделать. Вот пару задач, быть может кто-то выручит. По поводу решений заданий - решил из 10 - 7. Потому что там было понятно где какая функция и куда что прилепить . Здесь же не понимаю. Вот задачи. Не прошу сказать как сделать, это не нужно. Подскажите какими методами можно решать...
C++ Вывести на экран все слова предложения, содержащие в качестве подстроки слово w В строках вообще чёт понять не могу(( пожалуйста объясните хотя алгоритм как делать по подробнее!(( вот задание: С клавиатуры вводится строка символов, представляющая собой предложение со знаками препинания (точка, запятая, восклицательный знак), а также слово w. Вывести на экран все слова данного предложения, содержащие в качестве подстроки слово w. подробнее

Показать сообщение отдельно
snoop9x
0 / 0 / 0
Регистрация: 03.12.2010
Сообщений: 14
20.12.2010, 23:28  [ТС]     Функция с переменным числом параметров
Написать функцию sum с переменным числом параметров, которая находит сумму заданных обыкновенных дробей. Написать вызывающую функцию main, которая обращается к функции sum не менее трех раз с количеством параметров 5, 10, 12.
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <string>
#include <iomanip>
#include <sstream>
#include <limits>
#include <algorithm>
#include <time.h>
 
using namespace std;
 
int Gcd(int a, int b) { return b == 0 ? a : Gcd(b, a % b); }
 
class fraction
{
        int dividend;
        int divisor;
 
public:
        fraction(int dividend, int divisor) { this->dividend = dividend; this->divisor = divisor; }
 
        fraction &optimize()
        {
                int gcd = Gcd(dividend, divisor);
                dividend /= gcd;
                divisor  /= gcd;
                return *this;
        }
 
 
        fraction &operator=(const fraction &a)
        {
                this->dividend = a.dividend;
                this->divisor = a.divisor;
                return *this;
        }
 
        friend fraction operator+(const fraction &a, const fraction &b)
        {
                fraction f = fraction(a.dividend*b.divisor+a.divisor*b.dividend, a.divisor*b.divisor);
                return f.optimize();
        }
 
        friend ostream &operator<<(ostream &o, fraction &f)
        {
                o << f.dividend << "/" << f.divisor;
                return o;
        }
};
 
fraction sum(fraction *a, ...)
{
        fraction **p = &a;
        fraction s = *(*p++);
        while (*p!=0)
        {
                s = s + **p;
                p++;
        }
        return s;
}
 
int main()
{
        srand(static_cast<unsigned int>(time(0)));
 
        fraction a(rand()%10+1, 5), b(rand()%10+1, 5);
        cout << (a+b) << endl;
        cout << sum(&a, &b, 0) << endl;
 
        system("pause");
        return 0;
}
что то не работает, помогите исправить...
 
Текущее время: 17:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru