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 ?

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 ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-03 01:21:021066parcourir

Why am I getting a

Vecteur de vecteurs pour la représentation matricielle

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn