Cod sursa(job #1110493)

Utilizator HsmHaOsMihnea HsmHaOs Data 18 februarie 2014 09:40:37
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.56 kb
#include <iostream>
using namespace std;
int su[7],pu[7],du[7],fu[7];
int strat=1,strats=1;
 
int a=0;
/*int CheckStrat(int str)
{
    
   if(str==3){ if(fullp==true) return 1; }
          
         
          
}*/
int f(int &n)
{
	int aux=strat;
	if(n>=14)
	{
		fu[aux]=14;
		n=n-14;
		if(aux==4) strat++;
	}
	else{ fu[aux]=n; n=0;}
	cout<<aux<<"f "<<fu[aux];
}
int p(int &n)
{
    int aux=strat;
    if(n>=6 )
    {
            pu[aux]=6; 
            n=n-6;
            if(aux == 2) strat++;
             
    }
   else{ pu[aux]=n; n=0;}
     
            cout<<aux<<"p " <<pu[aux]<<" ";
           
     
}
int s(int &n)
{
    int aux=strat;
    if(n>=2)
    {
            su[aux]=2; 
            n=n-2;
            if(aux == 1) strat++;
            
            if(aux==3) a++;
    }
    else if(n==1)
    {
         su[aux]=1; n=0;
         if(aux==3) a++; 
    }
     if(a==2){cout<<aux+1<<"s "<<su[aux]<<" ";}
     else
     cout<<aux<<"s "<<su[aux]<<" ";
 
}
int d(int &n)
{
    int aux=strat;
    if(n>=10)
    {
             du[aux]=10;
             n=n-10;
             if(aux==3) strat++;
    }
    else { du[aux]=n; n=0; }
    cout<<aux<<"d "<<du[aux]<<" ";
}
int main()
{
    int z;
    cout<<"Introdu z = "; 
    cin>>z;
    while(z!=0)
    { 
               if(strat==1){ s(z); }
               else if(strat == 2){ s(z); p(z); }
               else if(strat == 3){ s(z); p(z); s(z); d(z);}
			   else if(strat == 4){ s(z); p(z); s(z); d(z);}
     }
   
     
    
    system("pause>nul");
}