J'écris une fonction en C ++ qui prend un tableau de vecteur en tant que paramètre puis trouve le nombre d'occurrences de la plus grande valeur.
J'ai écrit la fonction anniversaireCakecandles et la fonction principale comme ci-dessous. Veuillez consulter le code et me suggérer la raison (s) de l'erreur.
Le compilateur me donne une erreur de segmentation.
Merci. P> p>
3 Réponses :
donné le code Vous pouvez initialiser ou utilisez a code> est vide; Accès aux éléments inexistants tels que
A [i] code> conduit à UB, tout est possible. p>
A code> contenant
n code > éléments du début. p>
push_back code> pour insérer des éléments dans
a code>. p>
size_t n;
cin>>n;
vector<int> a;
for(size_t i=0;i<n;++i) {
int x;
cin>>x;
a.push_back(x);
}
ub i> -> comportement non défini - le plus peur de chaque programmeur C ++. ;-)
Lorsque vous utilisez le vecteur, nous devons ajouter des éléments à l'aide de Notez également que.end () est en fait le push_back code> ou
emplace_back code>. Afin de traverser le vecteur, utilisez des itérateurs de vecteur pour une sécurité d'exception en raison de l'accès à l'écart.
last_element + 1 code> p> p> p>
vecteur
pour (double i = 0; i
CIN >> A [I]; code>
Ce n'est pas le moyen d'entrer dans l'utilisation de vecteur A.Push_back (i); au lieu;
et utilisez Auto pour traverser jusqu'à A.begin () jusqu'à A.end () P>
CIN >> A [I]; code> n'est pas la façon dont vous remplissez un
vecteur code>. Vous avez besoin d'une variable temporaire et de
push_back code>. Soit cela ou remplissez d'abord le vecteur avec des valeurs par défaut, puis vous pouvez écraser ces valeurs
Vous pouvez également initialiser le vecteur A code> à la taille complète prévue:
vecteur a (n); code>.
@Unholysheep pouvez-vous s'il vous plaît donner la solution à l'aide de cette façon?
@Scheff veuillez aider avec la solution
Les deux solutions sont données dans la réponse ci-dessous. ;-)