Maison >développement back-end >C++ >Pourquoi est-ce que je reçois une erreur « indice hors plage » lors de la lecture de l'entrée de l'utilisateur dans un vecteur de vecteurs représentant une matrice 2D ?
Question :
Lors de l'utilisation de vecteurs pour représenter une matrice 2D, une erreur se produit lorsque vous essayez de lire l'entrée de l'utilisateur et de l'ajouter à la matrice. Le code ci-dessous déclenche une erreur « indice hors plage ».
<code class="cpp">vector<vector<int>> matrix; for (int i = 0; i < RR; i++) { for (int j = 0; j < CC; j++) { cout << "Enter the number for Matrix 1"; cin >> matrix[i][j]; } }</code>
Réponse :
L'erreur se produit car le vecteur des vecteurs n'a pas été initialisé avec les paramètres appropriés. tailles avant d’accéder à ses éléments. Pour résoudre ce problème, initialisez la matrice comme suit :
<code class="cpp">vector<vector<int>> matrix(RR, vector<int>(CC));</code>
Ce code crée une matrice de lignes RR et de colonnes CC, où chaque cellule est initialisée à 0. Désormais, le code peut accéder et manipuler la matrice sans rencontrer l'erreur « indice hors de portée ».
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!