Help Me

manta7 Messages postés 105 Date d'inscription samedi 25 janvier 2003 Statut Membre Dernière intervention 13 décembre 2008 - 23 juin 2003 à 10:02
manta7 Messages postés 105 Date d'inscription samedi 25 janvier 2003 Statut Membre Dernière intervention 13 décembre 2008 - 23 juin 2003 à 10:19
Bonjour, j'aimerais coder un fonction qui prend en paramètre un tableau de nombres entiers, et qui recherche, dans ce tableau, la plus grande différence (en valeur absolue), entre un élément et son successeur (l'élément suivant dans le tableau). La fonction doit retourner cette différence.

#include <stdio.h>
int PlusGrandeDifference(int tableau[], int taille)
{
//Insérez le code ici
}
int main()
{
int tableau[300];
int taille;
int i;
int difference;
scanf("%d", &taille);
for (i = 0; i < taille; i++)
scanf("%d", &(tableau[i]));
difference = PlusGrandeDifference(tableau, taille);
printf("%d\n", difference);
return 0;
}
Merci

5 réponses

cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 4
23 juin 2003 à 10:14
int PlusGrandeDifference(int *tab, int taille)
{
// impossible de faire l'algorithme
if(taille < 2)
{
return -1;
}
else
{
// maximun
int max;
// nombre
int old;
// indice
int i;
// maximun au debut
old = tab[1];
max = old - tab[0];

for(i=2;i<taille;i++)
{
if(tab[i] - old > max)
{
max = tab[i] - old;
}
old = tab[i];
}

return max;
}
}
:-p :sleepy) :shy) :sleepy) :-p
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
23 juin 2003 à 10:14
int PlusGrandeDifference(int tableau[], int taille)
{
int max = 0, t, i;
if(--taille < 2) return 0;
for(i =0; i < taille; i++) {
t = tableau[i+1] - tableau[i];
if(t < 0) t *= -1;
if(t > max) max = t;
}
return max;
}
BruNews, ciao...
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
23 juin 2003 à 10:15
RECTIF URGENTE, excuse svp:
if(--taille < 1) return 0;
BruNews, ciao...
0
cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 4
23 juin 2003 à 10:18
UNE VERSION AVEC LES VALEURS ABSOLUE :
int PlusGrandeDifference(int *tab, int taille)
{
// impossible de faire l'algorithme
if(taille < 2)
{
return -1;
}
else
{
// maximun
int max;
// nombre
int old;
// indice
int i;
// maximun au debut
old = tab[1];
max = old - tab[0];

for(i=2;i<taille;i++)
{
int diff;
diff = tab[i] - old;
// valeur absolue
if(diff < 0) diff = -diff;
// comparaison
if(diff > max) max = diff;

old = tab[i];
}

return max;
}
}
:-p :sleepy) :shy) :sleepy) :-p
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
manta7 Messages postés 105 Date d'inscription samedi 25 janvier 2003 Statut Membre Dernière intervention 13 décembre 2008
23 juin 2003 à 10:19
MARCI A TOUS
0
Rejoignez-nous