Maison  >  Article  >  développement back-end  >  Comment puis-je éviter les erreurs d'indice hors plage lors de l'utilisation d'un vecteur de vecteurs pour représenter une matrice ?

Comment puis-je éviter les erreurs d'indice hors plage lors de l'utilisation d'un vecteur de vecteurs pour représenter une matrice ?

DDD
DDDoriginal
2024-11-02 06:50:03127parcourir

How can I avoid subscript out-of-range errors when using a vector of vectors to represent a matrix?

Vecteur de vecteurs pour la construction et la manipulation de matrices

Dans le contexte de la représentation d'une matrice 2D, une approche consiste à utiliser un vecteur de vecteurs , où chaque vecteur interne représente une ligne de la matrice. Cependant, lorsque vous tentez de lire les entrées de l'utilisateur et de remplir cette représentation, vous pouvez rencontrer des erreurs d'indice hors plage. Pour résoudre ce problème, nous devons initialiser correctement le vecteur des vecteurs avant d'accéder à ses éléments.

La clé d'une initialisation réussie réside dans la définition des dimensions correctes pour la matrice. Dans l'extrait de code fourni, vous avez défini RR et CC pour représenter respectivement le nombre de lignes et de colonnes. Sur la base de ces dimensions, vous devez initialiser la matrice avec la taille appropriée en utilisant la déclaration suivante :

<code class="cpp">vector<vector<int>> matrix(RR, vector<int>(CC));</code>

Ce faisant, vous créez une matrice vectorielle de taille RR, où chaque élément de la matrice est un vecteur de taille CC. Essentiellement, vous créez une représentation 2D avec les dimensions spécifiées par l'utilisateur et initialisez chaque élément à 0.

Avec cette initialisation, vous pouvez procéder au remplissage de la matrice en accédant aux éléments via matrice[i][j], où i représente l'index de ligne et j représente l'index de colonne. Cela vous permettra de lire les entrées de l'utilisateur et de les stocker efficacement dans la représentation matricielle 2D.

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