code.js tri.js : : enregistrement initial
This commit is contained in:
parent
a2ab8bd9ea
commit
d3361281cd
301
code.js
Normal file
301
code.js
Normal file
@ -0,0 +1,301 @@
|
|||||||
|
// ------------------------------------------------------------------------
|
||||||
|
// fabriquer une chaine aléatoire
|
||||||
|
const chaine = (length) => {
|
||||||
|
let chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzàâäéèêëîïôöûüùÀÂÄÉÈÊËÎÏÔÖÛÜÙ';
|
||||||
|
let str = '';
|
||||||
|
for (let i = 0; i < length; i++) {
|
||||||
|
str += chars.charAt(Math.floor(Math.random() * chars.length));
|
||||||
|
}
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
// renvoyer une chaine
|
||||||
|
return chaine(10)
|
||||||
|
|
||||||
|
// renvoyer un tableau de chaines
|
||||||
|
for (let i = 0; i < 3 + Math.floor(Math.random() * 5); ++i) {
|
||||||
|
${lesnoms} = ${lesnoms}.concat(chaine(10));
|
||||||
|
}
|
||||||
|
return ${lesnoms}; // => lesnoms
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
// fabriquer chaîne avec nom prénom
|
||||||
|
const upper = (str) => {
|
||||||
|
return str.charAt(0).toUpperCase() + str.slice(1);
|
||||||
|
};
|
||||||
|
const chaine = (length) => {
|
||||||
|
let chars = 'aàbcdeéèfghijklmnoôpqrstuùvwxyz';
|
||||||
|
let str = '';
|
||||||
|
for (let i = 0; i < length; i++) {
|
||||||
|
str += chars.charAt(Math.floor(Math.random() * chars.length));
|
||||||
|
}
|
||||||
|
let debut = upper(str.slice(0, length/2));
|
||||||
|
let fin = upper(str.slice(length/2));
|
||||||
|
return debut + ' ' + fin;
|
||||||
|
};
|
||||||
|
for (let i = 0; i < 7 + Math.floor(Math.random() * 15); ++i) {
|
||||||
|
${lesnoms} = ${lesnoms}.concat(chaine(11 + Math.floor(Math.random() * 5)));
|
||||||
|
}
|
||||||
|
return ${lesnoms};
|
||||||
|
|
||||||
|
// fabriquer adresse courriel
|
||||||
|
const chaine = (length) => {
|
||||||
|
let chars = 'abcdefghijklmnopqrstuvwxyz0123456789';
|
||||||
|
let str = '';
|
||||||
|
for (let i = 0; i < length; i++) {
|
||||||
|
str += chars.charAt(Math.floor(Math.random() * chars.length));
|
||||||
|
}
|
||||||
|
return str;
|
||||||
|
};
|
||||||
|
return chaine(8) + "@ici.fr";
|
||||||
|
|
||||||
|
// code postal
|
||||||
|
return Math.random().toString(10).substring(2, 7);
|
||||||
|
|
||||||
|
// numéro téléphone
|
||||||
|
return '0' + Math.random().toString(10).substring(2, 11);
|
||||||
|
|
||||||
|
// supprimer espace dans numéro téléphone
|
||||||
|
return ${telephone}.replace(/\\s/g, "")
|
||||||
|
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
// Calculer date réelle à partir d'une date saisie même bizarre
|
||||||
|
// ex: 95/31/2020 => 03/10/2022
|
||||||
|
function joursMois (annee, mois) {
|
||||||
|
return new Date(annee, mois, 0).getDate();
|
||||||
|
}
|
||||||
|
function getDate(chaine) {
|
||||||
|
var ds = chaine.split('/');
|
||||||
|
var jour=ds[0];
|
||||||
|
var an = Math.floor(ds[1]/12);
|
||||||
|
var annee = Number(ds[2]) + an;
|
||||||
|
var mois = ds[1] - 12 * an;
|
||||||
|
var dm = joursMois(annee, mois);
|
||||||
|
while (jour > dm) {
|
||||||
|
jour -= dm;
|
||||||
|
++mois;
|
||||||
|
if (mois > 12) { mois = 1; ++annee; }
|
||||||
|
dm = joursMois(annee, mois);
|
||||||
|
}
|
||||||
|
if (jour < 10) { jour = '0' + jour; }
|
||||||
|
if (mois < 10) { mois = '0' + mois; }
|
||||||
|
return(jour + '/' + mois + '/' + annee);
|
||||||
|
}
|
||||||
|
return getDate(${date});
|
||||||
|
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
// rendre visibles les options de filtres de membre
|
||||||
|
var nav = document.querySelector(".dropdown");
|
||||||
|
var li = nav.querySelectorAll("li");
|
||||||
|
for (const l of li) { l.style.display="block"; }
|
||||||
|
return;
|
||||||
|
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
// vérifier la validité d'une date au format JJ/MM/AAAA
|
||||||
|
|
||||||
|
// 1. séparer une date JJ/MM/AAAA selon les /
|
||||||
|
return ${ds}.split('/') // => ts
|
||||||
|
|
||||||
|
// 2. faire une date au format MM-DD-YYYY
|
||||||
|
return ${ts}[1] + '-' + ${ts}[0] +'-' + ${ts}[2] // => dd
|
||||||
|
|
||||||
|
// 3. vérifier si on peut créer une date valide
|
||||||
|
return ! isNaN(Date.parse(${dd})) // => ok
|
||||||
|
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
// créer un tableau d'objets {numéro, catégorie}
|
||||||
|
// le trier par numéro
|
||||||
|
// renvoyer le tableau des catégories
|
||||||
|
let tab = [];
|
||||||
|
for (let i = 0; i < ${lesnumeros}.length; ++i)
|
||||||
|
{
|
||||||
|
let o = Object();
|
||||||
|
o.num=${lesnumeros}[i];
|
||||||
|
o.cat=${lescategories}[i];
|
||||||
|
tab.push(o);
|
||||||
|
}
|
||||||
|
|
||||||
|
// trier
|
||||||
|
tab.sort((a, b) => {
|
||||||
|
return a.num - b.num;
|
||||||
|
});
|
||||||
|
|
||||||
|
// catégories
|
||||||
|
let categs = [];
|
||||||
|
tab.forEach((e) => {
|
||||||
|
categs.push(e.cat);
|
||||||
|
});
|
||||||
|
return categs;
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
// renvoyer le numéro d'une catégorie donnée
|
||||||
|
// params :
|
||||||
|
// - nom d'une catégorie
|
||||||
|
// - tableau des catégories classé par numéro croissant
|
||||||
|
function getNumero(cat_name, categories) {
|
||||||
|
let i = 0;
|
||||||
|
while (i < categories.length) {
|
||||||
|
if (categories[i] == cat_name) { return i + 1; }
|
||||||
|
i += 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return getNumero(${categorie}, ${categories_num});
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
// trier les membres : voir tri.js
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// sélectionner un parent parmi les nb premiers éléments du tableau
|
||||||
|
// lesnoms
|
||||||
|
function selParent(lesnoms, lesparents, nb)
|
||||||
|
{
|
||||||
|
while(true) {
|
||||||
|
let num = Math.floor(Math.random() * nb);
|
||||||
|
if (lesparents[num].length == 0) { return lesnoms[num]; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return selParent(${lesnoms}, ${lesparents}, ${i})
|
||||||
|
|
||||||
|
// trier les membres selon le parent
|
||||||
|
// critères :
|
||||||
|
// - id_parent IS NULL
|
||||||
|
// - nom_parent
|
||||||
|
// - nom_membre
|
||||||
|
// - numero
|
||||||
|
function trierParents(tparents, tnoms, tnumeros, croissant = true)
|
||||||
|
{
|
||||||
|
let tab = [];
|
||||||
|
for (let i = 0; i < tnumeros.length; ++i) {
|
||||||
|
let o = Object();
|
||||||
|
o.numero = tnumeros[i];
|
||||||
|
o.nom = tnoms[i];
|
||||||
|
o.parent = tparents[i];
|
||||||
|
tab.push(o);
|
||||||
|
}
|
||||||
|
tab.sort((a, b) => {
|
||||||
|
if (! croissant) { [a, b] = [b, a]; }
|
||||||
|
let comp = a.parent.localeCompare(b.parent);
|
||||||
|
if (comp == 0) { comp = a.nom.localeCompare(b.nom); }
|
||||||
|
if (comp == 0) { comp = a.numero - b.numero; }
|
||||||
|
return comp;
|
||||||
|
});
|
||||||
|
/*
|
||||||
|
if (a.parent === "") {
|
||||||
|
if (b.parent === "") {
|
||||||
|
// deux parents vides => comparer les noms
|
||||||
|
return a.nom.localeCompare(b.nom);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (b.parent === "") {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// deux parents non vides => comparer les noms
|
||||||
|
let comp = a.parent.localeCompare(b.parent);
|
||||||
|
if (comp == 0) {
|
||||||
|
comp = a.nom.localeCompare(b.nom);
|
||||||
|
}
|
||||||
|
return comp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
*/
|
||||||
|
|
||||||
|
return tab;
|
||||||
|
}
|
||||||
|
let tab = trier(${lesnumeros}, ${lesnoms}, ${lesparents});
|
||||||
|
let resu = [];
|
||||||
|
tab.forEach((e) => {
|
||||||
|
resu.push(e.nom);
|
||||||
|
});
|
||||||
|
return resu;
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
// normaliser une chaîne :
|
||||||
|
// - mettre en minuscules
|
||||||
|
// - remplacer les caractères avec accent par leur équivalent sans accent
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
const accent = "àâäéèêëîïôöùûü";
|
||||||
|
const normal = "aaaeeeeiioouuu";
|
||||||
|
|
||||||
|
function normaliser (chaine) {
|
||||||
|
let resu = "";
|
||||||
|
chaine = chaine.toLocaleLowerCase();
|
||||||
|
for (let i = 0; i < chaine.length; ++i) {
|
||||||
|
let ind = accent.indexOf(chaine[i]);
|
||||||
|
if (ind == -1) {
|
||||||
|
resu += chaine[i];
|
||||||
|
} else {
|
||||||
|
resu += normal[ind];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return resu;
|
||||||
|
}
|
||||||
|
|
||||||
|
// const donnee = "Aèzfoj Rdùxiè";
|
||||||
|
// let resu = normaliser(donnee.toLocaleLowerCase());
|
||||||
|
// console.log("donnée = " + donnee + "\nresu = " + resu);
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
// compter le nb d'occurences d'un élément dans un tableau de chaines
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
function nbocc(elem, tab) {
|
||||||
|
let nb = 0;
|
||||||
|
for (const e of tab) {
|
||||||
|
if (normaliser(e).localeCompare(elem) == 0) { nb += 1; }
|
||||||
|
}
|
||||||
|
return nb;
|
||||||
|
}
|
||||||
|
//return nbocc(${nom}.toLocaleLowerCase(), ${lesnoms})
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
// renvoyer un nom au hasard d'un tableau en s'assurant qu'il n'a pas
|
||||||
|
// d'homonyme après normalisation
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
function getNom(tab) {
|
||||||
|
while (true) {
|
||||||
|
let nom = tab.at(Math.floor(Math.random() * tab.length));
|
||||||
|
let nb = nbocc(normaliser(nom), tab);
|
||||||
|
if (nb == 1) { return nom; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return getNom(${lesnoms})
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
// vérifier qu'une chaine est présente dans un nom normalisé
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
function verif(chaine, nom) {
|
||||||
|
return normaliser(nom).includes(chaine);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
// faire un tableau des « homonymes » de chaine
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
function homonymes(chaine, tab) {
|
||||||
|
let homos = []
|
||||||
|
for (const e of tab) {
|
||||||
|
if (normaliser(e).includes(chaine)) {
|
||||||
|
homos.push(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return homos;
|
||||||
|
}
|
||||||
|
|
||||||
|
// idem en renvoyant les indices
|
||||||
|
function indonymes(chaine, tab) {
|
||||||
|
let homos = [];
|
||||||
|
for (let i = 0 ; i < tab.length; ++i) {
|
||||||
|
if (normaliser(tab[i]).includes(chaine)) {
|
||||||
|
homos.push(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return homos;
|
||||||
|
}
|
230
tri.js
Normal file
230
tri.js
Normal file
@ -0,0 +1,230 @@
|
|||||||
|
// trier par nom puis par numéro
|
||||||
|
function trierNoms(tnoms, tnumeros, croissant = true)
|
||||||
|
{
|
||||||
|
let tab = [];
|
||||||
|
for (let i = 0; i < tnoms.length; ++i)
|
||||||
|
{
|
||||||
|
let o = Object();
|
||||||
|
o.nom = tnoms[i];
|
||||||
|
o.numero = tnumeros[i];
|
||||||
|
tab.push(o);
|
||||||
|
}
|
||||||
|
|
||||||
|
tab.sort((a, b) => {
|
||||||
|
if (! croissant) { [a, b] = [b, a]; }
|
||||||
|
let comp = a.nom.localeCompare(b.nom);
|
||||||
|
if (comp == 0) { comp = a.numero - b.numero; }
|
||||||
|
return comp;
|
||||||
|
});
|
||||||
|
return tab;
|
||||||
|
}
|
||||||
|
|
||||||
|
// extraire le tableau des noms d'un tableau d'objets trié
|
||||||
|
function extraireNoms(tab)
|
||||||
|
{
|
||||||
|
let noms = [];
|
||||||
|
tab.forEach((e) => {
|
||||||
|
noms.push(e.nom);
|
||||||
|
});
|
||||||
|
return noms;
|
||||||
|
}
|
||||||
|
|
||||||
|
// afficher un tableau
|
||||||
|
function afficher(msg, tab)
|
||||||
|
{
|
||||||
|
console.log("\n" + msg);
|
||||||
|
for (let i = 0; i < tab.length; ++i)
|
||||||
|
{
|
||||||
|
console.log(tab[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// trier par ville puis par numéro
|
||||||
|
// ville (dé)croissant, numéro (dé)croissant
|
||||||
|
// ville vide en fin(début), numéro (dé)croissant
|
||||||
|
function trierVilles(tvilles, tnumeros, croissant = true)
|
||||||
|
{
|
||||||
|
let tab = [];
|
||||||
|
for (let i = 0; i < tvilles.length; ++i)
|
||||||
|
{
|
||||||
|
let o = Object();
|
||||||
|
o.ville = tvilles[i];
|
||||||
|
o.numero = tnumeros[i];
|
||||||
|
tab.push(o);
|
||||||
|
}
|
||||||
|
|
||||||
|
tab.sort((a, b) => {
|
||||||
|
if (! croissant) { [a, b] = [b, a]; }
|
||||||
|
|
||||||
|
// une ville au moins vide ?
|
||||||
|
if (a.ville == "" && b.ville == "") { return a.numero - b.numero; }
|
||||||
|
if (a.ville == "") { return 1; }
|
||||||
|
if (b.ville == "") { return -1;}
|
||||||
|
|
||||||
|
// deux villes non vides
|
||||||
|
let comp = a.ville.localeCompare(b.ville);
|
||||||
|
if (comp == 0) { comp = a.numero - b.numero; }
|
||||||
|
return comp;
|
||||||
|
});
|
||||||
|
return tab;
|
||||||
|
}
|
||||||
|
|
||||||
|
// extraire le tableau des villes d'un tableau d'objets trié
|
||||||
|
function extraireVilles(tab)
|
||||||
|
{
|
||||||
|
let villes = [];
|
||||||
|
tab.forEach((e) => {
|
||||||
|
villes.push(e.ville);
|
||||||
|
});
|
||||||
|
return villes;
|
||||||
|
}
|
||||||
|
|
||||||
|
// trier les membres selon le parent
|
||||||
|
// - parent (dé)croissant, nom membre (dé)croissant, numéro (dé)croissant
|
||||||
|
// - parent vide à la fin, nom membre (dé)croissant, numéro (dé)croissant
|
||||||
|
function trierParents(tparents, tnoms, tnumeros, croissant = true)
|
||||||
|
{
|
||||||
|
let tab = [];
|
||||||
|
for (let i = 0; i < tnumeros.length; ++i) {
|
||||||
|
let o = Object();
|
||||||
|
o.numero = tnumeros[i];
|
||||||
|
o.nom = tnoms[i];
|
||||||
|
o.parent = tparents[i];
|
||||||
|
tab.push(o);
|
||||||
|
}
|
||||||
|
tab.sort((a, b) => {
|
||||||
|
ordre = croissant ? 1 : -1;
|
||||||
|
|
||||||
|
// un parent au moins est vide ?
|
||||||
|
if (a.parent == "" && b.parent == "") {
|
||||||
|
let comp = a.nom.localeCompare(b.nom);
|
||||||
|
if (comp == 0) { comp = a.numero - b.numero; }
|
||||||
|
return comp * ordre;
|
||||||
|
}
|
||||||
|
if (a.parent == "") { return 1; }
|
||||||
|
if (b.parent == "") { return -1; }
|
||||||
|
|
||||||
|
// deux parents non vides
|
||||||
|
let comp = a.parent.localeCompare(b.parent);
|
||||||
|
if (comp == 0) { comp = a.nom.localeCompare(b.nom); }
|
||||||
|
if (comp == 0) { comp = a.numero - b.numero; }
|
||||||
|
return comp * ordre;
|
||||||
|
});
|
||||||
|
|
||||||
|
return tab;
|
||||||
|
}
|
||||||
|
|
||||||
|
// trier les membres selon la colonne responsable
|
||||||
|
// - non vide au début, nom membre (dé)croissant, numéro (dé)croissant
|
||||||
|
// - vide à la fin, nom membre (dé)croissant, numéro (dé)croissant
|
||||||
|
function trierResp(tresp, tnoms, tnumeros, croissant = true)
|
||||||
|
{
|
||||||
|
let tab = [];
|
||||||
|
for (let i = 0; i < tnumeros.length; ++i) {
|
||||||
|
let o = Object();
|
||||||
|
o.numero = tnumeros[i];
|
||||||
|
o.nom = tnoms[i];
|
||||||
|
o.resp = tresp[i];
|
||||||
|
tab.push(o);
|
||||||
|
}
|
||||||
|
tab.sort((a, b) => {
|
||||||
|
ordre = croissant ? 1 : -1;
|
||||||
|
|
||||||
|
// un resp au moins est vide ?
|
||||||
|
if (a.resp == "" && b.resp == "") {
|
||||||
|
let comp = a.nom.localeCompare(b.nom);
|
||||||
|
if (comp == 0) { comp = a.numero - b.numero; }
|
||||||
|
return comp * ordre;
|
||||||
|
}
|
||||||
|
if (a.resp == "") { return 1; }
|
||||||
|
if (b.resp == "") { return -1; }
|
||||||
|
|
||||||
|
// deux resp non vides
|
||||||
|
let comp = a.resp.localeCompare(b.resp);
|
||||||
|
if (comp == 0) { comp = a.nom.localeCompare(b.nom); }
|
||||||
|
if (comp == 0) { comp = a.numero - b.numero; }
|
||||||
|
return comp * ordre;
|
||||||
|
});
|
||||||
|
|
||||||
|
return tab;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
// les données et les tests
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
|
||||||
|
const tnumeros = [
|
||||||
|
1, 2, 3, 4, 5, 6, 7, 8, 9, 110,
|
||||||
|
111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
|
||||||
|
121, 122, 123
|
||||||
|
];
|
||||||
|
|
||||||
|
const tnoms = [
|
||||||
|
"Lambert Paul", "Sjqeaz Njguqô", "Gfjkms Ôfyike", "Xnunèp Tmhàxz", "Xhràèk Ùmunyv",
|
||||||
|
"Jgévxù Wohyrv", "Mèkixt Ùyimtd", "Zhamberlain Luuc", "Ézhaée Ùùpwab", "Éàkhhô Psyauà",
|
||||||
|
"Lambert Paul", "Zphjéà Irôezqé", "Mpùuky Blégmmz", "Htôtkl Sxgtrô", "Kcfyè Nsvmvq",
|
||||||
|
"Hdzcpèn Rddpdafx", "Èàrgkx Idèpoù", "Rhocry Dlùvwpq", "Ziùcwe Hpqltrs", "Brkcàg Nigcyi",
|
||||||
|
"Jtinjôù Wmwiônj", "Cylsx Nzoèwl", "Éxiqnh Fcbwizà"
|
||||||
|
];
|
||||||
|
|
||||||
|
const tvilles = [
|
||||||
|
"", "Erawvcyfézgrfoi", "Jbqmqeyemdbstcf", "Ùhkfwuvgpcuèùqa", "Yécewxefmepôàeé",
|
||||||
|
"La Havane", "Fyàwxsbedwanxqt", "", "Sipkàoféuslgiiu", "Psôhègébulaùdzm",
|
||||||
|
"Pioùôutôeyytùlà", "", "", "", "",
|
||||||
|
"", "", "", "La Havane", "", "", "La Havane", ""
|
||||||
|
];
|
||||||
|
|
||||||
|
const parents = [
|
||||||
|
"", "", "", "", "",
|
||||||
|
"", "Jgévxù Wohyrv", "", "Zhamberlain Luuc", "",
|
||||||
|
"", "", "", "Xhràèk Ùmunyv", "Xnunèp Tmhàxz",
|
||||||
|
"", "Jgévxù Wohyrv", "", "Zhamberlain Luuc", "Gfjkms Ôfyike",
|
||||||
|
"Sjqeaz Njguqô", "Jgévxù Wohyrv", "Sjqeaz Njguqô"
|
||||||
|
];
|
||||||
|
|
||||||
|
const tresp = [
|
||||||
|
"", "Oui", "Oui", "Oui", "Oui",
|
||||||
|
"Oui", "", "Oui", "", "",
|
||||||
|
"", "", "", "", "",
|
||||||
|
"", "", "", "", "",
|
||||||
|
"", "", ""
|
||||||
|
];
|
||||||
|
|
||||||
|
// console.log("p.l = " + parents.length + ", nom.l = " + tnoms.length + ", num.l = " + tnumeros.length + ", r.l = " + resp.length);
|
||||||
|
|
||||||
|
// trier par nom croissant puis décroissant
|
||||||
|
let tab_noms = trierNoms(tnoms, tnumeros);
|
||||||
|
afficher("Tri par nom croissant :", tab_noms);
|
||||||
|
// let tnoms_trie = extraireNoms(tab_noms);
|
||||||
|
// afficher("Tableau de noms trié en ordre croissant", tnoms_trie);
|
||||||
|
|
||||||
|
tab_noms = trierNoms(tnoms, tnumeros, false);
|
||||||
|
afficher("Tri par nom décroissant :", tab_noms);
|
||||||
|
// tnoms_trie = extraireNoms(tab_noms);
|
||||||
|
// afficher("Tableau de noms trié en ordre décroissant", tnoms_trie);
|
||||||
|
|
||||||
|
// trier par ville croissante puis décroissante
|
||||||
|
let tab_villes = trierVilles(tvilles, tnumeros);
|
||||||
|
afficher("Tri par ville croissant :", tab_villes);
|
||||||
|
// let tvilles_trie = extraireVilles(tab_villes);
|
||||||
|
// afficher("Tableau de villes trié en ordre croissant", tvilles_trie);
|
||||||
|
|
||||||
|
tab_villes = trierVilles(tvilles, tnumeros, false);
|
||||||
|
afficher("Tri par ville décroissant :", tab_villes);
|
||||||
|
// tvilles_trie = extraireVilles(tab_villes);
|
||||||
|
// afficher("Tableau de villes trié en ordre décroissant", tvilles_trie);
|
||||||
|
|
||||||
|
// trier par parent croissant
|
||||||
|
let tab_parents = trierParents(parents, tnoms, tnumeros);
|
||||||
|
afficher("Tri par parent croissant :", tab_parents);
|
||||||
|
|
||||||
|
tab_parents = trierParents(parents, tnoms, tnumeros, false);
|
||||||
|
afficher("Tri par parent décroissant :", tab_parents);
|
||||||
|
|
||||||
|
// trier par resp croissant
|
||||||
|
let tab_resp = trierResp(tresp, tnoms, tnumeros);
|
||||||
|
afficher("Tri par resp croissant :", tab_resp);
|
||||||
|
|
||||||
|
tab_resp = trierResp(tresp, tnoms, tnumeros, false);
|
||||||
|
afficher("Tri par resp décroissant :", tab_resp);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user