21 мая 2015 г.

Написать функцию, которая находит максимальное значение в массиве, используя рекурсию

int max(int A[], int size)
{
if(size==1) return A[0];
else
{
int tmp=max(A,size-1);
return tmp>A[size-2]?tmp:A[size-2];
}
}

void init(int A[], int size)
{
srand(time(NULL));
for (int i = 0; i < size; i++)
A[i] = rand() % 20+1;
}

void out(int A[], int size)
{
cout << "\n";
for (int i = 0; i < size; i++)
cout << A[i] << " ";
cout << "\n";
}

void main()
{
setlocale(LC_ALL, "Russian");
int digit;
const int size=15;
int A[size];

do
{
cout<<"Эта программа находит максимальное значение в массиве, используя рекурсию\n";
init(A,size);
out(A,size);
cout<<"\nМаксимальное значение - "<<max(A,size)<<"\n";
cout<<"Если хотите продолжить, нажмите 1:";
cin>>digit;
}while(digit==1);
}

Комментариев нет:

Отправить комментарий