Написать эту программку на С++ используя рекурсию
Написать эту программку на С++ используя рекурсию
Задать свой вопросinclude lt;iostreamgt;
include lt;vectorgt;
int min_possitive(int a, int b)
if (a gt; 0)
if (b gt; 0)
return a lt; b ? a : b;
else
return a;
else if (b gt; 0)
return b;
else
// Ошибка в случае если 2 числа отрицательны либо равны 0
return -1;
int min(std::vectorlt;intgt; vec, int size)
int temp;
if (size == 1)
return vec[0];
temp = min(vec, --size);
return min_possitive(vec[size], temp);
int main()
std::vectorlt;intgt; vec(10);
std::cout lt;lt; "Enter 10 numbers separated by a space: ";
for (autoamp; val : vec)
std::cin gt;gt; val;
int min_p = min(vec, vec.size());
if (min_p == -1)
std::cout lt;lt; "No positive numbers!" lt;lt; std::endl;
else
std::cout lt;lt; "Min == " lt;lt; min_p lt;lt; std::endl;
return 0;
// factorial.cpp: определяет точку входа для консольного прибавленья.
include "stdafx.h"
include lt;iostreamgt;
using namespace std;
unsigned long int factorial(unsigned long int);// макет рекурсивной функции
int i = 1; // инициализация глобальной переменной для подсчёта кол-ва рекурсивных вызовов
unsigned long int result; // глобальная переменная для хранения отдаваемого результата рекурсивной функцией
int main(int argc, char* argv[])
int n; // локальная переменная для передачи введенного числа с клавиатуры
cout lt;lt; "Enter n!: ";
cin gt;gt; n;
cout lt;lt; n lt;lt; "!" lt;lt; "=" lt;lt; factorial(n) lt;lt; endl; // вызов рекурсивной функции
system("pause");
return 0;
unsigned long int factorial(unsigned long int f) // рекурсивная функция для нахождения n!
if (f == 1 f == 0) // базисное либо приватное решение
return 1; // все мы знаем, что 1!=1 и 0!=1
cout lt;lt; "Step\t" lt;lt; i lt;lt; endl;
i++; // операция инкремента шага рекурсивных вызовов
cout lt;lt; "Result= " lt;lt; result lt;lt; endl;
result = f * factorial(f - 1); // функция вызывает саму себя, причём её аргумент уже на 1 меньше
return result;
-
Вопросы ответы
Статьи
Информатика
Статьи
Математика.
Разные вопросы.
Разные вопросы.
Математика.
Разные вопросы.
Математика.
Физика.
Геометрия.
Разные вопросы.
Обществознание.