


Gunakan pthread untuk melaksanakan penambahan dan penolakan matriks dalam C/C++
Di sini kita akan melihat cara melakukan penambahan dan penolakan matriks menggunakan persekitaran berbilang benang. pthread digunakan untuk melaksanakan berbilang benang secara serentak dalam C atau C++.
Terdapat dua matriks A dan B. Susunan setiap matriks ialah (m x n). Setiap benang akan mendapat setiap baris dan melakukan penambahan atau penolakan. Oleh itu, untuk m baris, terdapat m benang yang berbeza.
Contoh
#include<iostream> #include <pthread.h> #include <cstdlib> #include <cstdint> #define CORE 3 #define MAX 3 using namespace std; int AMat[MAX][MAX] = {{10, 20, 30}, {40, 50, 60}, {70, 80, 50} }; int BMat[MAX][MAX] = {{80, 60, 20}, {30, 20, 15}, {10, 14, 35} }; pthread_t thread[CORE * 2]; int add[MAX][MAX], sub[MAX][MAX]; void* addMatrices(void* arg) { intptr_t core = (intptr_t)arg; // Each thread computes 1/3rd of matrix addition for (int i = core * MAX / 3; i < (core + 1) * MAX / 3; i++) { for (int j = 0; j < MAX; j++) { add[i][j] = AMat[i][j] + BMat[i][j]; } } } void* subtraction(void* arg) { intptr_t core = (intptr_t)arg; // Each thread computes 1/3rd of matrix subtraction for (int i = core * MAX / 3; i < (core + 1) * MAX / 3; i++) { for (int j = 0; j < MAX; j++) { sub[i][j] = AMat[i][j] - BMat[i][j]; } } } void display(){ cout << "Matrix A: " << endl; for(int i = 0; i < MAX; i++) { for(int j = 0; j < MAX; j++) { cout << AMat[i][j] << " "; } cout << endl; } cout << "\nMatrix B: " << endl; for(int i = 0; i < MAX; i++) { for(int j = 0; j < MAX; j++) { cout << BMat[i][j] << " "; } cout << endl; } } void displayRes(){ cout << "\nAddition: " << endl; for(int i = 0; i < MAX; i++) { for(int j = 0; j < MAX; j++) { cout << add[i][j] << " "; } cout << endl; } cout << "\nSubtraction: " << endl; for(int i = 0; i < MAX; i++) { for(int j = 0; j < MAX; j++) { cout << sub[i][j] << " "; } cout << endl; } } main() { display(); int step = 0; for (int i = 0; i < CORE; i++) { pthread_create(&thread[i], NULL, &addMatrices, (void*)step); pthread_create(&thread[i + CORE], NULL, &subtraction, (void*)step); step++; } for (int i = 0; i < CORE * 2; i++) { pthread_join(thread[i], NULL); } displayRes(); }
Output
Matrix A: 10 20 30 40 50 60 70 80 50 Matrix B: 80 60 20 30 20 15 10 14 35 Addition: 90 80 50 70 70 75 80 94 85 Subtraction: -70 -40 10 10 30 45 60 66 15
Atas ialah kandungan terperinci Gunakan pthread untuk melaksanakan penambahan dan penolakan matriks dalam C/C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Dalam artikel pertama siri ini, kami membincangkan hubungan dan perbezaan antara kecerdasan buatan, pembelajaran mesin, pembelajaran mendalam, sains data dan banyak lagi. Kami juga membuat beberapa pilihan sukar tentang bahasa pengaturcaraan, alatan dan banyak lagi yang akan digunakan oleh keseluruhan siri. Akhirnya, kami juga memperkenalkan sedikit ilmu matriks. Dalam artikel ini, kita akan membincangkan secara mendalam matriks, teras kecerdasan buatan. Tetapi sebelum itu, mari kita fahami dahulu sejarah kecerdasan buatan. Mengapa kita perlu memahami sejarah kecerdasan buatan? Terdapat banyak ledakan AI dalam sejarah, tetapi dalam banyak kes jangkaan besar untuk potensi AI gagal menjadi kenyataan. Memahami sejarah kecerdasan buatan boleh membantu kita melihat sama ada gelombang kecerdasan buatan ini akan mencipta keajaiban atau hanya gelembung lain yang akan pecah. kami

Dalam artikel ini, kita akan belajar cara mengira penentu matriks menggunakan perpustakaan numpy dalam Python. Penentu matriks ialah nilai skalar yang boleh mewakili matriks dalam bentuk padat. Ia merupakan kuantiti yang berguna dalam algebra linear dan mempunyai banyak aplikasi dalam pelbagai bidang termasuk fizik, kejuruteraan, dan sains komputer. Dalam artikel ini, kita akan membincangkan definisi dan sifat penentu terlebih dahulu. Kami kemudian akan belajar cara menggunakan numpy untuk mengira penentu matriks dan melihat cara ia digunakan dalam amalan melalui beberapa contoh. Penentu kefamatriks ialah nilai skala yang boleh digunakan untuk menerangkan sifat

