Idée de concours : Optimisation de code

Les fêtes sont passées, et pas de suite...
Alors je vous propose un sujet :

Comment extraire des nombres d'un tableau de caractères ?
Supposons un tableau de caractères contenant des nombres perdus à l'intérieur, aussi bien des entiers que des décimaux, positifs ou négatifs, en nombre quelconque. Construire une fonction qui extrait ces nombres et les mets dans deux tableaux (int et float).

Exemple : la fonction extractNumbers renseigne les tableaux (variables globales) entiers et decimaux (taille limitée à 10 ici mais ce n'est peut-être pas nécessaire). Elle sauve le nombre d'entiers et de décimaux trouvés dans les variables nbEntiers et nbDecimaux.

char message[] = "abc123def-456gh1.2345!*_()-9.8765yz";
int entiers [10] = {0};
floats decimaux[10] = {0};
byte nbEntiers;
byte nbDecimaux;
extractNumbers (message, strlen(message));

Qui veut s'y lancer ? L'objectif serait de respecter certains critères :

  • Fonction facile à comprendre
  • Fonction pas trop longue
  • Programmation "élégante" (je vous laisse décider de ce que ça veut dire)