Pagini recente » Monitorul de evaluare | Cod sursa (job #2439718) | Cod sursa (job #772512) | Cod sursa (job #744845) | Cod sursa (job #222390)
Cod sursa(job #222390)
#include<iostream.h>
struct fractie{
int x,y;
};
const N=10;
fractie a[N+1],el;
int ie,in,opt;
//************************
//* testeaza coada goala *
//************************
int cgoala(){
if(ie>in)
return 1;
else
return 0;
}
//************************
// testeaza coada plina
//************************
int cplina(){
if(in-ie==N-1)
return 1;
else
return 0;
}
//**********************
// adauga element la coada
//***********************
void add_c(fractie x){
int i;
if(cplina()==0){
if(in==N){
for(i=ie;i<=in;i++)
a[i+1-ie]=a[i];
in=N-ie;
ie=1;
}
in++;
a[in]=x;
}
else
cout<<"\ncoada plina";
}
//***********************
// elimina element din coada
//************************
fractie delel_c(){
ie++;
return a[ie-1];
}
//******************
// afisare coada
//*****************
void afisc(){
int i;
cout<<"\n<-";
for(i=ie;i<=in;i++)
cout<<a[i].x<<"/"<<a[i].y<<" ";
cout<<"<-";
}
//---------------------main
void main(){
ie=1;in=0;
do{
cout<<"\n1. Afisare coada";
cout<<"\n2. Adauga element la coada";
cout<<"\n3. Elimina element din coada";
cout<<"\n0. Iesire";
cout<<"\n\nOptiune:";cin>>opt;
if(opt==1)
afisc();
if(opt==2){
cout<<"\nelment=";
cin>>el.x>>el.y;
add_c(el);
}
if(opt==3){
if(cgoala()==1)
cout<<"\nCoada este goala";
else{
el=delel_c();
cout<<"\elem eliminat="<<el.x<<"/"<<el.y;
}
}
}while(opt!=0);
}