Скачиваний:
27
Добавлен:
01.05.2014
Размер:
2.08 Кб
Скачать

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

#include "Cpoint.h"
#include "Csqr.h"
#include "CmasF.h"

//--Invariant
       int CmasF::inv(){}

	//---Konstruktor
	CmasF::CmasF(int Nmax0)
		{if ((Nmax0>=-10000)&&(Nmax0<=10000))
			{Nmax=Nmax0;}else{
			Nmax=0;
			cout<<"Osibka diapazona CmasF"<<endl;}

			 for (int i=0;i<Nmax;i++)
				{areas[i]=0;}

		}

	//---Selectori
	unsigned int CmasF::getN(){return Nmax;}
	unsigned int CmasF::getA(int i)
		{if ((i>=0)&&(i<Nmax)) {return areas[i];}
				else{cout<<"Osibka diapazona getA"<<endl;}
		}

	Csqr CmasF::getF(int i)
		{if ((i>=0)&&(i<Nmax)) {return sqrs[i];}
				else{cout<<"Osibka diapazona getF"<<endl;}
		}

	//---Modifikatori
	void CmasF::setN(int N)
		{if ((N>=-10000)&&(N<=10000))
			 {Nmax=N;}else{cout<<"Osibka diapazona setN"<<endl;}
		 }

	void CmasF::setA(int i, double a)
		{if ((i>=0)&&(i<Nmax)&&(a>=0)&&(a<=10000))
			{areas[i]=a;}else{cout<<"Osibka diapazona setA"<<endl;}
		 }

	void CmasF::setF(int i, Csqr sqr)
		{if ((i>=0)&&(i<Nmax))
			{sqrs[i]=sqr;
			 areas[i]=sqr.area();
			}else{cout<<"Osibka diapazona setF"<<endl;}
		}

	//---Operacii
	void CmasF::Move(int i,double dx, double dy)
		{if ((dx>=-10000)&&(dx<=10000)&&(dy>=-10000)&&(dy<=10000)&&
					(i>=0)&&(i<Nmax))
			{sqrs[i].Move(dx,dy);}
			else{cout<<"osibka diapazona Move"<<endl;}
		 }

	 // -Sortirovka
	void CmasF::SortA()                  //Sortirovka plosadey
	 {double x;

	 for (int i=Nmax-1;i>0;i--)
		{
		 for (int j=1; j<Nmax;j++)
		 {if (areas[j-1]>areas[j])
			  {x=areas[j-1];
			   areas[j-1]=areas[j];
			   areas[j]=x;}}
		   }

	  }


	void CmasF::SortF()
	 {Csqr sqr1;

	 for (int i=Nmax-1;i>0;i--)
		{
		 for (int j=1; j<Nmax;j++)
		 {if (sqrs[j-1].getA()>sqrs[j].getA())
			  {sqr1=sqrs[j-1];
			   sqrs[j-1]=sqrs[j];
			   sqrs[j]=sqr1;}}
		   }

	  }




	//---Destructor
	CmasF::~CmasF()
		{//cout<<endl<<"-----------------------"<<endl<<
		   //		"Massiv umer!"<<endl;
				}




Соседние файлы в папке Класс Массив квадратов и его сортировка