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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ где РЕАЛИЗАЦИЯ класса string? http://www.cyberforum.ru/cpp-beginners/thread158414.html
объявление нашёл, а реализацию нет..
C++ Как преобразовать часть массива char в double есть большой массив char в нем есть несколько элементов которые нужно преобразовать в число типа double например char X; X='0'; X='.'; X='5'; http://www.cyberforum.ru/cpp-beginners/thread158393.html
C++ Эмулятор CHIP-8
Мы с fasked написали простенький эмулятор для платформы CHIP-8. CHIP-8 Остались вопросы по графике и клавиатуре. Если кто знает как реализовать - помогите, пожалуйста. Так же приглашаем для участия в доработке этого проекта, а так же следующих проектах всех, кто желает учиться и трудиться. Кому интересна работа эмулятора все вопросы к fasked) Полный проект в прикрепленном архиве в сообщении...
C++ Написать перегруженные функции.
Написать перегруженные функции и протестировать их в основной программе: А) перевода минут, часов и секунд в секунды; Б) перевода секунд в часы минуты секунды.
C++ Не устанавливается VC++6 Professional Edition http://www.cyberforum.ru/cpp-beginners/thread158303.html
Подскажите пожалуйста, при установке VC++6 Professional Edition выдаёт сообщение: Не найден файл D:\Mein Programen\VISUAL~1\VISUAL~1.EDI\acmboot.exe или один из его компонентов. Проверьте правильность пути и имени файла, а также наличие необходимых библиотек. Следующее сообщение:Couldn't find Acme setup У мени установлен Windows XP SP3. Пробовал несколько разных установочных пакетов....
C++ Функция, формирующая массив Ребят тпомогите написать программу, подскажите с чего начать... Вот задание - Функция, формирующая новый массив, упорядоченный по неубыванию, из двух массивов-параметров, уже упорядоченных по неубыванию. Заранее благодарен подробнее

Показать сообщение отдельно
Mencey
 Аватар для Mencey
145 / 92 / 7
Регистрация: 22.07.2010
Сообщений: 424
11.08.2010, 21:28     Функции с переменным числом аргументов
Вот рабочий пример функции sum(int,...):

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
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
 
/* Будет складывать k аргументов после k */
int sum1(int k,...)
{
  va_list ap;
  int s = 0;
  va_start( ap, k );
  while( k-- > 0 )
    s += va_arg( ap, int );
  va_end(ap);
  return s;
}
 
/* Будет складывать аргументы пока невстретится 0(ноль) */
int sum2(int onearg,...)
{
  va_list ap;
  int s = onearg;
  int n;
  va_start( ap, onearg );
  while( n = va_arg( ap, int ) )
    s += n;
  va_end(ap);
  return s;
}
 
int main(int argc, char *argv[])
{
  int s1 = sum1( 10/*Г*ðãóìåГ*òîâ*/, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 );
  int s2 = sum2( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0/*ГЄГ®Г*ГҐГ¶*/ );
  printf( "s1 = %d; s2 = %d;\n", s1, s2 );
  system("PAUSE");
  return 0;
}
 
Текущее время: 08:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru