π
<-

Algorithme de tri en C

Discussions scientifiques et scolaires

Algorithme de tri en C

Unread postby MMBC » 17 Oct 2017, 15:54

Bonjour et bienvenue dans ce mini concours.


C'est très simple : vous avez un tableau de float, de taille t. Vous devez écrire en C un programme qui trie le tableau dans l'ordre décroissant.
Plus votre programme sera rapide, mieux vous serez classé ;)
Pour participer, il suffit simplement de m'envoyer le code source par message privé avec pour objet "algo tri".
Vous devez aussi préciser qui vous a aidé (si quelqu'un vous a aidé).
Je testerai vos programmes moi même.

A vos claviers, prêts ? Codez !
ImageImage
Image
User avatar
MMBCModo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 66.7%
 
Posts: 107
Images: 1
Joined: 16 May 2017, 19:20
Gender: Female
Calculator(s):
MyCalcs profile
Class: Ex prof
YouTube: Eyone
Facebook: Emma Cadet

Re: Algorithme de tri en C

Unread postby Adriweb » 17 Oct 2017, 19:36

envoyé en mp :P

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 79.2%
 
Posts: 14778
Images: 1123
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: Algorithme de tri en C

Unread postby Lionel Debroux » 17 Oct 2017, 20:13

Deux questions qui peuvent être utiles à ceux qui veulent participer, et des remarques:
  • A quel dialecte de C et quelles contraintes de portabilité le code source doit-il se conformer ? Par exemple, si un vilain ou une vilaine s'amuse à écrire du C11 en utilisant des builtins GCC / Clang pour optimiser, ça peut être du C, sans convenir à ton environnement de test :)
  • jusqu'à quel ordre de grandeur prévois-tu de monter la valeur du nombre d'éléments t ? 2^30 (~10^9) floats sont triables en mémoire sur la plupart des PCs x86_64 récents, mais 2^32 floats = 16 GB sur la plupart des architectures sont déjà beaucoup moins accessibles. Et les algorithmes les plus efficaces pour pouvoir trier 2^30 éléments ne sont pas les mêmes que pour trier 2^7 éléments, ou pour trier 2^34 éléments sur un ordinateur qui ne dispose pas de tant de RAM.

Une fois que les algos (puisqu'il faut probablement une fonction de tri efficace sur une large gamme de tailles) sont choisis, c'est la qualité de l'implémentation, et dans une moindre mesure le niveau d'optimisation lors de la génération de code, qui feront la différence.
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.3%
 
Posts: 6865
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Re: Algorithme de tri en C

Unread postby clifward » 17 Oct 2017, 22:33

Et sinon, tu serais pas en train de faire les problèmes de prologin en ce moment ? :troll:
Image
User avatar
clifwardMembre UPECS
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 26.4%
 
Posts: 593
Images: 6
Joined: 20 Sep 2015, 17:50
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: CentraleSupelec

Re: Algorithme de tri en C

Unread postby MMBC » 18 Oct 2017, 07:33

Lionel Debroux wrote:Deux questions qui peuvent être utiles à ceux qui veulent participer, et des remarques:
  • A quel dialecte de C et quelles contraintes de portabilité le code source doit-il se conformer ? Par exemple, si un vilain ou une vilaine s'amuse à écrire du C11 en utilisant des builtins GCC / Clang pour optimiser, ça peut être du C, sans convenir à ton environnement de test :)
  • jusqu'à quel ordre de grandeur prévois-tu de monter la valeur du nombre d'éléments t ? 2^30 (~10^9) floats sont triables en mémoire sur la plupart des PCs x86_64 récents, mais 2^32 floats = 16 GB sur la plupart des architectures sont déjà beaucoup moins accessibles. Et les algorithmes les plus efficaces pour pouvoir trier 2^30 éléments ne sont pas les mêmes que pour trier 2^7 éléments, ou pour trier 2^34 éléments sur un ordinateur qui ne dispose pas de tant de RAM.

Une fois que les algos (puisqu'il faut probablement une fonction de tri efficace sur une large gamme de tailles) sont choisis, c'est la qualité de l'implémentation, et dans une moindre mesure le niveau d'optimisation lors de la génération de code, qui feront la différence.


Que ce soit du C11 ou de l'ANSI, aucun problème, et je compile avec mingw-gcc (j'ai que ça sous la main).
Pour le nombre de valeurs, je ne dépasserai surement jamais la dizaine de millions.

Clifward wrote:Et sinon, tu serais pas en train de faire les problèmes de prologin en ce moment ? :troll:

Absolument rien à voir :P
ImageImage
Image
User avatar
MMBCModo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 66.7%
 
Posts: 107
Images: 1
Joined: 16 May 2017, 19:20
Gender: Female
Calculator(s):
MyCalcs profile
Class: Ex prof
YouTube: Eyone
Facebook: Emma Cadet

Re: Algorithme de tri en C

Unread postby Adriweb » 18 Oct 2017, 12:31

Pour information, ma participation n'est probablement pas la plus rapide, mais est plutôt un troll, vous verrez pourquoi :troll:

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 79.2%
 
Posts: 14778
Images: 1123
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: Algorithme de tri en C

Unread postby MMBC » 18 Oct 2017, 13:17

C'est du C89, C99 ou C11 ?
ImageImage
Image
User avatar
MMBCModo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 66.7%
 
Posts: 107
Images: 1
Joined: 16 May 2017, 19:20
Gender: Female
Calculator(s):
MyCalcs profile
Class: Ex prof
YouTube: Eyone
Facebook: Emma Cadet

Re: Algorithme de tri en C

Unread postby clifward » 18 Oct 2017, 18:45

On peut voir le code, pour comprendre le troll ? :P
Image
User avatar
clifwardMembre UPECS
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 26.4%
 
Posts: 593
Images: 6
Joined: 20 Sep 2015, 17:50
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: CentraleSupelec

Re: Algorithme de tri en C

Unread postby Lionel Debroux » 18 Oct 2017, 18:54

Disons qu'il n'est pas allé chercher très loin la fonction de tri, et que si quelqu'un fait quelque chose de moins rapide, il lui est impossible de gagner :)
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.3%
 
Posts: 6865
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Re: Algorithme de tri en C

Unread postby chadok » 20 Oct 2017, 21:31

Ce site est sympa, il permet de visualiser les performances des différents algorithmes, en cliquant sur "Lancer les tris" :
http://lwh.free.fr/pages/algo/tri/tri.htm
Et en prime, le code de chaque méthode est donné :bj:
User avatar
chadok
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 34.4%
 
Posts: 89
Joined: 10 Nov 2013, 16:03
Location: Bretagne
Gender: Male
Calculator(s):
MyCalcs profile

Next

Return to Maths, physique, informatique et autre...

Who is online

Users browsing this forum: ClaudeBot [spider] and 2 guests

-
Search
-
Social TI-Planet
-
Featured topics
Grand Concours 2024-2025 - Programmation Python
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1142 utilisateurs:
>1110 invités
>25 membres
>7 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)