Bahasa pengaturcaraan tujuan umum yang popular ialah Python. Ia digunakan dalam pelbagai industri, termasuk aplikasi desktop, pembangunan web dan pembelajaran mesin. Nasib baik, Python mempunyai sintaks yang ringkas dan mudah difahami yang sesuai untuk pemula. Dalam artikel ini, kita akan menggunakan Python untuk mengira jumlah pepenjuru kanan matriks. Apakah matriks? Dalam matematik, kami menggunakan tatasusunan atau matriks segi empat tepat untuk menerangkan objek matematik atau sifatnya Ia adalah tatasusunan atau jadual segi empat tepat yang mengandungi nombor, simbol atau ungkapan yang disusun dalam baris dan lajur. Contohnya -234512367574 Oleh itu, ini ialah matriks dengan 3 baris dan 4 lajur, dinyatakan sebagai matriks 3*4. Kini, terdapat dua pepenjuru dalam matriks, pepenjuru primer dan pepenjuru sekunder

1. Mula-mula buka halaman suntingan python dalam talian. 2. Kemudian masukkan kod program di kawasan program. 3. Kemudian klik Jalankan di sudut kiri atas, masukkan addend pertama, tekan Enter, dan masukkan addend kedua. 4. Akhir sekali tekan Enter untuk mendapatkan jumlah dua tambahan. Ini adalah kod tambahan python yang mudah.

Matriks ialah satu set nombor yang disusun dalam baris dan lajur. Matriks dengan m baris dan n lajur dipanggil matriks mXn, dan m dan n dipanggil dimensinya. Matriks ialah tatasusunan dua dimensi yang dibuat dalam Python menggunakan senarai atau tatasusunan NumPy. Secara umum, pendaraban matriks boleh dilakukan dengan mendarab baris matriks pertama dengan lajur matriks kedua. Di sini, bilangan lajur matriks pertama hendaklah sama dengan bilangan baris matriks kedua. Senario input dan output Katakan kita mempunyai dua matriks A dan B. Dimensi kedua-dua matriks ini ialah 2X3 dan 3X2 masing-masing. Matriks yang terhasil selepas pendaraban akan mempunyai 2 baris dan 1 lajur. [b1,b2][a1,a2,a3]*[b3,b4]=[a1*b1+a2*b2+a3*a3][a4,a5,a6][b5,b6][a4*b2+a

Dalam masalah ini, kita hanya perlu membahagi dua integer tanpa menggunakan operator darab, bahagi dan modulo. Walaupun kita boleh menggunakan operasi tambah, darab atau bit. Pernyataan masalah menyatakan bahawa kita akan mendapat dua integer x dan y. Tanpa menggunakan pendaraban, pembahagian, atau operator modulo, kita perlu menentukan hasil bagi x dibahagikan dengan y. Contoh Input: x=15, y=5 Output: 3 Input: x=10, y=4 Output: 2 Input: x=-20, y=3 Output: -6 Kaedah Kaedah 1 (gunakan matematik mudah) di sini Dalam ini kaedah, kami akan menggunakan algoritma matematik yang mudah. Berikut ialah penjelasan langkah demi langkah tentang langkah yang akan kami ikuti - kami akan terus menolak pembahagi (iaitu y) daripada dividen (iaitu x) sehingga x lebih besar daripada atau sama dengan y. apabila y lebih besar daripada x

Sebagai sistem pengurusan pangkalan data hubungan yang berkuasa, pangkalan data Oracle menyediakan banyak operasi pengkomputeran untuk memenuhi keperluan pengguna. Dalam operasi pangkalan data harian, operasi penolakan adalah operasi biasa dan penting. Ia boleh membantu kami merealisasikan operasi penolakan data untuk mendapatkan hasil yang kami perlukan. Artikel ini akan membincangkan secara terperinci teknik yang berkaitan dengan operasi penolakan dalam pangkalan data Oracle, dan memberikan contoh kod khusus untuk membantu pembaca memahami dan menggunakan fungsi ini dengan lebih baik. 1. Konsep asas operasi tolak dalam data Oracle

Pengguna mesti memasukkan susunan kedua-dua matriks serta unsur-unsur kedua-dua matriks. Kemudian, bandingkan kedua-dua matriks. Dua matriks adalah sama jika kedua-dua elemen dan saiz matriks adalah sama. Jika matriks adalah sama dalam saiz tetapi tidak sama dalam unsur, maka matriks ditunjukkan sebagai sebanding tetapi tidak sama. Jika saiz dan elemen tidak sepadan, matriks paparan tidak boleh dibandingkan. Program berikut ialah atur cara C, digunakan untuk membandingkan sama ada dua matriks adalah sama-#include<stdio.h>#include<conio.h>main(){ intA[10][10],B[10][10] dalam
