Bizarre sur java

Fermé
Kid - Modifié par KX le 27/01/2017 à 22:15
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 - 28 janv. 2017 à 10:25
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 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 018
27 janv. 2017 à 22:20
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
KX ok je vais faire ce que tu dis et je reposte
0
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 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 018
28 janv. 2017 à 10:25
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