Maison > développement back-end > C++ > Comment éviter les erreurs d'indice hors de portée lors de la création d'une matrice 2D à l'aide de vecteurs de vecteurs ?

Comment éviter les erreurs d'indice hors de portée lors de la création d'une matrice 2D à l'aide de vecteurs de vecteurs ?

Susan Sarandon
Libérer: 2024-10-29 19:10:03
original
542 Les gens l'ont consulté

How to Avoid Subscript Out of Range Errors When Creating a 2D Matrix Using Vectors of Vectors?

Vecteur de vecteurs pour la création de matrice : surmonter les erreurs d'indice hors de portée

Lorsque vous essayez de créer une matrice 2D à l'aide de vecteurs de vecteurs, il est Il est crucial d'initialiser correctement la structure de données pour éviter les erreurs d'indice hors de portée. Ce problème se produit lorsque vous essayez d'accéder aux éléments d'un vecteur sans allouer au préalable la mémoire nécessaire.

Résolution du problème

Pour résoudre ce problème, vous devez initialiser le vecteur de vecteurs à la taille appropriée avant d’accéder à des éléments. Ceci peut être réalisé en utilisant le code suivant :

<code class="cpp">vector<vector<int>> matrix(RR, vector<int>(CC));</code>
Copier après la connexion

Ce code crée un vecteur de taille RR initialisé avec des vecteurs CC, chacun rempli de 0. Vous pouvez désormais accéder en toute sécurité aux éléments du vecteur matriciel en utilisant ce qui suit syntaxe :

<code class="cpp">matrix[i][j] = user_input;</code>
Copier après la connexion

Exemple d'utilisation

Considérez l'exemple de code que vous avez fourni :

<code class="cpp">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>
Copier après la connexion

En initialisant la matrice à l'aide de la méthode décrite ci-dessus, vous pouvez maintenant remplir la matrice en toute sécurité avec les entrées de l'utilisateur à l'aide de la boucle. L'erreur d'indice hors plage ne se produira plus car vous avez alloué la mémoire nécessaire pour la matrice.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal