برنامه MinMax به روش تقسیم و حل (Divide and Conquer)
int A[100], low, high, Min=0, Max=0;
void MinMax(int A[], int low, int high, int &Min, int &Max)
{
int MinL, MaxL, MinR, MaxR;
if(low==high)
{
Min=Max=A[low];
return;
}
if(low==high-1)
{
if(A[low]
{
Min=A[low];
Max=A[high];
return;
}
else
{
Min=A[high];
Max=A[low];
return;
}
}
int mid=(low+high)/2;
MinMax(A, low, mid, MinL, MaxL);
MinMax(A, mid+1, high, MinR, MaxR);
if(MinL
else
Min=MinR;
if(MaxL>MaxR)
Max=MaxL;
else
Max=MaxR;
}
void main()
{
int i, n;
printf("Please Enter Array lengh: ");
scanf("%d", &n);
printf("\nPlease Input Array Elements:\n");
for(i=0; i
printf("A[%d]: ", i+1);
scanf("%d", &A[i]);
}
MinMax(A, 0, n-1, Min, Max);
printf("\nThe Minimum Value is: %d\nThe Maximum Value is: %d", Min, Max);
printf("\n\n\n\n\n\nProgramming By: www.pinp.mihanblog.com");
getch();
{
نظرات شما عزیزان: