Arsip Blog

PROGRAM PERKALIAN MATRIKS 2x2 hingga 5x5 dengan C++

#include <conio.h>
#include <iostream.h>
#define MaksBaris 5
#define MaksKolom 5

void Masukan(int Matrik[MaksBaris][MaksKolom],int x,int y);
void Jumlah(int Matrik1[MaksBaris][MaksKolom],
                int Matrik2[MaksBaris][MaksKolom],
                int Hasil[MaksBaris][MaksKolom],int x, int y,int z);
void Tampil(int Matrik[MaksBaris][MaksKolom],int x,int y);

void main()
{    int m,n,o,p;
    int a[MaksBaris][MaksKolom],b[MaksBaris][MaksKolom],
    c[MaksBaris][MaksKolom];
    char jwb;
   x:
    clrscr();
    cout<<"Program Penjumlahan Matriks\n";
    cout<<"---------------------------\n";
    cout<<"Banyak Baris A: ";cin>>m;
    cout<<"Banyak Kolom A: ";cin>>n;
    cout<<"Banyak Baris B: ";cin>>o;
    cout<<"Banyak Kolom B: ";cin>>p;
    if((m==p)&&(n==o)&&(n>=m))
    {
    cout<<"Masukkan elemen matriks A: \n\n";
    Masukan(a,m,n);
    cout<<"Masukan elemen matriks B: \n\n";
    Masukan(b,n,p);
    Jumlah(a,b,c,m,n,p);
    cout<<"\nMatrik A: \n";
    Tampil(a,m,n);
    cout<<"\nMatrik B: \n";
    Tampil(b,n,p);
    cout<<"\nHasil Matrik C=A*B\n";
    Tampil(c,m,p);
    cout<<"\n\nTekan sembarang tombol kemudian enter";cin>>jwb; }else {goto x;}
}

void Masukan(int Matrik[MaksBaris][MaksKolom],int m,int n)
{    int i,j;
    for(i=0;i<m;i++)
        for(j=0;j<n;j++)
        {    cout<<"Elemen"<<(i+1)<<", "<<(j+1)<<": ";cin>>Matrik[i][j];
        }
        cout<<"\n";
}

void Jumlah(int Matrik1[MaksBaris][MaksKolom],
                int Matrik2[MaksBaris][MaksKolom],
                int Hasil[MaksBaris][MaksKolom],int m, int n,int p)
{ int i,j;    if(n == 1)
 {
 for(i=0;i<m;i++)
 {
  for(j=0;j<p;j++)
  {
     Hasil[i][j] = (Matrik1[i][0] * Matrik2[0][j]);
  }
 }
 }

 if(n == 2)
  {
 for(i=0;i<m;i++)
 {
  for(j=0;j<p;j++)
  {
     Hasil[i][j] = (Matrik1[i][0] * Matrik2[0][j] + Matrik1[i][1] * Matrik2[1][j]);
  }
 }
 }

 if(n == 3)
 {
 for(i=0;i<m;i++)
 {
  for(j=0;j<p;j++)
  {
     Hasil[i][j] = (Matrik1[i][0] *Matrik2[0][j] + Matrik1[i][1] * Matrik2[1][j] + Matrik1[i][2] * Matrik2[2][j]);
  }
 }
 }

 if(n == 4)
  {
 for(i=0;i<m;i++)
 {
  for(j=0;j<p;j++)
  {
     Hasil[i][j] = (Matrik1[i][0]*Matrik2[0][j] + Matrik1[i][1]*Matrik2[1][j] + Matrik1[i][2]*Matrik2[2][j] + Matrik1[i][3]*Matrik2[3][j]);
  }
 }
 }

 if(n == 5)
  {
 for(i=0;i<m;i++)
 {
  for(j=0;j<p;j++)
  {
     Hasil[i][j] = (Matrik1[i][0]*Matrik2[0][j] + Matrik1[i][1]*Matrik2[1][j] + Matrik1[i][2]*Matrik2[2][j] + Matrik1[i][3]*Matrik2[3][j] + Matrik1[i][4]*Matrik2[4][j]);
  }
 }
 }
 }

void Tampil(int Matrik[MaksBaris][MaksKolom],int m,int p)
{    int i,j;
    for(i=0;i<m;i++)
        {for(j=0;j<p;j++)
            cout<<Matrik[i][j]<<" ";
            cout<<"\n";
        }
}


Artikel Terkait

0 komentar :

Posting Komentar

 

Catatannya Didit Copyright © 2011-2015 | Powered by Blogger