Tri à bulle (langage C)

Fermé
kevin1312 Messages postés 4 Date d'inscription vendredi 25 mars 2011 Statut Membre Dernière intervention 25 mars 2011 - 25 mars 2011 à 16:42
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 25 mars 2011 à 22:17
Bonjour,

J'ai un exercice en langage C et je n'y comprend absolument rien. J'espère que vous pourrez m'aidez.

// Les fonctions generique //
// //
// Fonctions ou procedures pour initialiser et pour //
// afficher les contenus d'un tableau des valeurs //
// reel. Faire comme pour les tableaux d'entiers //
// //
//////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////
// //
// Tri par insertion //
// ================= //
// //
// procedure triInsertion(array[] : réél, size : entier) //
// variables //
// i, j : entier //
// temp : reel //
// debut //
// pour i variant de 1 a (size - 1) faire //
// temp <-- array[i] //
// j <-- i - 1 //
// tant que (temp < array[j] et j >= 0) faire //
// array[j + 1] <-- array[j] //
// j <-- j - 1 //
// fin tant que //
// array[j + 1] <-- temp //
// fin pour //
//fin //
// //
//////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////
// //
// Tri par tas //
// =========== //
// //
// /*La fonction permute est la même que pour la tri à //
// bulles, sauf qu'ici on utilise les valeurs réels //
// */ //
// //
// procedure tamiser(array[] : reel , root, bottom : entier)//
// variables //
// done : booleen //
// maxChild : entier //
// temp : reel //
// debut //
// done <-- faux //
// tant que (root * 2 <= bottom et non done) faire //
// si(root * 2 == bottom) alors //
// maxChild <-- root * 2 //
// sinon //
// si(array[root] < array[maxChild]) alors //
// maxChild <-- root * 2 //
// sinon //
// maxChild <-- root * 2 + 1 //
// fin si //
// fin si //
// si(array[root] < array[maxChild]) alors //
// permute(array, root, maxChild) //
// root <-- maxChild //
// sinon //
// done <-- vrai //
// fin si //
// fin tant que //
// fin //
// //
// procedure triTas (array[] : reel, size : entier) //
// varaibles //
// i : entier //
// temp : reel //
// debut //
// pour i variant de size / 2 à 0 faire //
// tamiser(array, i, size - 1) //
// fin pour //
// pour i variant de size - 1 à 1 faire //
// permute(array, 0, i) //
// tamiser(array, 0, i-1) //
// fin pour //
// fin //
// //
//////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////
// //
// Tri shell //
// ========= //
// //
// /* La fonction arrondi() est dans la bibliotheque math.h //
// Il s'appelle round() //
// */ //
// //
// procedure triShell(array[] : reel, size : entier) //
// variables //
// i,j : entier //
// temp : reel //
// inc : entier //
// debut //
// inc = arrondi(size / 2) //
// tant que (inc > 0 ) faire //
// pour i variant de inc à size - 1 faire //
// temp <-- array[i] //
// j <-- i //
// tant que(j >= inc et array[j - inc] > temp) faire //
// array[j] <-- array[j - inc] //
// j <-- j -inc //
// fin tant que //
// array [j] <-- temp //
// fin pour //
// inc = arroindi(inc / 2.2) //
// fin tant que //
// fin //
// //
//////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////
// //
// Fonction main() //
// //
// Créer une fonction main, qui permet de créer un tableau //
// de 15 valeurs réels, le remplir avec la bonne fonction, //
// et afficher les contenus. //
// Puis utiliser un de vos tris pour le trier et l'afficher //
// encore. //
// Repeter les etapes ci-dessus en utilisant votre 2eme tri. //
// //

Merci de votre compréhension.

6 réponses

Ronieee Messages postés 70 Date d'inscription jeudi 30 juillet 2009 Statut Membre Dernière intervention 6 février 2013 38
25 mars 2011 à 17:19
Je ne sais pas en quel langage c'est, mais faut que tu te dises que desfois, il est plus facile d'écrire un code solo plutot d'adapter le code des autres.

A ce que je pourrais comprendre de ce code, c'est assez moche :s...

Soit, tu trouve d'autres codes sur le net, ca devrait pas etre dur a faire.
Sinon, ce que je te conseille, c'est de te lancer par toi-même, c'est largement faisable une fois dedans.
2
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
25 mars 2011 à 22:17
Ca parait une bonne idée, mais si c'est un exercice, je doute que son prof soit content si tu refais tout à partir de zéro.
0