Advertisement
Guest User

Untitled

a guest
Nov 13th, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Nom du fichier : intersection.js
  2. //Valérie Panaite
  3.  
  4. //Exercice noté 5
  5. //13 novembre 2019
  6.  
  7. //Ce programme prend deux tableaux de nombres et
  8. //retourne les valeurs qui sont présentes dans les deux.
  9.  
  10.  
  11. //Première fonction
  12. //Cette fonction combine la deuxieme et la troisime fonction.
  13. //elle donne le resultat final en prenant les deux tableaux initials.
  14.  
  15. var intersection = function(PremierTableau,DeuxièmeTableau){
  16.  
  17.     print(transformer(PremierTableau,DeuxièmeTableau));
  18.         return retirer (transformer (PremierTableau,DeuxièmeTableau));
  19.  
  20. };
  21.  
  22. //Deuxieme fonction
  23. //Cette fonction crée un tableau contenant les chiffres qui sont
  24. //présents dans les 2 tableaux fournis
  25.  
  26. var transformer = function (PremierTableau, DeuxièmeTableau) {
  27.  
  28.     var resultat= Array(0); //au départ, il y a rien dans le tableau
  29.  
  30.     for (var n = 0; n < PremierTableau.length; n++) {     //il faut comparer tous
  31.                                                           //les chiffres entre eux
  32.         for (var i = 0; i < DeuxièmeTableau.length; i++) {
  33.        
  34.             if (DeuxièmeTableau [i] == PremierTableau [n]) {
  35.  
  36.                 var chiffre = DeuxièmeTableau [i];
  37.                 resultat.push(chiffre);//on rajoute des elements au tabeau
  38.  
  39.             }
  40.             else {
  41.                            // si les chiffres ne sont pas pareils,
  42.                 continue; // on continue avec les prochains
  43.             }
  44.         }
  45.     }
  46.     return resultat;
  47. };
  48.  
  49.  
  50. //Troisieme fonction
  51. //Cette fonction retire les chiffres en double
  52. //du tableau de résultat et crée un tableau avec
  53. //le résultat final
  54.  
  55.  
  56. var retirer = function (resultat) {
  57.  
  58.   var resultatFinal = [resultat[0]];
  59.   var double = false;
  60.  
  61.     for(var i = 1; i < resultat.length; i++)
  62.     {
  63.       for(var x = 0; x < resultatFinal.length; x++)
  64.       {
  65.         if (resultatFinal[x] == resultat[i])
  66.         {
  67.           double = true;
  68.         }
  69.       }
  70.       if (!double)
  71.       {
  72.       resultatFinal.push(resultat[i]);
  73.       }
  74.       double = false;
  75.     }
  76.  
  77.   print(resultatFinal);
  78.     return resultatFinal;
  79. };
  80.  
  81.  
  82.  
  83. //quatrieme fonction
  84.  
  85. var testIntersection = function () {
  86.  
  87.     assert( intersection([0, 1, 2, 3], [4, 3, 2, 1, 0]) == "0,1,2,3"); //il faut que ca soit
  88.                                                                       //dans l'ordre
  89.     assert( intersection([2,2,2,3], [2, 4]) == "2");//pas de doubles
  90. ;
  91.     assert( transformer([15, 2, 7, 7], [12, 15, 4]) == "15"); //meme les chiffres > 10
  92.     assert( transformer([2, 2, 3], [2,4]) == "2,2"); //il peut y avoir des doubles
  93.     print("assert 1");
  94.     assert( retirer([2, 2, 3]) == "2,3"); //double simple
  95.     print("assert 2 ");
  96.     assert( retirer([2, 3, 2, 4]) == "2,3,4"); //double pas un a cote de lautre
  97.     print("assert 3 ");
  98.     assert( retirer([1, 2, 3]) == "1,2,3"); //aucun double
  99.     print("assert 4");
  100.     assert( retirer([1, 1, 2, 2, 3, 3, 3, 2, 4, 5, 1]) == "1,2,3,4,5"); //plusieurs fois le meme chiffre
  101.  
  102. };
  103.  
  104. testIntersection();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement