Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengelakkan Ralat Di Luar Julat Subskrip Semasa Mencipta Matriks 2D Menggunakan Vektor Vektor?

Bagaimana untuk Mengelakkan Ralat Di Luar Julat Subskrip Semasa Mencipta Matriks 2D Menggunakan Vektor Vektor?

Susan Sarandon
Susan Sarandonasal
2024-10-29 19:10:03431semak imbas

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

Vektor Vektor untuk Penciptaan Matriks: Mengatasi Ralat Di Luar Julat Subskrip

Apabila cuba mencipta matriks 2D menggunakan vektor vektor, ia adalah penting untuk memulakan struktur data dengan betul untuk mengelakkan ralat subskrip di luar julat. Isu ini berlaku apabila cuba mengakses elemen vektor tanpa memperuntukkan memori yang diperlukan terlebih dahulu.

Menyelesaikan Isu

Untuk menyelesaikan isu ini, anda mesti memulakan vektor bagi vektor kepada saiz yang sesuai sebelum mengakses sebarang elemen. Ini boleh dicapai menggunakan kod berikut:

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

Kod ini mencipta vektor bersaiz RR yang dimulakan dengan vektor CC, setiap satu diisi dengan 0. Kini, anda boleh mengakses elemen dalam vektor matriks dengan selamat menggunakan yang berikut sintaks:

<code class="cpp">matrix[i][j] = user_input;</code>

Contoh Penggunaan

Pertimbangkan contoh kod yang anda berikan:

<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>

Dengan memulakan matriks menggunakan kaedah yang diterangkan di atas, anda kini boleh mengisi matriks dengan selamat dengan input pengguna menggunakan gelung. Ralat di luar julat subskrip tidak akan berlaku lagi kerana anda telah memperuntukkan memori yang diperlukan untuk matriks.

Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan Ralat Di Luar Julat Subskrip Semasa Mencipta Matriks 2D Menggunakan Vektor Vektor?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn