Bagaimana untuk Menukar Tatasusunan Berbilang Dimensi kepada Penunjuk untuk Penyongsangan Matriks dalam C?

Linda Hamilton
Lepaskan: 2024-10-25 08:20:29
asal
907 orang telah melayarinya

How to Convert a Multidimensional Array to a Pointer for Matrix Inversion in C  ?

Menukar Tatasusunan Berbilang Dimensi kepada Penunjuk dalam C

Memandangkan tatasusunan berbilang dimensi yang diwakili sebagai dua kali ganda[4][4], matlamatnya adalah untuk menukar ia menjadi penunjuk berganda yang serasi dengan fungsi yang mengambil songsangan matriks.

Masalah:

Percubaan untuk menukar tatasusunan secara terus menggunakan (double**)startMatrix tidak menghasilkan hasil yang diingini.

Penyelesaian:

Memandangkan tatasusunan berganda[4][4] tidak serasi dengan penuding berganda , pendekatan alternatif adalah perlu.

Buat tatasusunan indeks sementara jenis berganda *[4] yang menghala ke permulaan setiap baris dalam tatasusunan asal:

<code class="c++">double *startRows[4] = { startMatrix[0], startMatrix[1], startMatrix[2], startMatrix[3] };
double *inverseRows[4] = { /* same thing here */ };</code>
Salin selepas log masuk

Lepaskan tatasusunan indeks ini kepada fungsi sebaliknya:

<code class="c++">MatrixInversion(startRows, 4, inverseRows);</code>
Salin selepas log masuk

Setelah penyongsangan selesai, hasilnya akan disimpan dalam tatasusunan inverseMatrix yang asal.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Tatasusunan Berbilang Dimensi kepada Penunjuk untuk Penyongsangan Matriks dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!