# include <iostream>
using namespace std;

class Table
{
	private:
		//autos einai o pinakas
		int *x;
		//auto einai to megethos tou pinaka
		int n;
	public:
		//methodos dimioyrgias
		Table(int size);
		//diabazei ton pinaka
		void readTable();
		//emfanizei ton pinaka
		void printTable();
		//elegxei gia isotita me allon pinaka
		int sameTable(Table &other);
		
		//epistrefei to megethos tou pinaka
		int getSize();
		//epistrefei to stoixeio stin thesi pos
		int getElement(int pos);
		//methodos destructor
		~Table();
};

int	Table::getSize()
{
	return n;
}

int	Table::getElement(int pos)
{
	return x[pos];
}

Table::Table(int size)
{
	int i;
	//edo leme oti o pinakas exei size stoixeia
	n=size;
	//edo dinoume ston pinaka mnimi size stoixeion
	x=new int[size];
	//midenizo ton pinaka
	for(i=0;i<n;i++) x[i]=0;
}

void	Table::readTable()
{
	int i;
	for(i=0;i<n;i++)
	{
		cout<<"Dose stoixeio "<<i<<endl;
		cin>>x[i];
		
	}
}

void	Table::printTable()
{
	int i;
	for(i=0;i<n;i++)
		cout<<x[i]<<" ";
	cout<<endl;
}

int		Table::sameTable(Table &other)
{
	 int i;
	 int count=0;
	 //elegxo arxika an oi pinakes einai isoi se megethos
	 if(other.getSize()!=n) return 0;
	 else
	 //einai isoi
	 for(i=0;i<n;i++)
	 {
		 if(getElement(i)==other.getElement(i))
			count++;
	 }
	if(count==n) return 1;
	else
	return 0;
}


//auti einai i methodos diagrafis
//kaleitai apo moni tis sto telos
//tis zois tis metablitis
Table::~Table()
{
	cout<<"Diagrafo ton pinaka "<<endl;
	
	//auto edo diagrafei ton dynamiko pinaka x
	delete[] x;
}

int main()
{
	Table t1(4);
	t1.readTable();
	Table t2(4);
	t2.readTable();
	
	if(t1.sameTable(t2)) 
		cout<<"Oi pinakes einai idioi "<<endl;
	else
		cout<<"Oi pinakes den einai idioi "<<endl;
	
	t1.printTable();
	t2.printTable();
	return 0;
}

