Bonjour,
je ne sais pas ce que vous essayer d'implémenter, mais:
1.
float freq[1000],nbr[1000];
c'est le mal. Préférer:
1 2
| std::vector<double> frequencies;
std::vector<double> numbers; |
i. Préférer les conteneurs de la stl plutôt que des "c-style" array
ii. Si le nombre d'éléments que l'on va insérer dans ces tableaux est connu, utiliser la fonction membre reserve() de la classe vector.
iii. Préférer l'utilisation des doubles sur les float (gotw #67).
iv. utiliser des noms de variables explicites
v. une chose par ligne (même les déclarations de variables).
2. Cette ligne de code est une abomination.
i. elle ne peut pas fonctionner: le tableau nbr est un tableau de flottant! Vous essayez d'accéder à un élément du tableau avec un indice qui est un flottant là!
ii. cette ligne fais plusieurs choses à la fois, avec des effets de bords que vous ne maîtrisez certainement pas. Préférer quelque chose comme ça:
1 2 3
| int index = (int) number[pos];
double my_number = numbers[index];
++pos; |
Le code que j'ai écris là n'a aucun sens (je ne sais pas ce que vous voulez faire), mais c'est pour montrer qu'il ne faut faire qu'une seule chose par ligne, c'est une des règles primordiales du développement logiciel.
Partager