C ++ - program for å multiplisere to matrikser ved hjelp av flerdimensjonale matriser

Dette programmet tar to matriser av henholdsvis orden r1 * c1 og r2 * c2. Deretter multipliserer programmet disse to matriser (hvis mulig) og viser det på skjermen.

For å forstå dette eksemplet, bør du ha kunnskap om følgende C ++ programmeringsemner:

  • C ++ flerdimensjonale matriser
  • C ++ arrays

For å multiplisere to matriser, bør antallet kolonner i den første matrisen være lik antall rader til den andre matrisen. Dette programmet viser feilen til antall kolonner i den første matrisen er lik antall rader i den andre matrisen.

Eksempel: Multipliser to matriser uten å bruke funksjoner

 #include using namespace std; int main() ( int a(10)(10), b(10)(10), mult(10)(10), r1, c1, r2, c2, i, j, k; cout <> r1>> c1; cout <> r2>> c2; // If column of first matrix in not equal to row of second matrix, // ask the user to enter the size of matrix again. while (c1!=r2) ( cout << "Error! column of first matrix not equal to row of second."; cout <> r1>> c1; cout <> r2>> c2; ) // Storing elements of first matrix. cout << endl << "Enter elements of matrix 1:" << endl; for(i = 0; i < r1; ++i) for(j = 0; j < c1; ++j) ( cout << "Enter element a" << i + 1 << j + 1 <> a(i)(j); ) // Storing elements of second matrix. cout << endl << "Enter elements of matrix 2:" << endl; for(i = 0; i < r2; ++i) for(j = 0; j < c2; ++j) ( cout << "Enter element b" << i + 1 << j + 1 <> b(i)(j); ) // Initializing elements of matrix mult to 0. for(i = 0; i < r1; ++i) for(j = 0; j < c2; ++j) ( mult(i)(j)=0; ) // Multiplying matrix a and b and storing in array mult. for(i = 0; i < r1; ++i) for(j = 0; j < c2; ++j) for(k = 0; k < c1; ++k) ( mult(i)(j) += a(i)(k) * b(k)(j); ) // Displaying the multiplication of two matrix. cout << endl << "Output Matrix: " << endl; for(i = 0; i < r1; ++i) for(j = 0; j < c2; ++j) ( cout << " " << mult(i)(j); if(j == c2-1) cout << endl; ) return 0; ) 

Produksjon

Angi rader og kolonne for første matrise: 3 2 Skriv inn rader og kolonne for andre matrise: 3 2 Feil! kolonne i første matrise ikke lik rad i andre. Angi rader og kolonne for første matrise: 2 3 Angi rader og kolonne for andre matrise: 3 2 Skriv inn elementer i matrise 1: Angi elementer a11: 3 Skriv inn element a12: -2 Skriv inn elementer a13: 5 Skriv inn elementer a21: 3 Skriv inn elementer a22 : 0 Tast inn elementene a23: 4 Tast inn elementene i matrise 2: Tast inn elementene b11: 2 Tast inn elementene b12: 3 Tast inn elementene b21: -9 Tast inn elementene b22: 0 Tast inn elementene b31: 0 Tast inn elementene b32: 4 Utmatrisematrise: 24 29 6 25

I dette programmet blir brukeren bedt om å angi størrelsen på to matriser først.

Kolonnen i første matrise skal være lik rad i andre matrise for multiplikasjon. Hvis denne tilstanden ikke blir oppfylt, blir størrelsen på matrisen igjen spurt ved bruk av loop.

Deretter blir brukeren bedt om å angi to matriser, og til slutt beregnes og vises utdataene fra to matriser.

Siden programmet er langt og vanskelig å feilsøke, er det bedre å løse dette programmet ved å overføre det til en funksjon.

Besøk denne siden for å lære om å multiplisere matriser ved å overføre matriser til en funksjon.

Interessante artikler...