Tableau

ponoreno - 29 déc. 2012 à 07:15
 Utilisateur anonyme - 30 déc. 2012 à 02:29
voici la question :
Le test d'égalité de deux tableaux peut être implémenté de plusieurs façons. Vous allez implémenter deux de ces approches dans cet exercice.
Première implémentation
Afin d'implémenter le premier test d'égalité entre deux tableaux, vous devez créer un programme répondant aux exigences suivantes :
a. Création d'un tableau de floats initialisé comme ceci :
float tabReference = {1.0, 5.0, 2.0, 6.0, 3.0, 7.0, 4.0, 8.0, 20.0, 25.0};
b. Saisir dix (10) valeurs au clavier et stocker ces dix valeurs dans un autre tableau.
c. Déclarer les deux tableaux comme étant égaux s'ils contiennent le même nombre de valeurs ainsi que les mêmes valeurs et dans le même ordre.

et voici ou je suis rendu .... mais je suis bloquer

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package ;

import java.util.*;

/**
*
* @author Me
*/
public class exercise {

public static void main(String[] args) {
Scanner clavier = new Scanner(System.in);
float[] tab1;
tab1 = new float[]{1.0f, 5.0f, 2.0f, 6.0f, 3.0f, 7.0f, 4.0f, 8.0f, 20.0f, 25.0f};
float[] tab2;
tab2 = new float[]{0.0f};
int i = 0;
float tmp;
System.out.println("entrez vos 10 valeurs (float ex. 0.0) : ");
tmp = clavier.nextFloat();
//tab2 = new float[tmp];


while (i < tab1.length) {
if (tab1[i] != tab2[i]) {
break;
}
i++;
}
if (i == tab1.length) {
System.out.println("les tableaux sont égaux ");
} else {
System.out.println("les tableaux sont différents");
}


}
}

3 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
29 déc. 2012 à 22:02
Salut,

boolean egaux=((tab.!=null && tab2!=null &&tab1.length()==tab2.length()) || (tab1==null && tab2==null) );
if(egaux && tab1!=null){
   for(int i=0; i<tab1.length(); i++){
      if(tab1[i]!=tab2[i]){
         egaux=false;
         break;
      }
   }
}
if(egaux){
   System.out.println("les tableaux sont égaux ");
}
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
29 déc. 2012 à 22:03
On va dire que c'est ton cadeau de noel parce qu'en général, les énoncés d’exercice, c'est assez mal venu sur ce forum...
0
Utilisateur anonyme
30 déc. 2012 à 02:29
Salut,

Tout d'abord quelques remarques concernant les tableaux.

Les tableaux de types primitives sont:
-pour les entiers (byte, short, int, long ), initialisés par défaut à 0 (zéro) et char à ' 00 ',
-pour les réels (float et double), initialisés par défaut à 0.0.

Il n'est donc pas nécessaire d'initialiser ces types de tableau, sauf si bien entendu l'appli exige d'autres valeurs...

Avec le tableau tab1 = new float[]{1.0f, 5.0f, 2.0f, 6.0f, 3.0f, 7.0f, 4.0f, 8.0f, 20.0f, 25.0f};
pour que les 2 tableaux soient strictement égaux, on doit saisir 10 valeurs rigoureusement identiques et dans le même ordre.
Une solution serait de faire la saisie dans une boucle de 0 à tab1.length -1 et de ranger chaque valeur (float) dans le tableau tab2 tout en comparant chaque valeur saisie à la valeur de tab1. Si inégalité on force un boolean à false, si égalité le boolean reste à son état true par exemple.
Exemple:
      public static void main(String[] args)
      {
         Scanner clavier = new Scanner(System.in);
         
         float[]tab1 = new float[]{1.0f, 5.0f, 2.0f, 6.0f, 3.0f, 7.0f, 4.0f, 8.0f, 20.0f, 25.0f};
         
         int i = 0;
         boolean tabEgaux = true;
            
         float[] tab2 = new float[tab1.length];
         System.out.println("Entrez vos " + tab1.length + " valeurs (float ex. 0.0) : ");
         for(i = 0; i<tab1.length; i++)
         {
            tab2[i] = clavier.nextFloat();
            if(tab1[i] != tab2[i]) tabEgaux = false;
            //break; // on stope
            //soit on continue, soit on stope
         }
         
         for(i = 0; i < tab2.length; i++)
            System.out.println(tab2[i]);
         
         if (tabEgaux)
         {
            System.out.println("Les deux tableaux sont égaux.");
         } 
         else {
            System.out.println("Les deux tableaux sont différents.");
         }
     }


Cordialement,

...\ Dan /...
0
Rejoignez-nous