Pour commencer:
int sparky[14];
vous donnera un tableau de 14 éléments sparky[0..13]
, pas 15 éléments que vous semblez penser .
Deuxièmement, votre boucle interne n'est pas tout à fait correcte. Bien à vous à partir de l'index 1 et passer par à l'index 15 alors, parce tableau C sont basés sur zéro, vous devez être à vélo de 0 jusqu'à 14.
Vous pouvez corriger cela en modifiant la condition de la boucle à while (counter < howmany)
et en déplaçant le counter++
juste avant la fin de la boucle interne.
Juste pour préciser ce point, vous faites réellement commencer la boucle à 0 mais, parce que la première chose que vous faites dans la boucle est counter++
avant d'utiliser sparky[counter]
, vous traitez les éléments à partir de l'index 1. Et, dans la dernière exécution de la boucle, où counter == howmany
(14 selon vos autres commentaires ici), vous l'incrémentez à 15 et utilisez cela, ce qui est au-delà de la fin du tableau.
Et, juste pour préciser que des éclaircissements :-), votre boucle est correcte si vous avez howmany réglé sur 14 (soit un inférieur au nombre d'éléments du tableau) puisque, comme vous le soulignez dans un commentaire ailleurs , vous chargez l'élément zéro avant d'entrer dans la boucle interne. Je pense que vous devez toujours définir high
chaque fois que vous définissez holder
cependant. Si ce n'est pas fait, je reçois deux 6 et deux 2 dans ma liste et pas 3 ou 4.
En guise de remarque secondaire à votre commentaire que howmany
est mis à 14, je suggère que les noms de variables doivent faire écho à leur intention. Vous avez clairement 15 éléments dans le tableau (index 0 à 14 inclus). Ne prenez pas cela comme une critique, j'essaie juste de vous aider.
En troisième lieu, (enfin, je crois), vous n'êtes pas mise high
chaque fois que vous configurez holder
- ceux-ci devraient être en synchronisation pour votre algorithme fonctionne correctement.
S'il vous plaît laissez-nous savoir si ce sont les devoirs. Sinon, je posterai ma solution.Si oui, vous devriez travailler à partir des directives données dans cette réponse et d'autres réponses. Vous devez être conscient que, si ce sont les devoirs et que vous utilisez une solution postée sur un forum public sur Internet (comme celui-ci), vous aurez probablement échoué pour le plagiat. Ne faites pas l'erreur de penser que vos éducateurs ne vérifient pas ce genre de choses.
En bout de ligne, même si je suis heureux d'afficher ma solution, vous ne devriez probablement pas l'utiliser comme un travail de classe. Les meilleures notes pour au moins donner un coup de feu en premier. La plupart des demandeurs d'devoirs semblent venir ici avec rien de plus que les spécifications :-)
Mise à jour: Depuis que vous avez publié ce qui suit:
Désolé pour ne citer que cela fait partie d'un projet de crédit supplémentaire pour un classe.
Je suppose que c'est du travail en classe. Donc, pas de soupe pour vous :-) Pourtant, les trois points ci-dessus devraient suffire pour vous de le réparer. Si vous avez des questions spécifiques à leur sujet, n'hésitez pas à demander dans un commentaire joint à cette réponse.
Bonne chance.
pouvons-nous supposer que 'howmany' est mis à' 14'? –
Apprenez à utiliser un retrait légèrement plus emphatique (suggérez 4 espaces par niveau) et utilisez-le de façon systématique. Votre code n'est pas entièrement indenté, ce qui le rend difficile à lire. –