Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Nom du fichier : intersection.js
- //Valérie Panaite
- //Exercice noté 5
- //13 novembre 2019
- //Ce programme prend deux tableaux de nombres et
- //retourne les valeurs qui sont présentes dans les deux.
- //Première fonction
- //Cette fonction combine la deuxieme et la troisime fonction.
- //elle donne le resultat final en prenant les deux tableaux initials.
- var intersection = function(PremierTableau,DeuxièmeTableau){
- print(transformer(PremierTableau,DeuxièmeTableau));
- return retirer (transformer (PremierTableau,DeuxièmeTableau));
- };
- //Deuxieme fonction
- //Cette fonction crée un tableau contenant les chiffres qui sont
- //présents dans les 2 tableaux fournis
- var transformer = function (PremierTableau, DeuxièmeTableau) {
- var resultat= Array(0); //au départ, il y a rien dans le tableau
- for (var n = 0; n < PremierTableau.length; n++) { //il faut comparer tous
- //les chiffres entre eux
- for (var i = 0; i < DeuxièmeTableau.length; i++) {
- if (DeuxièmeTableau [i] == PremierTableau [n]) {
- var chiffre = DeuxièmeTableau [i];
- resultat.push(chiffre);//on rajoute des elements au tabeau
- }
- else {
- // si les chiffres ne sont pas pareils,
- continue; // on continue avec les prochains
- }
- }
- }
- return resultat;
- };
- //Troisieme fonction
- //Cette fonction retire les chiffres en double
- //du tableau de résultat et crée un tableau avec
- //le résultat final
- var retirer = function (resultat) {
- var resultatFinal = [resultat[0]];
- var double = false;
- for(var i = 1; i < resultat.length; i++)
- {
- for(var x = 0; x < resultatFinal.length; x++)
- {
- if (resultatFinal[x] == resultat[i])
- {
- double = true;
- }
- }
- if (!double)
- {
- resultatFinal.push(resultat[i]);
- }
- double = false;
- }
- print(resultatFinal);
- return resultatFinal;
- };
- //quatrieme fonction
- var testIntersection = function () {
- assert( intersection([0, 1, 2, 3], [4, 3, 2, 1, 0]) == "0,1,2,3"); //il faut que ca soit
- //dans l'ordre
- assert( intersection([2,2,2,3], [2, 4]) == "2");//pas de doubles
- ;
- assert( transformer([15, 2, 7, 7], [12, 15, 4]) == "15"); //meme les chiffres > 10
- assert( transformer([2, 2, 3], [2,4]) == "2,2"); //il peut y avoir des doubles
- print("assert 1");
- assert( retirer([2, 2, 3]) == "2,3"); //double simple
- print("assert 2 ");
- assert( retirer([2, 3, 2, 4]) == "2,3,4"); //double pas un a cote de lautre
- print("assert 3 ");
- assert( retirer([1, 2, 3]) == "1,2,3"); //aucun double
- print("assert 4");
- assert( retirer([1, 1, 2, 2, 3, 3, 3, 2, 4, 5, 1]) == "1,2,3,4,5"); //plusieurs fois le meme chiffre
- };
- testIntersection();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement