• Твой профиль заполнен на 0%. Заполни за 1 минуту, чтобы тебя нашли единомышленники и работодатели. Заполнить →

Не Получается Рекурсия, Подскажите Пожалуйста.

  • Автор темы Автор темы PadshijAngel
  • Дата начала Дата начала
P

PadshijAngel

Нужно с помощью рекурсии найти максимальное и минемальное значение в одномерном массиве, ни чего не получается есть пример программы по нахождению только минемального но она тоже работает не правильно:
#include<iostream>
using namespace std;
int min(const int a[], int n, int r)
{ if (n==r) return a[n];
int m = (n+r)/2;
int x = min(a, n, m);
int y = min(a, m+1, r);
if (x<y) return x; else return y;
}
void main()
{int mas[5]={1,2,3,4,5};
int k;
cout<<min(mas,5,k-1);
system("pause");
}
Подскажите пожалуйста как это реализовать?
 
Я исправила программу с места вызова функции:
void main()
{int mas[5]={1,2,3,4,5};
cout<<min(mas,0,5);
system("pause");
}
Как я поняла так должно было стать правильно но она все равно не работает. Выдает большое какое то число, хотя должна была выдавать 5.
 
#include <cstdlib>
#include <iostream>
using namespace std;
int min(const int a[], int n, int r)
{ if (n==r) return a[n];
int m = (n+r)/2;
int x = min(a, n, m);
return x;
}
int max(const int a[], int n, int r)
{ if (n==r) return a[n+1];
int m = (n+r)/2;
int y = max(a, m, r-1);
return y;
}
int main(int argc, char *argv[])
{
int mas[5]={1,2,3,4,5};

cout<<"min = "<<min(mas,0,5)<<"\n";
cout<<"max = "<<max(mas,0,5)<<"\n";
system("PAUSE");

}
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab