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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ обьясните строение цыкла http://www.cyberforum.ru/cpp-beginners/thread226434.html
нащёл код!!он работает!! но я его не понимаю!!! обьясните цыкл!!! int exp=2; int base=10; int i=1; for (; exp; exp--) i= base*i; cout <<"Ответ" << i;
C++ использование статических массивов Дана целочисленная прямоугольная матрица размерности n на m. Упорядочить её строки по возрастанию количества одинаковых элементов в каждой строке, а также найти номер первого из столбцов, не содержащих ни одного отрицательного элемента. в консольном приложении http://www.cyberforum.ru/cpp-beginners/thread226428.html
C++ используя динамическое выделение памяти и обработку массива с применением указателей
используя динамическое выделение памяти и обработку массива с применением указателей Уплотнить заданную матрицу, удалив из неё строки и столбцы, заполненные нулями. Найти номер первой из строк, содержащих хотя бы один положительный элемент. консольное приложение
Не работает math.h C++
Почему-то мнения функций этой библиотеки сильно расходятся с мнениями моего калькулятора. По крайней мере функции синуса косинуса и тангенса калькулятора и функций библиотеки расходятся. От чего это может быть?
C++ Динамическое выделение памяти и обработка массива с применением указателей http://www.cyberforum.ru/cpp-beginners/thread226421.html
Уплотнить заданную матрицу, удалив из неё строки и столбцы, заполненные нулями. Найти номер первой из строк, содержащих хотя бы один положительный элемент.
C++ Нарисовать треугольник Помогите!!! Программа должна делать прямоугольный треугольник (ввод катетов с клавиатуры), а она делает трапецию. #include <iostream.h> #include <windows.h> #include<math.h> #include<stdio.h> main () { int j=0; int i=0; int n=0; подробнее

Показать сообщение отдельно
G-Cat
16 / 16 / 1
Регистрация: 15.03.2009
Сообщений: 94
10.01.2011, 03:25
niXman, серьёзно, батенька, Вы что то напутали)
Вот мой вариант...сто лет в C++ (а тем более в его подмножестве C) не практиковался)))

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 <iostream>
using namespace::std;
 
int max(int k, ...) {   
    int amount = k; /* первый аргумент нашей функции - количество
                       передаваемых в неё аргументов */
    
    // проверка количества аргументов                  
    if(k < 1) {
      cout << "Usage: max( number_of_arguments, arg1, arg2, ... [argN] )" << endl;
      return 0;
    }
                       
    int *p = &k;
    p++; // указываем на первый аргумент, после аргумента - количества
    
    int maxi = *p; /* по умалчанию присваиваем максимальное
                      значение - первый из всех аргументов */
        
    for(int i = 0; i < amount; i++) {
      if(maxi < *p) {
        maxi = *p;
      }
      
      p++;
    }
    
    return maxi;
}
 
int main() {
  cout << "max (8, 3, 5) = " << max(3, 8, 3, 5) << endl;
  cout << "max (2, 9, 6) = "<< max(0) << endl;
  cout << "max (7, 4, 10, 11) = "<< max(4, 7, 4, 10, 11) << endl;
  
  return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru