Implemntasi Array satu dimensi banyak seklai contohnya salah satunya adalah di gunakan untuk menghitung penjumlahan dan perkalian antara skalar dan vektor. Sebelumnya kita harus mengetahui apa sih itu vektor dan sklalar.
Vektor dalam matematika atau fisika adalah suattu besaran yang mempunyai arah dan bergantung pada arah tersebut. Sedangkan Skalar adalah suatu besaran yang cukup dinyatakan dengan besaran saja.
Operasi Dalam Vektor :
Program Untuk Menjumlah dan Mengalikan Vektor dan Skalar.
#include <cstdlib>
#include <iostream>
#include <iomanip.h>
#include "dyas.h"
using namespace std;
class vektor{
friend istream& operator>>(istream&, vektor&);
friend ostream& operator<<(ostream&, vektor&);
public:
vektor();
void penjumlahan_vektor(const vektor&, const vektor&);
void perkalian_vektor(float, const vektor&);
void nilai_banyak(int);
private:
int elemen[100];
int banyak;
};
vektor::vektor(){
banyak = 3;
for (int i=0;i<banyak;i++){
elemen[i]=0;
}
}
void vektor::nilai_banyak(int i){
banyak = i;
}
istream& operator>>(istream& in, vektor& mlebu){
cout<<endl;
cout<<"Banyak elemen : ";
in>>mlebu.banyak;
cout<<"masukkan data vektor"<<endl;
for (int i=0;i<mlebu.banyak;i++){
cout<<"data ["<<i+1<<"] : ";
in>>mlebu.elemen[i];
}
return in;
}
ostream& operator<<(ostream& out, vektor& metu){
out<<endl;
for(int i=0;i<metu.banyak;i++){
out<<"s["<<i+1<<"] : "<<setw(5)<<metu.elemen[i]<<endl;
}
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& d){
banyak = d.banyak;
for(int i=0;i<banyak;i++){
elemen[i]=k * d.elemen[i];
}
}
int main(int argc, char *argv[])
{
vektor x, y, z;
cin>>x;
cout<<x;
cin>>y;
cout<<y;
z.penjumlahan_vektor(x,y);
cout<<endl;
cout<<"hasil penjumlahan 2 vektor : "<<z;
z.perkalian_vektor(3,x);
cout<<endl;
cout<<"hasil perkalian skalar 3 dengan vektor x : "<<z;
cout<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
Vektor dalam matematika atau fisika adalah suattu besaran yang mempunyai arah dan bergantung pada arah tersebut. Sedangkan Skalar adalah suatu besaran yang cukup dinyatakan dengan besaran saja.
Operasi Dalam Vektor :
- Penjumlahan Vektor
Pada penjumlahan vektor ini di tentukan oleh arah dan tanda dari suatu variabel. Misalnya A + B (berarti arah vektor A dan B searah) atau A + (-B) (arah A dan B berlawanan). - Perkalian Vektor
Sedangkan Perkalian dalam vektor di pengaruhi oleh besar skalar. Karena pada umumnya rumus pekaliiana vektor adalah B = k . A dimana k adalah skalar, A adalah vektor dan B adalah hasil perkalian vektor A dan skalar k.
Program Untuk Menjumlah dan Mengalikan Vektor dan Skalar.
- Penjumlahan
void vektor::penjumlahan_vektor(const vektor& a, const vektor& b){ // const disini adalah menyatakan besaran vektor a dan bif (a.banyak > b.banyak) banyak = a.banyak; // percabangan jika nilai a>b maka nilai banyak adalah nilai banyak itu sendiri.else banyak = b.banyak;for(int i=0;i<banyak;i++){elemen[i] = a.elemen[i] + b.elemen[i]; // pemberian nilai pada array elemen[]}} - Perkalian
void vektor::perkalian_vektor(float k, const vektor& d){banyak = d.banyak; // penginialisasian nilai banyakfor(int i=0;i<banyak;i++){elemen[i]=k * d.elemen[i]; // pemberian nilai pada array elemen}}
#include <cstdlib>
#include <iostream>
#include <iomanip.h>
#include "dyas.h"
using namespace std;
class vektor{
friend istream& operator>>(istream&, vektor&);
friend ostream& operator<<(ostream&, vektor&);
public:
vektor();
void penjumlahan_vektor(const vektor&, const vektor&);
void perkalian_vektor(float, const vektor&);
void nilai_banyak(int);
private:
int elemen[100];
int banyak;
};
vektor::vektor(){
banyak = 3;
for (int i=0;i<banyak;i++){
elemen[i]=0;
}
}
void vektor::nilai_banyak(int i){
banyak = i;
}
istream& operator>>(istream& in, vektor& mlebu){
cout<<endl;
cout<<"Banyak elemen : ";
in>>mlebu.banyak;
cout<<"masukkan data vektor"<<endl;
for (int i=0;i<mlebu.banyak;i++){
cout<<"data ["<<i+1<<"] : ";
in>>mlebu.elemen[i];
}
return in;
}
ostream& operator<<(ostream& out, vektor& metu){
out<<endl;
for(int i=0;i<metu.banyak;i++){
out<<"s["<<i+1<<"] : "<<setw(5)<<metu.elemen[i]<<endl;
}
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& d){
banyak = d.banyak;
for(int i=0;i<banyak;i++){
elemen[i]=k * d.elemen[i];
}
}
int main(int argc, char *argv[])
{
vektor x, y, z;
cin>>x;
cout<<x;
cin>>y;
cout<<y;
z.penjumlahan_vektor(x,y);
cout<<endl;
cout<<"hasil penjumlahan 2 vektor : "<<z;
z.perkalian_vektor(3,x);
cout<<endl;
cout<<"hasil perkalian skalar 3 dengan vektor x : "<<z;
cout<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}