#include <cstdlib>
#include <iostream>
#include <conio.h>
//#include ‘xcept.h’
#include <iostream>
#include <conio.h>
//#include ‘xcept.h’
using namespace std;
class Array1D {
friend ostream& operator<<(ostream&, const Array1D&);
public :
Array1D ( int size= 0);
void cetak();
void geser_kiri();
void geser_kanan();
Array1D ( const Array1D& v);
~Array1D (){delete [] element;}
int& operator [] (int i) const;
int Size() {return size;}
class Array1D {
friend ostream& operator<<(ostream&, const Array1D&);
public :
Array1D ( int size= 0);
void cetak();
void geser_kiri();
void geser_kanan();
Array1D ( const Array1D& v);
~Array1D (){delete [] element;}
int& operator [] (int i) const;
int Size() {return size;}
Array1D & operator = (const Array1D& v);
Array1D operator + ()const;
Array1D operator + (const Array1D& v)const;
Array1D operator – ()const;
Array1D operator – (const Array1D& v) const;
Array1D operator * (const Array1D& v) const;
Array1D & operator+=(const int& x);
Array1D & ReSize(int sz);
private :
int size ;
int * element ;
char A[5];
int x;
};
Array1D operator + ()const;
Array1D operator + (const Array1D& v)const;
Array1D operator – ()const;
Array1D operator – (const Array1D& v) const;
Array1D operator * (const Array1D& v) const;
Array1D & operator+=(const int& x);
Array1D & ReSize(int sz);
private :
int size ;
int * element ;
char A[5];
int x;
};
Array1D::Array1D(int sz)
{
{
if ( sz < 0);
size = sz;
element = new int[sz];
size = sz;
element = new int[sz];
}
ostream& operator<<(ostream& out, const Array1D& x){
for(int i=0;i<5;i++)
out<<x.A[i]<<” “;
out<<endl;
return out;
for(int i=0;i<5;i++)
out<<x.A[i]<<” “;
out<<endl;
return out;
}
void Array1D::geser_kanan(){
int n=5;
int size=A[n-1];
for(int i=n-1;i>=0;i–)
A[i+1]=A[i];
A[0]=size;
int n=5;
int size=A[n-1];
for(int i=n-1;i>=0;i–)
A[i+1]=A[i];
A[0]=size;
}
void Array1D::geser_kiri(){
int n=5;
int size=A[0];
for(int i=0;i<n;i++)
A[i]=A[i+1];
A[n-1]=size;
}
int n=5;
int size=A[0];
for(int i=0;i<n;i++)
A[i]=A[i+1];
A[n-1]=size;
}
Array1D::Array1D(const Array1D& v)
{
size = v.size;
element =new int[size];
for (int i=0; i<size; i++)
element[i] = v.element[i];
}
{
size = v.size;
element =new int[size];
for (int i=0; i<size; i++)
element[i] = v.element[i];
}
int& Array1D::operator[](int i)const
{
if(i<0||i>=size);
return element[i];
}
{
if(i<0||i>=size);
return element[i];
}
Array1D & Array1D::operator =(const Array1D& v)
{
if (this != &v){
size= v.size;
delete[] element;
element = new int[size];
for (int i=0; i< size; i++)
element [i] = v.element[i];
}
return *this;
}
{
if (this != &v){
size= v.size;
delete[] element;
element = new int[size];
for (int i=0; i< size; i++)
element [i] = v.element[i];
}
return *this;
}
Array1D Array1D::operator +(const Array1D& v) const
{
if (size != v.size);
Array1D w(size);
for(int i=0; i < size; i++)
w.element[i] = element[i] + v.element [i];
return w;
}
{
if (size != v.size);
Array1D w(size);
for(int i=0; i < size; i++)
w.element[i] = element[i] + v.element [i];
return w;
}
Array1D Array1D::operator-(const Array1D& v) const
{
if (size!= v.size);
Array1D w(size);
for (int i=0; i<size; i++)
w.element[i] = element [i]- v.element [i];
return w;
}
{
if (size!= v.size);
Array1D w(size);
for (int i=0; i<size; i++)
w.element[i] = element [i]- v.element [i];
return w;
}
Array1D Array1D::operator-() const
{
Array1D w(size);
for (int i=0; i <size; i++)
w.element[i] = -element[i];
return w;
}
{
Array1D w(size);
for (int i=0; i <size; i++)
w.element[i] = -element[i];
return w;
}
Array1D Array1D::operator*(const Array1D& v)const
{
if (size != v.size);
Array1D w(size);
for(int i=0; i < size; i++)
w.element[i] = element [i] * v.element[i];
return w;
}
{
if (size != v.size);
Array1D w(size);
for(int i=0; i < size; i++)
w.element[i] = element [i] * v.element[i];
return w;
}
Array1D& Array1D::operator+=(const int& x)
{
for (int i=0; i < size; i++)
element [i] += x;
return *this;
}
{
for (int i=0; i < size; i++)
element [i] += x;
return *this;
}
Array1D& Array1D::ReSize(int sz)
{
if (sz < 0);
delete [] element;
size = sz;
element = new int [size];
return *this;
}
{
if (sz < 0);
delete [] element;
size = sz;
element = new int [size];
return *this;
}
int main(int argc, char *argv[])
{
try {
Array1D x(10),y,z;
for (int i=0; i<10; i++)
x[i] = i;
x.geser_kiri();
cout<<”Isi Array setelah di geser kiri : “<<x;
x.geser_kanan();
cout<<”Isi Array setelah di geser kanan : “<<x;
cout <<”x[3]=” << x[3] << endl;
cout <<”x is ” << x << endl;
y=x;
cout <<”y is ” << y << endl;
x +=2;
cout <<”xincremented by 4 is ” << x << endl;
z = (y+x)*y;
cout << “(y + x)* y is” << z << endl;
cout << “-(y + x)* y is” << -z << endl;
}
catch (…) {
cerr << “An execption has occurred” << endl;
}
{
try {
Array1D x(10),y,z;
for (int i=0; i<10; i++)
x[i] = i;
x.geser_kiri();
cout<<”Isi Array setelah di geser kiri : “<<x;
x.geser_kanan();
cout<<”Isi Array setelah di geser kanan : “<<x;
cout <<”x[3]=” << x[3] << endl;
cout <<”x is ” << x << endl;
y=x;
cout <<”y is ” << y << endl;
x +=2;
cout <<”xincremented by 4 is ” << x << endl;
z = (y+x)*y;
cout << “(y + x)* y is” << z << endl;
cout << “-(y + x)* y is” << -z << endl;
}
catch (…) {
cerr << “An execption has occurred” << endl;
}
getch();
return EXIT_SUCCESS;
}
}
Tidak ada komentar:
Posting Komentar