15 May 2012

Program matrik penjumlahan dan vektor kali skalar

#include <iostream.h>
#include <conio.h>

class vektor{
    friend ostream& operator<<(ostream&, const vektor&);
    friend istream& operator>>(istream&, vektor&);
public:
    vektor();
    void penjumlahan_vektor(const vektor&,const vektor&);
    void perkalian_vektor(float, const vektor&);
    void beri_nilaibanyak(int);
private:
    int elemen[100];
    int banyak;
};

vektor::vektor(){
    banyak=3;
    for(int i=0; i<banyak; i++)
        elemen[i]=0;
}

void vektor::beri_nilaibanyak(int i){
    banyak=i;
}

istream& operator>>(istream& in, vektor& A){
    cout<<"\nBanyak elemen : ";
    in>>A.banyak;
    cout<<"Masukkan data vektor\n";
    for(int i=0; i<A.banyak; i++){
        cout<<"Data ["<<i+1<<"] : ";
        cin>>A.elemen[i];
    }
    return in;
}

ostream& operator<<(ostream& out, const vektor& A){
    cout<<endl;
    for(int i=0; i<A.banyak; i++)
        cout<<"s ["<<i+1<<"] = "<<A.elemen[i]<<"\n";
    return out;
}

void vektor::penjumlahan_vektor(const vektor& A, const vektor& B){
    if(A.banyak>B.banyak) banyak=A.banyak;
        else banyak=B.banyak;
    for(int i=0; i<banyak; i++)
        elemen[i]=A.elemen[i]+B.elemen[i];
}

void vektor::perkalian_vektor(float k, const vektor& A){
    banyak=A.banyak;
    for(int i=0; i<banyak; i++)
        elemen[i]=int(k*A.elemen[i]);
}

void main(){
    vektor x,y,z;
    cin>>x;
    cout<<x;
    cin>>y;
    cout<<y;
    z.penjumlahan_vektor(x,y);
    cout<<"\nHasil penjumlahan dua vektor\n"<<z;
    z.perkalian_vektor(3,x);
    cout<<"\nHasil perkalian sekalar dengan vektor\n"<<z;
    cout<<z;
    getch();
}

0 komentar:

Post a Comment