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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Цикл while http://www.cyberforum.ru/cpp-beginners/thread1193021.html
Здравствуйте! Подскажите вот у меня цикл вайл с параметром BS все время в конце цикла выполняю BS=BS->next; а вот теперь как вернуть начальное значение BS
C++ Среднеарифметическое каждого столбца матрицы: перевод программы с Pascal Всем доброго времени суток! Помогите, пожалуйста, с переводом программы. const n=10; var mas:array of integer; srmas:array of real; i,j,m:integer; sr:real; BEGIN randomize; http://www.cyberforum.ru/cpp-beginners/thread1193018.html
Реализовать игровое поле в игре "Тетрис" C++
Добрый вечер, писал программу тетрис, и ни как не могу исправить некоторые ошибки Что нужно: 1. Нужно поле игровое по центру консоли как на миниатюре. 2. Белый квадрат который на миниатюре, во...
C++ Даны действительные числа a1, ., a2n (n>=2 и заранее неизвестно). Получить: (a1- a2n)(a3- a2n-2)(a5- a2n-4)
Даны действительные числа a1, ..., a2n (n>=2 и заранее неизвестно). Получить: (a1- a2n)(a3- a2n-2)(a5- a2n-4)...(a2n-1 -a2).
C++ При создании объекта структуры не вызываются конструкторы http://www.cyberforum.ru/cpp-beginners/thread1193003.html
Есть класс Время. У него есть два конструктора. Создал структуру struct List { Time a; List *next; }; При создании объекта структуры не могу вызвать конструкторы(при передачи аргументов),...
C++ Run-Time Check Failure #2 - Stack around the variable 'C' was corrupted #include <iostream> #include <iomanip> using namespace std; int main() { const int n=10; int i,A,B,C,k; srand((unsigned)time(NULL)); for (i=1;i<=n;i++) { подробнее

Показать сообщение отдельно
Master_Yi
13 / 10 / 1
Регистрация: 22.12.2013
Сообщений: 368

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

29.05.2014, 21:27. Просмотров 591. Ответов 5
Метки (Все метки)

Мне нужно написать функцию, которая 3 раза может принять разное количество параметров и вывести минимальных из них.
Например ввести 5, 10, 12 параметров и одна и та же функция должна посчитать минимум.

Ну я начал разбираться и нашел некий пример чего-то подобного(по идее он считает суму параметров, но не правильно):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
using namespace std;
 
int sum (int k, ...)
{
int *p = &k; 
int s=0;
for ( ; k!=0;k--)
s=s+*(++p);
return s;
}
int main()
{
cout<<"\nSuma(2,4,6)= "<<sum(2,4,6); //должен выводить суму 4+6
cout<<"\nSuma(4,1,2,3,4)= "<<sum(4,1,2,3,4); //должен выводить суму 1+2+3+4
}
Ответ всегда 3, что бы я не вводил.

Но я не знаю как понять этот пример что бы решить свой так что я задам пару вопросов для этого:
1)Что такое этот элемент "р" вообще? (int *p = &k; или *(++p)). Почему именно р?
2) int *p = &k; как работает эта штука?
2) *(++p) - что эти символы вокруг "р" делают?
3) int sum (int k, ...) - как оно вообще принимает данные? Оно записывает первый элемент а остальные в некий массив? Как к нему обращаться?

А еще я нарыл нечто более понятное:
va_list
va_start
va_arg
va_end
Это вообще по теме(?) и если это проще то объясните лучше на них =)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru