ipwang 发表于 2008-5-12 19:08

写的一个关于分治问题的,不知道为什么不能运行,恳求高手帮忙指出错误

#include "stdio.h"
int max3(int a,int b)
{int max;
if(a>b) max=a;
else max=b;
return max;
}

int min3(int a,int b)
{int min;
if(a<b) min=a;
else min=b;
return min;
}

int maxmin(int a[],int i,int j,int *max,int *min)
{int mid,max1,max2,min1,min2;
if(j==i) return ;
if(j-1==i)
{max3(a[i],a[j]);}
mid=(i+j)/2;
for(i=0;i<=mid;i++)
maxmin(a[i],i,mid,&max1,&min1);
for(mid=(i+j)/2;mid<=j;mid++)
maxmin(a[mid],mid,j,&max2,&min2);
max3(max1,max2);
min3(min1,min2);
return;}

main()
{int n,i,j,max,min,a[100];
  printf("input the numble is:");
  scanf("%d",&n);
  i=0;j=n;
  for(i=0;i<j;i++)
  scanf("%d",&a[i]);
  maxmin(a[j],i,j,&max,&min);
  return;
}

ipwang 发表于 2008-5-12 19:29

为什么没人回我,是我写得不够清楚吗

ipwang 发表于 2008-5-14 06:35

怎么还是没人回答我啊,高手都不来了吗???

ipwang 发表于 2008-5-14 07:12

这个算法是为了实现在N个数中找到其最大值和最小值,希望有好心的高手帮忙把错误找出来,我已经做了很久了

页: [1]

编程论坛