Написать эту программку на С++ используя рекурсию

Написать эту программку на С++ используя рекурсию

Задать свой вопрос
2 ответа

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;

Валерий
У вас ветхий компилятор не поддерживает новый стандарт языка c++
Алла Брайович
Так обязано работать
Агата Статная
int min_possitive(int a, int b) if (a > 0) if (b > 0) if (a < b) return a; else return b; else return a; else if (b > 0) return b; else // Ошибка в случае если 2 числа отрицательны либо равны 0 return -1;
Славик Компаниченко
int min(std::vector vec, int size) int temp; if (size == 1) return vec[0]; temp = min(vec, --size); return min_possitive(vec[size], temp);
Геннадий Чутанов
int main() std::vector vec(10); std::cout << "Enter 10 numbers separated by a space: "; for (int i = 0; i < vec.size(); ++i) std::cin >> vec[i]; int min_p = min(vec, vec.size()); if (min_p == -1) std::cout << "No positive numbers!" << std::endl; else std::cout << "Min == " << min_p << 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;

, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт