Bizarre sur java

Kid -  
KX Messages postés 19031 Statut Modérateur -
Bonjour,
Salut chers frères, on m'a demandé de faire la différence entre le maximum et le minimum d'un tableau j'ai écris le code et tout mais ça ne marche pas le maximum marche mais le minimum me donne toujours 0.
Voici la fonction maximum et delta qui est la différence entre le max et le min need help et je crois que l'algorithme est bon vu que le max marche et j'ai fait le contraire pour le min

public static int maximum(int []t){
  int max=t[0];
  for (int i=1;i<t.length;i++){
   if (max<t[i]){
    max=t[i];
   }
  }
  return max;
 }
 public static int delta(int []t){
  int min = t[0];
  for (int i=1;i<t.length;i++){
   if (min>t[i]){
    min = t[i];
   }
  }
  return maximum(t)-min;
 }
A voir également:

3 réponses

KX Messages postés 19031 Statut Modérateur 3 020
 
Bonjour,

Ta deuxième méthode ne calcule pas le minimum, mais la différence entre le minimum et le maximum. Donc si ton tableau contient tout le temps la même valeur (mix=max) c'est normal que le delta donne 0.

Remarque : ce serait plus clair de faire une méthode dédiée au calcul de minimum, ta méthode delta ferait juste la soustraction.
0
Kid
 
KX ok je vais faire ce que tu dis et je reposte
0
Kid
 
J'ai le même résultat que le code précédent
public static int maximum(int []t){
  int max=t[0];
  for (int i=1;i<t.length;i++){
   if (max<t[i]){
    max=t[i];
   }
  }
  return max;
 }
 public static int minimum (int []t){
  int min = t[0];
  for (int i=1;i<t.length;i++){
   if (min>t[i]){
    min = t[i];
   }
  }
  return min;
 }
 public static int delta(int []t){

return maximum(t)-minimum(t);
 }
0
KX Messages postés 19031 Statut Modérateur 3 020
 
Même remarque que précédemment, si ton tableau contient tout le temps la même valeur (mix=max) c'est normal que le delta donne 0.

Quel est ton code de test ?
0