👤

Problema valutar (am luat doar 20/50 la prima cerinta) (pb.info.ro). As avea nevoie sa stiu ce este gresit la prima cerinta. Dau 100 de puncte cel care gaseste greseala.

Acesta este codul meu:

#include

using namespace std;

ifstream cin("valutar.in");

ofstream cout("valutar.out");

struct jocvalutar

{

int ldpe;

int lppe;

int lj;

int ej;

int cj;

int pozj;

}v[10005];

long long c,nr0,a,b,n,m,l,e,x,cop,k,i,nr,j,ok=1,mx=-1,mx2;

char cod[10005];

int main()

{cin>>c;

cin>>a>>b>>nr0;

cin>>n>>m>>l>>e>>x;

for (i=1; i<=n; i++)

{

cin>>cod[i]>>v[i].ldpe>>v[i].lppe;

}

for (i=1; i<=m; i++)

{

v[i].lj=l;

v[i].ej=e;

v[i].pozj=1;

v[i].cj=0;

}

cop=m;

for (i=1; i<=x; i++)

{

nr++;

if (nr>m) nr=1;

nr0=(a*nr0+b)%n+1;

v[nr].pozj+=nr0;

if (v[nr].pozj>n) v[nr].pozj=v[nr].pozj%n;

if (cod[v[nr].pozj]=='R') v[nr].cj++;

if (cod[v[nr].pozj]=='G')

{

if (v[nr].lj-v[nr].pozj*v[v[nr].pozj].ldpe>=0) {v[nr].lj=v[nr].lj-v[nr].pozj*v[v[nr].pozj].ldpe; v[nr].ej+=v[nr].pozj;}

else if (v[nr].lj-v[nr].pozj*v[v[nr].pozj].ldpe<0&&v[nr].cj==0) {cop--;}

else if (v[nr].lj-v[nr].pozj*v[v[nr].pozj].ldpe<0&&v[nr].cj>0) v[nr].cj--;

}

if (cod[v[nr].pozj]=='V')

{

if (v[nr].ej-v[nr].pozj>=0) {v[nr].ej=v[nr].ej-v[nr].pozj; v[nr].lj=v[nr].lj+v[nr].pozj*v[v[nr].pozj].lppe;}

else if (v[nr].ej-v[nr].pozj<0&&v[nr].cj==0) {cop--;}

else if (v[nr].ej-v[nr].pozj<0&&v[nr].cj>0) v[nr].cj--;

}

if (cop
{

for (j=nr; j<=m; j++)

{

v[j].lj=v[j+1].lj;

v[j].ej=v[j+1].ej;

v[j].pozj=v[j+1].pozj;

v[j].cj=v[j+1].cj;

}

m--;

}

}

if (c==1) cout< return 0;

}


Răspuns :

Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.


Wix Learning: Alte intrebari