1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
#include <stdio.h>
#define N 80000
void minmaxrecursif(int tab[],int indiceMin, int indiceMax, int *valeurMin, int *valeurMax)
{
int milieu=(indiceMax+indiceMin)/2;
if ( indiceMax-indiceMin==1 )
{
if (*valeurMin > tab[indiceMax])
*valeurMin=tab[indiceMax];
else if ( *valeurMax < tab[indiceMax])
*valeurMax=tab[indiceMax];
/*printf("tab[min]=%d\ntab[max]=%d",tab[indiceMin],tab[indiceMax]);*/
}
else
{
minmaxrecursif( tab,indiceMin,milieu,valeurMin,valeurMax);
minmaxrecursif( tab,milieu,indiceMax,valeurMin,valeurMax);
}
}
int main(void)
{
int tab[N]={0};
int min=tab[0], max=tab[0];
int i;
for (i=0;i<N;i++)
{
tab[i]=i;
}
minmaxrecursif(tab,0,N-1,&min,&max);
/*minmax(tab,N,&min,&max);*/
printf("min=%d max=%d \n",min,max);
return 0;
} |
Partager