All pastes #333296 Raw Edit

Untitled

public cpp v1 · immutable
#333296 ·published 2007-01-30 20:49 UTC
rendered paste body
#include<iostream>using namespace std;class Index;class Pers {	friend class Index;public:	int marca;	char nume[50];	Index* bdPers;	Pers(char* c,int m){	marca = m;	strcpy(nume,c);	bdPers->Insert(this);	}	~Pers(){	bdPers->Remove(this);	}	};class Index {friend class Pers;Pers* lista[1000];int n;bool CautBin(int marca,int& poz){int inc=0,m;int sf=n-1;while(inc<=sf)	{	m = (inc + sf) /2;	if(lista[m]->marca == marca)		{		poz = m;		return true;		}	if(lista[m]->marca < marca)		inc = m+1;		else sf = sf-1;	}poz = inc;return false;}public:void Insert(Pers* pp){	int i,poz;	if(!CautBin(pp->marca,poz))		{		for(i=n;i>poz;i--)			lista[i] = lista[i-1];		lista[poz] = pp;		n++;		}}void Remove(Pers*){	int poz=0;	if(CautBin(pp->marca,poz))	{	for(;poz<n-1;poz++)		lista[poz] = lista[poz+1];	n--;	}	}	Pers* operator[](int marca){	int poz;	if(CautBin(marca,poz)) return lista[poz];	else return NULL;	}	void Afis();	Index() { n=0;}};void main(){pp = Index Pers::bdPers;Persoana p1("Ghita",1),p2("Gheorghe",2);int k;cin >> k;}