Форум программистов, компьютерный форум 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. Белый квадрат который на миниатюре, во время игры он носится по всему полю, убрать его нужно. Он возникает из за перерисовки поля. Мигание это Код: #include <stdio.h> // опр-ие мак-в #include <stdlib.h>// выд-ие памяти, конт-ль вып...
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; }; При создании объекта структуры не могу вызвать конструкторы(при передачи аргументов), как можно решить эту проблему? List *temp = new List; temp->a(h,m,s);//ошибка
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
12 / 9 / 1
Регистрация: 22.12.2013
Сообщений: 289
29.05.2014, 21:27     Функции со сменным количеством параметров
Мне нужно написать функцию, которая 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
Это вообще по теме(?) и если это проще то объясните лучше на них =)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 05:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru