Séparer un tableau en 5 tableaux différents en fonction d’un argument

J’écris donc un programme où je dois générer 100 notes aléatoires, puis les classer en fonction de leur valeur. 100-90 dans l’un, 89 à 70 dans un autre; 69-50; 49-20; 19 à 0.

for(int i = 0; i < 100; i++){ grades[i] = rand() % 100 + 1; } 

J’ai créé une boucle qui stocke des nombres générés aléatoirement dans un tableau donné, grades [100], et je souhaite les catégoriser dans cinq tableaux supplémentaires en fonction des informations données ci-dessus. J’ai essayé de créer une autre boucle avec cinq autres boucles nestedes définies avec une condition if, pour les grades, et utilisé une taille de – 1 le tableau à stocker si, mais je me suis rendu compte qu’il y avait eu un bug parce que j’étais obligé de définir les tableaux dans lesquels je le stockais. Par conséquent, faire sizeof arrayEX [100] renverrait toujours 100 et j’enregistrais continuellement la valeur dans le même index (99).

Comment puis-je séparer et stocker correctement un tableau dans un autre tableau, d’autant plus que je ne peux pas définir le tableau car je ne sais pas combien de valeurs y entreront?

Pourquoi ne pas utiliser STL? Par exemple, std::vector ferait un excellent travail contre ceci:

 for(int i = 0; i < 100; i++){ grades[i] = rand() % 100 + 1; } std::vector gradeA, gradeB, gradeC, gradeD, gradeE; for(int i = 0; i < 100; i++){ if (grades[i]>=90) gradeA.push_back(grades[i]); else if (grades[i]>=70) gradeB.push_back(grades[i]); else if (grades[i]>=50) gradeC.push_back(grades[i]); else if (grades[i]>=20) gradeD.push_back(grades[i]); else gradeE.push_back(grades[i]); } 

Utilisez un std::vector

 std::vector> gradeBuckets(5); for(int i = 0; i < 100; i++){ int grade = rand() % 100 + 1; if (grade < 20) { gradeBuckets[0].push_back(grade); } else if(grade < 50) { gradeBuckets[1].push_back(grade); } else if ...