Petit programme en langage C

Résolu/Fermé
Imzil - 28 mars 2007 à 01:53
 gyhane - 17 déc. 2007 à 22:13
Bonjour,
Etantdonné débutant en langage C, permettez moi S.V.P de vous adresser mon petit probléme que je n'arrive à comprendre la réponse:
l'ennoncé de l'exercie:
Écrire une fonction qui ne renvoie aucune valeur et qui détermine la valeur maximale et la valeur minimale d’un tableau d’entiers (à un indice) de taille quelconque. Il faudra donc prévoir 4 arguments : le tableau, sa dimension, le maximum et le minimum. Écrire un petit programme d’essai.
Réponse ( que je n'arrive pas à comprendre):
void maxmin (int[], int n, int * admax, int * admin)

{

int i, max, min;

max = t[0];

min = t[0];

for (i = 1; i < n; i++)

{ if (t[i] > max) max = t[i];

if (t[i] < min) min = t[i];

}

*admax = max;

*admin = min;

}



#include <stdio.h>

int main (void)

{

void maxmin (int t[], int n, int * a, int * b);

int t[8] = {2, 5, 7, 2, 9, 3, 9, 4};

int max, min;

maxmin (t, 8, &max, &min);

printf ("valeur maxi : %d\n", max);

printf ("valeur mini : %d", min);

return 0;

}

5 réponses

void minmax(long tab[], int lgti, long *mi, long *ma);

int main(int argc, char *argv[])
{
long t[]={650,2,52,5548};
int lgtab = 4;
long max=0,min=0,i=0;
minmax(t,lgtab,&min,&max);
printf("%ld\n",min);
printf("%ld\n",max);



system("PAUSE");
return 0;
}

void minmax(long tab[], int lgtab, long *mi, long *ma)
{
*mi=tab[i];
*ma=tab[i];
for (i=0;i<lgtab;i++)
{
if (*mi>tab[i])
{
*mi=tab[i];
}
if (*ma<tab[i])
{
*ma=tab[i];
}

}



}
2