Penggunaan tatasusunan atau matriks 2 dimensi amat berfaedah untuk beberapa aplikasi. Baris dan lajur matriks digunakan untuk memegang nombor Kita boleh mentakrifkan 2D Tatasusunan berbilang dimensi digunakan untuk mewakili matriks dalam C++. Dalam artikel ini kita akan melihat bagaimana untuk melaksanakan gunakan C++ untuk mengira hasil tambah pepenjuru bagi matriks segi empat sama.
Matriks mempunyai dua pepenjuru, pepenjuru utama dan pepenjuru sekunder (kadangkala dirujuk sebagai pepenjuru major dan minor). sudut (indeks [0, 0]) ke sudut kanan bawah (indeks [n-1, n-1]) dengan n ialah susunan Matriks segi empat sama. Diagonal utama bermula dari sudut kanan atas (indeks [n-1, 0]) dan berakhir di sudut kiri bawah sudut (indeks [0, n-1] Mari kita lihat algoritma untuk mencari jumlah elemen bersama-sama dengan dua pepenjuru ini.
Terjemahan bahasa Cina bagi$$mulakan{bmatrix} 8&5&3baris baharu 6 & 7& 1baris baharu 2 & 4 & 9 tamat{bmatrix},$$
Sum of all elements in major diagonal: (8 + 7 + 9) = 24 Sum of all elements in minor diagonal: (3 + 7 + 2) = 12
Dalam contoh sebelumnya, satu matriks 3 x 3 telah digunakan secara individu dan dikira jumlahnya Mari kita lihat algoritma dan pelaksanaan untuk jelas pandangan.
#include <iostream> #include <cmath> #define N 7 using namespace std; float solve( int M[ N ][ N ] ){ int sum_major = 0; int sum_minor = 0; for ( int i = 0; i < N; i++ ) { for ( int j = 0; j < N; j++ ) { if( i == j ) { sum_major = sum_major + M[ i ][ j ]; } if( (i + j) == N - 1) { sum_minor = sum_minor + M[ i ][ j ]; } } } cout << "The sum of major diagonal: " << sum_major << endl; cout << "The sum of minor diagonal: " << sum_minor << endl; } int main(){ int mat1[ N ][ N ] = { {5, 8, 74, 21, 69, 78, 25}, {48, 2, 98, 6, 63, 52, 3}, {85, 12, 10, 6, 9, 47, 21}, {6, 12, 18, 32, 5, 10, 32}, {8, 45, 74, 69, 1, 14, 56}, {7, 69, 17, 25, 89, 23, 47}, {98, 23, 15, 20, 63, 21, 56}, }; cout << "For the first matrix: " << endl; solve( mat1 ); int mat2[ N ][ N ] = { {6, 8, 35, 21, 87, 8, 26}, {99, 2, 36, 326, 25, 24, 56}, {15, 215, 3, 157, 8, 41, 23}, {96, 115, 17, 5, 3, 10, 18}, {56, 4, 78, 5, 10, 22, 58}, {85, 41, 29, 65, 47, 36, 78}, {12, 23, 87, 45, 69, 96, 12} }; cout << "\nFor the second matrix: " << endl; solve( mat2 ); }
For the first matrix: The sum of major diagonal: 129 The sum of minor diagonal: 359 For the second matrix: The sum of major diagonal: 74 The sum of minor diagonal: 194
Dalam artikel ini, kita telah melihat cara mengira jumlah pepenjuru bagi matriks segi empat sama tertentu. Diagonal utama berjalan dari sudut kiri atas ke sudut kanan bawah, manakala pepenjuru kedua berjalan dari sudut kiri bawah ke sudut kanan atas. Garis pepenjuru bermula dari sudut kanan atas ke sudut kiri bawah. Untuk mencari jumlah ini elemen pepenjuru, kita gelung melalui semua elemen Apabila kedua-dua baris dan nilai indeks lajur Sama, ia mewakili unsur pepenjuru utama apabila jumlah kedua-dua indeks adalah Sama seperti susunan n-1 matriks, ia akan ditambah kepada subpepenjuru prosedur mengambil dua gelung bersarang dan kami melintasi semua elemen yang terdapat dalam Tatasusunan 2D. Oleh itu, mengira jumlah dua pepenjuru akan mengambil masa O(n2) matriks yang diberikan.
Atas ialah kandungan terperinci Program C++ untuk mengira jumlah pepenjuru matriks. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!