


Utilisez pthread pour implémenter l'addition et la soustraction matricielles en C/C++
Ici, nous verrons comment effectuer une addition et une soustraction matricielles à l'aide d'un environnement multithread. pthread est utilisé pour exécuter plusieurs threads simultanément en C ou C++.
Il existe deux matrices A et B. L'ordre de chaque matrice est (m x n). Chaque fil obtiendra chaque ligne et effectuera une addition ou une soustraction. Par conséquent, pour m lignes, il y a m threads différents.
Exemple
#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(); }
Sortie
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
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Dans le premier article de cette série, nous avons discuté des liens et des différences entre l’intelligence artificielle, l’apprentissage automatique, l’apprentissage profond, la science des données, etc. Nous avons également fait des choix difficiles concernant les langages de programmation, les outils et bien plus encore que toute la série utiliserait. Enfin, nous avons également introduit un peu de connaissances matricielles. Dans cet article, nous aborderons en profondeur la matrice, le cœur de l’intelligence artificielle. Mais avant cela, comprenons d’abord l’histoire de l’intelligence artificielle. Pourquoi avons-nous besoin de comprendre l’histoire de l’intelligence artificielle ? Il y a eu de nombreux booms de l’IA au cours de l’histoire, mais dans de nombreux cas, les énormes attentes quant au potentiel de l’IA ne se sont pas concrétisées. Comprendre l’histoire de l’intelligence artificielle peut nous aider à voir si cette vague d’intelligence artificielle créera des miracles ou n’est qu’une autre bulle sur le point d’éclater. nous

Dans cet article, nous allons apprendre comment calculer le déterminant d'une matrice à l'aide de la bibliothèque numpy en Python. Le déterminant d'une matrice est une valeur scalaire qui peut représenter la matrice sous forme compacte. C'est une quantité utile en algèbre linéaire et a de nombreuses applications dans divers domaines, notamment la physique, l'ingénierie et l'informatique. Dans cet article, nous aborderons d’abord la définition et les propriétés des déterminants. Nous apprendrons ensuite comment utiliser numpy pour calculer le déterminant d'une matrice et verrons comment il est utilisé en pratique à travers quelques exemples. Le déterminant de la matrice est une valeur scalaire qui peut être utilisée pour décrire la propriété

Python est un langage de programmation généraliste populaire. Il est utilisé dans divers secteurs, notamment les applications de bureau, le développement Web et l’apprentissage automatique. Heureusement, Python possède une syntaxe simple et facile à comprendre qui convient aux débutants. Dans cet article, nous utiliserons Python pour calculer la somme de la diagonale droite d'une matrice. Qu'est-ce qu'une matrice ? En mathématiques, nous utilisons un tableau ou une matrice rectangulaire pour décrire un objet mathématique ou ses propriétés. Il s'agit d'un tableau ou d'un tableau rectangulaire contenant des nombres, des symboles ou des expressions disposés en lignes et en colonnes. Par exemple -234512367574 Il s'agit donc d'une matrice de 3 lignes et 4 colonnes, exprimée sous la forme d'une matrice 3*4. Or, il y a deux diagonales dans la matrice, la diagonale primaire et la diagonale secondaire.

1. Ouvrez d’abord la page d’édition Python en ligne. 2. Entrez ensuite le code du programme dans la zone du programme. 3. Cliquez ensuite sur Exécuter dans le coin supérieur gauche, entrez le premier ajout, appuyez sur Entrée et entrez le deuxième ajout. 4. Enfin, appuyez sur Entrée pour obtenir la somme des deux additions. Il s’agit d’un simple code d’ajout de python.

Une matrice est un ensemble de nombres disposés en lignes et en colonnes. Une matrice avec m lignes et n colonnes est appelée une matrice mXn, et m et n sont appelés ses dimensions. Une matrice est un tableau à deux dimensions créé en Python à l'aide de listes ou de tableaux NumPy. En général, la multiplication matricielle peut être effectuée en multipliant les lignes de la première matrice par les colonnes de la deuxième matrice. Ici, le nombre de colonnes de la première matrice doit être égal au nombre de lignes de la deuxième matrice. Scénario d'entrée et de sortie Supposons que nous ayons deux matrices A et B. Les dimensions de ces deux matrices sont respectivement 2X3 et 3X2. La matrice résultante après multiplication aura 2 lignes et 1 colonne. [b1,b2][a1,a2,a3]*[b3,b4]=[a1*b1+a2*b2+a3*a3][a4,a5,a6][b5,b6][a4*b2+a

Dans ce problème, il suffit de diviser deux entiers sans utiliser les opérateurs de multiplication, de division et de modulo. Bien que nous puissions utiliser des opérations d’addition, de multiplication ou de bits. L’énoncé du problème indique que nous obtiendrons deux entiers x et y. Sans utiliser la multiplication, la division ou l'opérateur modulo, nous devons déterminer le quotient de x divisé par y. Exemple d'entrée : x=15, y=5 Sortie : 3 Entrée : x=10, y=4 Sortie : 2 Entrée : x=-20, y=3 Sortie : -6 Méthode Méthode 1 (utiliser des mathématiques simples) ici Dans ce méthode, nous utiliserons un algorithme mathématique simple. Voici une explication étape par étape des étapes que nous suivrons : nous continuerons à soustraire le diviseur (c'est-à-dire y) du dividende (c'est-à-dire x) jusqu'à ce que x soit supérieur ou égal à y. quand y est supérieur à x

En tant que puissant système de gestion de bases de données relationnelles, la base de données Oracle fournit une multitude d'opérations informatiques pour répondre aux besoins des utilisateurs. Dans les opérations quotidiennes de base de données, l'opération de soustraction est une opération courante et importante. Elle peut nous aider à mettre en œuvre l'opération de soustraction des données pour obtenir les résultats dont nous avons besoin. Cet article discutera en détail des techniques liées aux opérations de soustraction dans la base de données Oracle et donnera des exemples de code spécifiques pour aider les lecteurs à mieux comprendre et utiliser cette fonction. 1. Concepts de base des opérations de soustraction dans les données Oracle

L'utilisateur doit saisir l'ordre des deux matrices ainsi que les éléments des deux matrices. Ensuite, comparez les deux matrices. Deux matrices sont égales si les éléments et les tailles de la matrice sont égaux. Si les matrices sont de taille égale mais pas égales en éléments, alors les matrices s'avèrent comparables mais pas égales. Si les tailles et les éléments ne correspondent pas, les matrices d'affichage ne peuvent pas être comparées. Le programme suivant est un programme C, utilisé pour comparer si deux matrices sont égales-#include<stdio.h>#include<conio.h>main(){ intA[10][10],B[10][10] ; dans
