Help Me

Signaler
Messages postés
105
Date d'inscription
samedi 25 janvier 2003
Statut
Membre
Dernière intervention
13 décembre 2008
-
Messages postés
105
Date d'inscription
samedi 25 janvier 2003
Statut
Membre
Dernière intervention
13 décembre 2008
-
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

Messages postés
1138
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
25 janvier 2009
3
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
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
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...
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
RECTIF URGENTE, excuse svp:
if(--taille < 1) return 0;
BruNews, ciao...
Messages postés
1138
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
25 janvier 2009
3
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
Messages postés
105
Date d'inscription
samedi 25 janvier 2003
Statut
Membre
Dernière intervention
13 décembre 2008

MARCI A TOUS