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

Переполнение стэка при рекурсии - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Список, непонятная ошибка http://www.cyberforum.ru/cpp-beginners/thread319587.html
Всем привет. У меня есть список, вроде все норм, но когда вызываю оператор сложения - run-time error почему-то, если не трудно, укажите где у меня ошибка. #include <iostream> #include <stdexcept>...
C++ Шахматная доска Даны координаты двух различных полей шахматной доски x1,x2,y1,y2(Целые числа лежащие в диапазоне от 1 до 8). Проверить истинность высказывания Король за один ход может перейти с одного поля на... http://www.cyberforum.ru/cpp-beginners/thread319557.html
не получается скомпилировать программу в Dev-C++ C++
я написал код ,сто раз перепроверил, но не компилируется! подскажите что в коде неверно, вот код: #include <stdio.h> #include <iostream.h> int main(void) { int x; cout<<"Vvedite x: ";...
C++ Поиск ошибки.
Доброго времени суток. С++ изучаю второй день. Вот задание: Определить количество трехзначных натуральных чисел, сумма цифр кото-рых равна n (1 < n < 27). Операции целочисленного деления не...
C++ Наличие интернет-соединения http://www.cyberforum.ru/cpp-beginners/thread319537.html
Здравствуйте. Нужно программно проверить есть ли соединение с интернетом. Обычно, это можно сделать так: DWORD flags; flags = INTERNET_CONNECTION_MODEM + INTERNET_CONNECTION_LAN +...
C++ Создать и заполнить массив случайными числами и вычислить сумму его элементов Привет ребята, подскажите как реализовать вот это задание? "используя указатели, нписать следующую программу. программа принимает с клавы размер массива и задает динамический массив этого... подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
5774 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
14.06.2011, 18:28
Вариант со списком переменной длины:
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>
 
int product(size_t, ...);
 
int main()
{
 
    printf("Product of 3 5 8 3 2 is %d\n", product(5, 3, 6, 8, 3, 2));
    
    exit(0);
}
 
int calc_product(size_t n, va_list ap)
{
    int value;
 
    if(!n)
    return 1;
 
    value = va_arg(ap, int);
 
    return value * calc_product(n - 1, ap);
}
 
int product(size_t n, ...)
{
    int result;
    
    va_list ap;
    va_start(ap, n);
    result = calc_product(n, ap);
    va_end(ap);
 
    return result;
}
Здесь рекурсивная функция - calc_product
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru