Ce_facem_azi

using namespace std; struct nod{ int nr; nod *urm; }; void adaug(nod *&pr,int x) { nod *p=new nod; p->nr=x; p->urm=pr; pr=p; } void afis(nod *pr) { nod *p; for(p=pr;p!=NULL;p=p->urm) cout<nr<<" "; } int main { srand(time(NULL)); int a[15]={0},i,x; nod *pr=NULL; for(i=1;i<=52;i++) { x=(rand)%13+2; a[x]++; if(a[x]<=4) adaug(pr,x); else { while(a[x]>4&&x<=14)x++; if(x>14)x=1; while(a[x]>4&&x<=14)x++;
 * 1) include

a[x]++; adaug(pr,x); } } for(i=1;i<=14;i++) cout<>n;

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

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

if(i==1 || j==1 || i==n || j==n)

a[i][j]=i+j;

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

for(j=2;j<=n-1;j++)

a[i][j]=a[i-1][j-1]+a[i-1][j]+a[i-1][j+1];

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

{cout<>n>>m; for(i=1;i<=m;i++) { f>>x>>y; a[x][y]=a[y][x]=1; }} int este(int x, int y) {int i; for(i=1;i>n; for(i=1;i<=n;i++) f>>x[i]; y[n]=1; for(i=n-1;i>0;i--) { max=0; for(j=i+1;j<=n;j++) if(x[i]max) max=y[j]; y[i]=max+1; } max=0; int poz; for(i=1;i<=n;i++) if(y[i]>max) {max=y[i]; poz=i;} cout<<"lungime maxima: "<>n; cout<<"Dati m: "<>m; q=m; cout<<"Dati multimea B: "<>A[i]; cout<<"Dati multimea A: "<>B[j]; for(i=1;iA[j]) swap(A[i],A[j]); for(i=1;iB[j]) swap(B[i],B[j]); for(i=1;i<=m;i++) if(A[i]<0) { k++; s=A[i]*B[k]+s; cout<=1;i--) if(A[i]>0) { s=A[i]*B[q]+s; q--; cout<>n>>m; for(i=1;i<=n;i++) for(j=1;j<=m;j++) f>>x[i][j]; f>>i>>j; } void fill(int i,int j) { int p,inou,jnou; if(x[i][j]==1) { for(p=1;p<=7;p++) { inou=dx[p]+i; jnou=dy[p]+j; if(inou>=1 && inou<=n && jnou>0 && jnou<=m) { if(x[inou][jnou]==0) { s++; x[inou][jnou]=2; } } }
 * 1) include
 * 2) include
 * 3) include

x[i][j]=2; fill(i+1,j); fill(i,j+1); fill(i-1,j); fill(i,j-1); fill(i+1,j+1); fill(i+1,j-1); fill(i-1,j+1); fill(i-1,j-1); }

} int main { citire; fill(i,j); cout<>n;

fi>>x>>y;

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

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

fi>>A[i][j];

fill(x,y);

cout<>n>>m; for (i=1;i<=n;i++) for (j=1;j<=m;j++) f>>a[i][j]; f>>c1>>c2; f.close; }
 * 1) include
 * 2) include
 * 3) include

int verif (int i,int j) {int k,ok=0,inou,jnou; for (k=0;k<=7;k++) { inou=i+dx[k]; jnou=j+dy[k]; if (a[inou][jnou]==c2) ok=1; } if (ok==0) return 0; return 1; }

int main {int i,j; for (i=1;i<=n;i++) for (j=1;j<=m;j++) if (a[i][i]==c1 && verif (i,j)==1) cout<<"DA"; else cout<<"NU"; return 0; }

17.11.'11 Joi :
//** Sa se verifice daca 2 puncte din matrice fac parte din acelasi obiect : **//

using namespace std; int n,m,size,a[10][10],x1,x2,k=2,y1,y2; void citire { int i,j; ifstream f("txt"); f>>n>>m; f>>x1>>y1; f>>x2>>y2; for(i=1;i<=n;i++)
 * 1) include
 * 2) include
 * 3) include

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

f>>a[i][j]; } void fill(int i, int j,int k) { if(a[i][j]==1) {a[i][j]=k; fill(i-1,j+1,k); fill(i-1,j,k); fill(i-1,j-1,k); fill(i,j-1,k); fill(i,j+1,k); fill(i+1,j+1,k); fill(i+1,j,k); fill(i+1,j-1,k); } } int main { int i,j,max=0; citire; fill(x1,y1,2); if(a[x1][y1]==a[x2][y2]) cout<<"Face parte din obiect"; else cout<<"Nu face parte din obiect"; cout<>n>>m;

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

for(int j=1;j<=m;j++)

f>>a[i][j];

f.close;

}

void fill(int i,int j,int k)

{if(a[i][j]==k)

{a[i][j]=-k;

d++;

fill(i+1,j-1,k);

fill(i+1,j,k);

fill(i+1,j+1,k);

fill(i,j+1,k);

fill(i-1,j+1,k);

fill(i-1,j,k);

fill(i-1,j-1,k);

fill(i,j-1,k);

}

}

int main

{int i,j;

citire;

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

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

{

if(a[i][j]>0)

k=a[i][j];

d=0;

fill(i,j,k);

if(d>dmax)

{

dmax=d;

x[1].i=i;

x[1].j=j;

x[1].cod=k;

nrob=1;

}

else if(d==dmax)

{

nrob++;

x[nrob].i=i;

x[nrob].j=j;

x[nrob].cod=k;

}

}

cout<<"Dimensiunea maxima"<<dmax<<endl;

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

cout<<"culoarea"<<x[i].cod<<"cu punctul:"<<"("<<x[i].i<<","<<x[i].j<<")."<<endl;

}

#include
using namespace std; int n,m,size,a[10][10]; void citire { int i,j; ifstream f("txt"); f>>n>>m; for(i=1;i<=n;i++) for(j=1;j<=m;j++) f>>a[i][j]; } void fill(int i, int j) { if(a[i][j]==1) {a[i][j]=2; fill(i-1,j+1); fill(i-1,j); fill(i-1,j-1); fill(i,j-1); fill(i,j+1); fill(i+1,j+1); fill(i+1,j); fill(i+1,j-1); } } int main { int i,j,max=0,k=1; citire; for(i=1;i<=n;i++) for(j=1;j<=m;j++) {fill(i,j); i=j=n+1; } for(i=1;i<=n;i++) for(j=1;j<=m;j++) if(a[i][j]==1) {cout<<"Mai avem obiecte !"; return 1; } cout<<"Nu mai avem obiecte !"; }

__Joi 10 Noiembrie 2011__

 * 1) include


 * 1) include


 * 1) include

using namespace std;

int n,m,L[10][10],sol[10][10],io,jo,nrsol,solmin[10][10];

int dx[]={-1,-1,-1,0,1,1,1,0};

int dy[]={-1,0,1,-1,-1,-1,0,1,1};

void citire

{int i,j;

ifstream f("date.in");

f>>n>>m>>io>>jo;

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

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

f>>L[i][j];

}

void afisare

{int i,j;

nrsol++;

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

{for(j=1;j<=m;j++)

cout<<sol[i][j]<<" ";

cout<<endl;

}

cout<<endl;

}

void traseu(int i,int j,int pas)

{int inou,jnou,k;

for(k=0;k<=7;k++)

{ inou=i+dx[k];

jnou=j+dy[k];

if(inou>=1 && jnou>=1 && inou<=n && jnou<=m)

{if(L[inou][jnou]<L[i][j])

{sol[inou][jnou]=pas;

if(inou==1 || inou==n || jnou==1 || jnou==m)afisare;

traseu(inou,jnou,pas+1);

sol[inou][jnou]=0;

}

}

}

}

int main

{citire;

sol[io][jo]=1;

traseu(io,jo,2);

cout<<"Numarul de solutii: "<<nrsol;

}

__Miercuri 9 Noiembrie 2011__
using namespace std; int dx[]={-2,-1,1,2,2,1,-1,-2}; int dy[]={-1,-2,-2,-1,1,2,2,1}; int n,m,L[10][10],sol[10][10],io,jo,i1,j2,nrsol; void citire {int i,a,b; ifstream f("date.in"); f>>n>>m; for(i=1;i<=m;i++) { f>>a>>b; L[a][b]=-1; } f>>io>>jo>>i1>>j2; } void afisare {int i,j; nrsol++; for(i=1;i<=n;i++) { for(j=1;j<=n;j++) cout<<sol[i][j]<<" "; cout<<endl; } cout<<endl; } void traseu(int i,int j,int pas) {int inou,jnou,k; for(k=0;k<=7;k++) { inou=i+dx[k]; jnou=j+dy[k]; if(inou>=1 && inou<=n && jnou>=1 && jnou<=n) { if(sol[inou][jnou]==1 && sol[i1][j2]>0) afisare; else if(sol[inou][jnou]==0 && L[inou][jnou]!=-1) { sol[inou][jnou]=pas; traseu(inou,jnou,pas+1); sol[inou][jnou]=0; } } } } int main {citire; sol[io][jo]=1; traseu(io,jo,2); cout<<endl; cout<<"Numar solutii: "<<nrsol; return 0; }
 * 1) include
 * 2) include
 * 3) include

__ Luni 7 Noiembrie 2011 __
Un labirint dreptunghiular cu m linii si n coloane contine culoare (reprezentate prin 0) si pereti (reprezentati prin -1). Se dau coordonatele initiale ale unui soricel si coordonatele finale in care trebuie sa ajunga. Pe culoare se gasesc bucati de branza pt care se cunoaste greutatea in grame. a) Sa se genereze toate solutiile., pt fiecare se afiseaza cantitatea consumata b) Sa se afiseze solutia cea mai „consistenta” (Soricelul se poate deplasa in 8 directii) using namespace std; int Dx[]={-1,-1,0,1,1,1,0,-1}; int Dy[]={0,1,1,1,0,-1,-1,-1}; int n,m,x1,y,x2,y2,L[50][50],sol[50][50];
 * 1) include
 * 2) include
 * 3) include

void citire {int i,j; ifstream f("date.in"); f>>n>>m>>x1>>y>>x2>>y2; for(i=1;i<=n;i++) {for(j=1;j<=m;j++) f>>L[i][j];} }

void afisare(int c) {int i,j; cout<<"Cantitatea consumata:"<<c<<endl; for(i=1;i<=n;i++) {for(j=1;j<=m;j++) cout<<setw(3)<<sol[i][j]; cout<<endl; } } void traseu(int i,int j,int pas,int c) {int inou,jnou,k; for(k=0;k<=7;k++) {inou=i+Dx[k]; jnou=j+Dy[k]; if(inou>0 && jnou>0 && inou<=n && jnou<=m) if (L[inou][jnou]>=0 && sol[inou][jnou]==0 ) {sol[inou][jnou]=pas; if(inou==x2 && jnou==y2) afisare(c+L[inou][jnou]); else traseu(inou,jnou,pas+1,c+L[inou][jnou]); sol[inou][jnou]=0; }}}

int main {int i; citire; sol[x1][y]=1; traseu(x1,y,2,0); }

= LABIRINT (calea cea mai scurta) = using namespace std; int n,m,L[10][10],sol[10][10],nrsol,is,js,xf,yf,dx[]={-1,0,1,0},dy[]={0,1,0,-1},nrpas=100,solmin[10][10]; void citire { ifstream f("DATE.in"); f>>n>>m>>is>>js>>xf>>yf; int i,j; for(i=1;i<=n;i++) for(j=1;j<=m;j++) f>>L[i][j]; } void afisare(int n,int m,int sol[][10]) { int i,j; nrsol++; cout<<"Sol nr: "<<nrsol<<endl; for(i=1;i<=n;i++) { for(j=1;j<=m;j++) cout<<setw(3)<<sol[i][j]; //sfisare mqtrice ordonata// //cout<<endl;// //}// int minim(int ) } void traseu(int i,int j,int pas) { int inou,jnou,k,t,u; for(k=0;k<4;k++) { inou=i+dx[k]; jnou=j+dy[k]; if(inou>=1 && inou<=n && jnou>=1 && jnou<=m)// ramane in matrice if(L[inou][jnou]==0 && sol[inou][jnou]==0) { sol[inou][jnou]=pas; if(inou==xf && jnou==yf) { if(pas<nrpas) { nrpas=pas; for(t=1;t<=n;t++) for(u=1;u<=m;u++) solmin[t][u]=sol[t][u]; } else; } else if(pas<nrpas) traseu(inou,jnou,pas+1); sol[inou][jnou]=0; }}} int main { citire; sol[is][js]=1; traseu(is,js,2); afisare(n,m,solmin); return 0; } =LABIRINT= using namespace std; int n,m,L[10][10],sol[10][10],nrsol,is,js,dx[]={-1,0,1,0},dy[]={0,1,0,-1}; void citire { ifstream f("DATE.in"); f>>n>>m>>is>>js; int i,j; for(i=1;i<=n;i++) for(j=1;j<=m;j++) f>>L[i][j]; } void afisare { int i,j; nrsol++; cout<<"Sol nr: "<<nrsol<<endl; for(i=1;i<=n;i++) { for(j=1;j<=m;j++) cout<<setw(3)<<sol[i][j]; //sfisare mqtrice ordonata// //cout<<endl;// //}// //}// //void traseu(int i,int j,int pas)// //{// //int inou,jnou,k;// //for(k=0;k<4;k++)// //{// //inou=i+dx[k];// //jnou=j+dy[k];// //if(inou>=1 && inou<=n && jnou>=1 && jnou<=m)// ramane in matrice if(L[inou][jnou]==0 && sol[inou][jnou]==0) { sol[inou][jnou]=pas; if(inou==1 || inou==n || jnou==1 || jnou==m) afisare; traseu(inou,jnou,pas+1); sol[inou][jnou]=0; }}} int main { citire; sol[is][js]=1; traseu(is,js,2); return 0; } = __Problema spectacolelor:__ = using namespace std; struct spectacol{int oi,os;}; spectacol a[100],aux; int main {int i,j,m=0,n; ifstream f("date.in"); f>>n; for(i=1;i<=n;i++) f>>a[i].oi>>a[i].os; for(i=1;i<=n;i++) { for(j=i+1;j<=n;j++) {if(a[i].os>a[j].os) aux=a[i]; a[i]=a[j]; a[j]=aux; } } for(i=1;i<=n;i++) {if(a[i].oi>=m) {cout<<"["<<a[i].oi<<","<<a[i].os<<"]"<<endl; m=a[i].os; }} }
 * 1) include
 * 2) include
 * 3) include
 * 1) include
 * 2) include
 * 3) include
 * 1) include
 * 2) include

= __Problema Rucsacului__ =

//obiecte - greutate si valoare//

G maxima admisa

//G = 10//

n = 6

//g[i] = {3, 3, 1, 1, 2, 1}//

v[i] = {7, 4, 2, 9, 4, 5}

// sol valoarea maxima 29 xm[i] = {1, 2, 4, 5, 6}


 * 1) include


 * 1) include

using namespace std;

int n,i,G[100],V[100],S[100],REZ[100];

int greutate,vmax;

void afis(int n, int s, int v)

{int k;

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

cout<<S[k]<<" ";

cout<<"--"<<s<<"--"<<v<<endl;

}

void afiseaza

{

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

if (REZ[i]!=0)

cout<<REZ[i]<<" ";

cout<<" ->> "<<vmax<<endl;

}

void back(int i, int s, int v)

{

int j,k;

for (j=0;j<=1;j++)

{

S[i]=j;

s=s+j*G[i];

v=v+j*V[i];

if (i==n)

{

afis(i,s,v);

if (s<=greutate)

if (v>vmax)

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

{

REZ[k]=S[k]*V[k];

vmax=v;

}

}

else

if(s<greutate) back(i+1,s,v);

}

}

int main

{

ifstream fin("rucsac.in");

fin>>n>>greutate;

vmax=-1;

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

fin>>G[i]>>V[i];

back(1,0,0);

afiseaza;

return 0;

}

__Luni 24 octombrie__ __Problema bancnote__


 * 1) include

using namespace std;

int x[100],n,S,b[100],xm[10],nrmin=10000;

void scrie(int k){

int i,s=0;

for(i=1;i<=k;i++){

cout<<b[i]<<"*"<<x[i]<<" + ";

s=s+b[i]*x[i];}

cout<<" -"<<s;

cout<<endl;

}

void suma(int i, int s,int nr)

{

int j,sramas,nrnou=0,k;

for(j=s/b[i];j>=0;j--)

{

x[i]=j;

sramas=s-x[i]*b[i];

nrnou=nrnou+x[i];

if(sramas==0)

if(nrnou<nrmin)

{ nrmin=nrnou;

xm[0]=i;

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

xm[k]=x[k];

}

else ;

else

if(nrnou<nrmin && i<n )

suma(i+1,sramas,nrnou);

}

}

int main{

int i,j,aux;

cin>>n>>S;

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

cin>>b[i];

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

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

if(b[i]<b[j])

{

aux=b[i];

b[i]=b[j];

b[j]=aux;

}

suma(1,S,0);

for(i=1;i<=xm[0];i++)

cout<<xm[i]<<"*" <<b[i]<<"+";

cout<<endl;

}

__problema suma submultimi(ctime, start/stop optional):__


 * 1) include


 * 1) include

using namespace std;

int x[100],n,S,b[100];

clock_t start,stop;

void scrie(int k){

int i,s=0;

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

cout<<b[x[i]]<<" + ";

cout<<endl;

}

void suma(int i, int s){

int j,sramas;

for(j=x[i-1]+1;j<=n;j++){

x[i]=j;

sramas=s-b[x[i]];

if(sramas==0) scrie(i);

else if(sramas>0) suma(i+1,sramas);

}

}

int main{

int i;

cin>>n>>S;

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

cin>>b[i];

start=clock;

suma(1,S);

stop=clock;

cout<<(double) (stop-start)/CLOCKS_PER_SEC;

}

__problema submultimi(<7;>=10)__


 * 1) include

using namespace std;

int x[10];

void scrie(int i){

int j;

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

cout<<x[j]<<" ";

cout<<endl;

}

void back(int i){

int j;

for(j=x[i-1]+1;j<=10;j++){

x[i]=j;

scrie(i);

back(i+1);

}

}

int main{

x[1]=7;

scrie(1);

back(2);

}

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = __VINERI 21 Octimbrie 2011;__ =

__problema bacnote__


 * 1) include

using namespace std;

int x[100],n,S,b[100];

void scrie(int k){

int i,s=0;

for(i=1;i<=k;i++){

cout<<b[i]<<"*"<<x[i]<<" + ";

s=s+b[i]*x[i];}

cout<<" -"<<s;

cout<<endl;

}

void suma(int i, int s){

int j,sramas;

for(j=0;j<=s/b[i];j++){

x[i]=j;

sramas=s-x[i]*b[i];

if(sramas==0) scrie(i);

else if(i<n) suma(i+1,sramas);

}

}

int main{

int i;

cin>>n>>S;

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

cin>>b[i];

suma(1,S);

}

= = = = = = = = = = = = = = = = = = = = = __Miercuri 5 Octombrie 2011__ =

__Nr de tel de 6 cifre__

> #include > using namespace std; > int x[11],nr=0; > void afisare > {int i;nr++; > for(i=1;i<7;i++) > cout<<x[i]<<" "; > cout<<endl; > }

> int verif(int i) > {int j,s=0,ok=0;

> if(i>=4 && x[i]==0 && x[i-1]==0 && x[i-2]==0) > return 0;

> if(i==6) > {for(j=3;j<7;j++) > if(x[j]==0 && x[j-1]==0) > ok=1; > if(ok==0) > return 0; > for(j=2;j<7;j++) > if(x[j]==0) > s++; > if(s!=3) > return 0; > } > return 1; > }

> void back(int i) > {int j; > for(j=0;j<10;j++) > {x[i]=j; > if(verif(i)) > if(i==6) > afisare; > else back(i+1);} > }

> int main > {x[1]=4; > back(2); > cout<<nr; > } >

using namespace std; int n,a[10],x[10],s; void scrie {int i; for(i=1;i<n;i++) cout<<a[i]*x[i]<<" "; cout<<endl; } int verif(int i) {int j,k=0; if(i==n) {for(j=0;j<=n;j++) k=k+a[j]*x[j]; if(k!=s)return 0;} return 1; } void back(int i) {int j; for(j=-1;j<=1;j+=2) {x[i]=j; if(verif(i)) if(i==n) scrie; else back(i+1); }} int main {int i; cout<<"n:"; cin>>n; cout<<"s:"; cin>>s; cout<<"dati tabloul:"; for(i=0;i<n;i++) cin>>a[i]; back(1); return 0; } =__ Luni 3 Octombrie 2011 __= using namespace std; char x[100],voc[]="aeiou"; int n,nrsol,l; void scrie {int i; nrsol++; for(i=1;i<=n;i++)cout<<x[i]<<" "; cout<<endl; } int verif(int i) {int j; for(j=1;j<i;j++) if(x[i]==x[j])return 0; if(i==1 && strchr(voc,x[i])==0) return 0; if(i==n && strchr(voc,x[i]))return 0; return 1; } void back(int i) {char j; for(j='a';j<='z';j++) {x[i]=j; if(verif(i)==1) if(i==n)scrie; else back(i+1); } } int main { cout<<"n: "; cin>>n; back(1); cout<<nrsol; }
 * 1) include
 * 1) include

using namespace std; char x[100],a[]="abcdefgh",voc[]="aeiou"; int n,nrsol,l; void scrie {int i; nrsol++; for(i=1;i<=n;i++)cout<<x[i]<<" "; cout<<endl; } int verif(int i) { if(i>1 && strchr(voc,x[i]) && strchr(voc,x[i-1])!=0) return 0; return 1; } void back(int i) {int j; for(j=0;j<l;j++) {x[i]=a[j]; if(verif(i)==1) if(i==n)scrie; else back(i+1); } } int main { cout<<"n: "; cin>>n; l=strlen(a); back(1); cout<<nrsol; }
 * 1) include

=__ Vineri 30 septembrie 2011 __= varianta indici: using namespace std; int x[10],n,s,a[10],k; void scrie{ int i; s++; for(i=1;i<=k;i++) cout<<a[x[i]]<<" "; cout<<endl; } int verif(int i){ int j; for(j=1;j<i;j++) if(x[i]==x[j]) return 0; if(i>1 && ax[i]%2==a[x[i-1]]%2) return 0; return 1; } void back(int i){ int j; for(j=1;j<=n;j++){ x[i]=j; if(verif(i)) if(i==k) scrie; else back(i+1); } } int main{ int i,j; cout<<"n="; cin>>n; cout<<"k="; cin>>k;
 * 1) include

cout<<"tablou="<<endl; for(i=1;i<=n;i++) cin>>a[i]; back(1); cout<<endl<<"nr solutii="<<s; }

varianta simpla: using namespace std; int x[10],n,s,a[10],k; void scrie{ int i; s++; for(i=1;i<=k;i++) cout<<x[i]<<" "; cout<<endl; } int verif(int i){ int j; for(j=1;j<i;j++) if(x[i]==x[j]) return 0; if(i>1 && x[i]%2==x[i-1]%2) return 0; return 1; } void back(int i){ int j; for(j=1;j<=n;j++){ x[i]=a[j]; if(verif(i)) if(i==k) scrie; else back(i+1); } } int main{ int i,j; cout<<"n="; cin>>n; cout<<"k="; cin>>k;
 * 1) include

cout<<"tablou="<<endl; for(i=1;i<=n;i++) cin>>a[i]; back(1); cout<<endl<<"nr solutii="<<s; }

= = = = = = = = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ = = = = =__ Joi 29 septembrie 2011 __= __ problema camile: __ using namespace std; int x[10],n,s; void scrie{ int i; s++; for(i=1;i<=n;i++) cout<<x[i]<<" "; cout<<endl; } int verif(int i){ int j; for(j=1;j<i;j++){ if(x[i]==x[j]) return 0; if(i>1 && x[i]-x[i-1]==1) return 0;} return 1; } void back(int i){ int j; for(j=1;j<=n;j++){ x[i]=j; if(verif(i)) if(i==n) scrie; else back(i+1); } } int main{ int i,j; cin>>n; back(1); cout<<endl<<"nr solutii="<<s; }
 * 1) include

using namespace std; int x[10],n,s; char a[10][10]; void scrie{ int i; s++; for(i=1;i<=n;i++) cout<<a[x[i]]<<" "; cout<<endl; } int verif(int i){ int j; for(j=1;j<i;j++) if(x[i]==x[j]) return 0; return 1; } void back(int i){ int j; for(j=1;j<=n;j++){ x[i]=j; if(verif(i)) if(i==n) scrie; else back(i+1); } } int main{ int i,j; cin>>n; for(i=1;i<=n;i++) cin>>a[i]; back(1); cout<<endl<<"nr solutii="<<s; }
 * 1) include

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

= __** 11 A **__ =

__**Luni 26 Septembrie 2011:**__


 * 1) include

using namespace std;

int f(int a)

{int i=2,s=0;

while(a!=1)

if(a%i==0){s+=1;a/=i;}

else i++;

return s;

}

int main

{int a,n,i=0,c,u,s,z,d,e,b;

cout<<"Dati un n de la 1 pana la 999:";

cin>>n;

s=n/100;

z=n/10%10;

u=n%10;

a=s*100+u*10+z;

b=z*100+s*10+u;

c=u*100+z*10+s;

d=z*100+u*10+s;

e=u*100+s*10+z;

if(f(n)==1 && f(a)==1 && f(b)==1 && f(c)==1 && f(d)==1 && f(e)==1)cout<<"Da";

else cout<<"Nu";

}

__**Marti 20 Septembrie 2011:**__

The Swedish Chef is a character from the Muppet Show. He spoke in his own language. The language is a combination of English, mock-Swedish and nonsense. Your task is to create an English to Chef translator. The language rules in priority order are as foll char a[]=" BORK BORK BORK!",s[100];
 * 1) include<iostream.h>
 * 2) include<fstream.h>

void BORK(char s[]) {strcat(s,a);} void f8(char s[]) {int i,n=strlen(s),k=0; char a[100]; for(i=0;i<=n;i++) if(s[i]=='E' && (s[i+1]==' '|| s[i+1]=='.')) {a[k]='E'; a[k+1]='-'; a[k+2]='A'; k+=3;} else {a[k]=s[i]; k++;} strcpy(s,a); } void f10(char s[],char c1,char c2) {char *p; while(p=strchr(s,c1)) s[p-s]=c2; } void f4(char s[]) {int i; for(i=0;i<strlen(s);i++) if(s[i]=='A' && s[i+1]!=' ' && s[i+1]!='.') s[i]='E'; } void f5(char s[]) { int i,k=1,ok=1; char a[100]; a[0]=s[0]; for(i=1;i<strlen(s);i++) if(s[i]=='I' && s[i-1]!=' ' && ok) {a[k]='E'; a[k+1]='E'; k=k+2; ok=0; } else {if (s[i]==' ') ok=1; a[k]=s[i]; k++;} strcpy(s,a); } void f7(char s[]) { int i,k=0; char a[100]; for(i=0;i<=strlen(s);i++) if(s[i]!='F') {a[k]=s[i]; k++;} else {a[k]='F'; a[k+1]='F'; k=k+2; } strcpy(s,a); } void f2(char s[],char t[],char u[]) {int a=strlen(t); char v[100],*p; v[0]=NULL;

while(p=strstr(s,t)) {strcpy(v,s); v[p-s]='\0'; strcat(v,u); strcat(v,p+a); strcpy(s,v); v[0]=NULL;} }

int main { ifstream f("date.in"); ofstream g("date.out"); int n,i,j; f>>n; f.get; for(i=0;i<n;i++) { f.getline(s,100); f2(s,"THE","ZEE"); f2(s,"AN","UN"); f2(s,"AU","OO"); f4(s); f2(s,"OW","OO"); f2(s,"O","U"); f2(s,"IR","UR"); f2(s,"TION","SHUN"); f5(s); f7(s); f8(s); f2(s,"EN","EE"); f2(s,"V","F"); f2(s,"W","V"); BORK(s); g<<s<<endl; } }

// __**Joi 15 Septembrie 2011:**__ // //2 . Se citesc cele n elemente ale unui tablou de numere intregi. Sa se scrie un subprogram care afiseaza mesajul ** DA ** dacă elementele pare în şir sunt în ordine crescătoare, iar cele impare sunt în ordine descrescătoare şi mesajul ** NU ** în caz contrar. // //** Exemplu ** : n= ** 8 10 1133 12 331 42 1354 221 13 Se va afisa DA **// //#include // //using namespace std;// //void Dasaunu(int n,int x[])// //{int i,j,ok=1;// //for(i=0;i<n-1;i++)// //for(j=i+1;j<n;j++)// //{if(x[i]>x[j] && x[i]%2==0 && x[j]%2==0) ok=0;// //if(x[i]<x[j]&&x[i]%2 && x[j]%2)ok=0;}// //if(ok==0)cout<<"Nu";// //else cout<<"Da";// //}// //int main// //{int n,s,v[100],i;// //cout<<"Dati nr de cifre:";// //cin>>n;// //cout<<"Dati tabloul:";// //for(i=0;i<n;i++)// //cin>>v[i];// //Dasaunu(n,v);// //return 0;// //}// // Subprogramul **<span style="font-family: 'CourierNew,Bold'; font-size: 11pt;">sub ** are trei parametri: // //**<span style="font-family: 'CourierNew,Bold'; font-size: 11pt;">-n **, prin care primeste un număr natural ( **<span style="font-family: 'CourierNew,Bold'; font-size: 11pt;">0<n<100 ** ); // //**<span style="font-family: 'CourierNew,Bold'; font-size: 11pt;">-v **, prin care primeste un tablou unidimensional care memorează un sir de **<span style="font-family: 'CourierNew,Bold'; font-size: 11pt;">n ** numere naturale, fiecare având cel putin două cifre si cel mult patru cifre; // //**<span style="font-family: 'CourierNew,Bold'; font-size: 11pt;">-s **, un număr natural ( **<span style="font-family: 'CourierNew,Bold'; font-size: 11pt;">0<s<18 ** ). // // Subprogramul determină si afisează pe ecran, separate prin câte un spatiu, în ordine descrescătoare, toate numerele din sir care au suma dintre cifra unitătilor si cifra zecilor strict mai mare decât **<span style="font-family: 'CourierNew,Bold'; font-size: 11pt;">s **. Dacă sirul nu contine niciun astfel de număr, subprogramul afisează pe ecran mesajul **<span style="font-family: 'CourierNew,Bold'; font-size: 11pt;">NU EXISTA **. În urma apelului, tabloul transmis subprogramului ca parametru nu se modifică. // // Scrieti în limbajul **<span style="font-family: 'CourierNew,Bold'; font-size: 11pt;">C/C++ ** definitia completă a subprogramului **<span style="font-family: 'CourierNew,Bold'; font-size: 11pt;">sub **. // //**<span style="font-family: 'Arial,Bold'; font-size: 11pt;">Exemplu: ** pentru **<span style="font-family: 'CourierNew,Bold'; font-size: 11pt;">n=10 **, **<span style="font-family: 'CourierNew,Bold'; font-size: 11pt;">v=(351 ** , **<span style="font-family: 'CourierNew,Bold'; font-size: 11pt;">149 ** , **<span style="font-family: 'CourierNew,Bold'; font-size: 11pt;">3794 ** , **<span style="font-family: 'CourierNew,Bold'; font-size: 11pt;">502 ** , **<span style="font-family: 'CourierNew,Bold'; font-size: 11pt;">785 ** , **<span style="font-family: 'CourierNew,Bold'; font-size: 11pt;">258 ** , **<span style="font-family: 'CourierNew,Bold'; font-size: 11pt;">258 ** , **<span style="font-family: 'CourierNew,Bold'; font-size: 11pt;">1512 ** , **<span style="font-family: 'CourierNew,Bold'; font-size: 11pt;">489 ** , **<span style="font-family: 'CourierNew,Bold'; font-size: 11pt;">693) ** , // //**<span style="font-family: 'CourierNew,Bold'; font-size: 11pt;">s=12 ** în urma apelului, subprogramul afisează pe ecran, în această ordine, valorile: // //**<span style="font-family: 'CourierNew,Bold'; font-size: 11pt;">3794 785 489 258 258 149 **. // //#include // //using namespace std;// //void ordonare(int x[],int k)// //{int i,j,aux;// //for(i=0;i<k-1;i++)// //for(j=i+1;j<k;j++)// //if(x[i]<x[j])// //{aux=x[i];// //x[i]=x[j];// //x[j]=aux;}// //}// //void afisare(int x[],int k)// //{int i;// //cout<<"Tabloul aranjat este: ";// //for(i=0;i<k;i++)// //cout<<x[i]<<" ";// //}// //void sub(int n,int v[],int s)// //{int i,x[100],k=0;// //for(i=0;i<n;i++)// //if(v[i]%10+v[i]/10%10>s)// //{x[k]=v[i];// //k++;// //}// //if(k==0){cout<<"Nu exista! ERROR 404!";// //return;}// //ordonare(x,k);// //afisare(x,k);// //}// //int main// //{int n,s,v[100],i;// //cout<<"Dati nr de cifre:";// //cin>>n;// //cout<<"Dati tabloul:";// //for(i=0;i<n;i++)// //cin>>v[i];// //cout<<"Dati suma cu care trebuie comparate ultimele 2 cifre:";// //cin>>s;// //sub(n,v,s);// //return 0;// //}// // __**Miercuri 1 iunie 2011**__ //

//Desenarea unei spirale.//

//#include "graphics2.h"// //#include<math.h>// //void spirala(int rx, int ry)// //{// //int x,y,p=rx,q=ry;// //double d;// //double r(10);// //const double pi = 3.14159265;// //for(d=0; d<=8*pi; d+=0.01)// //{// //x=rx+(sin(d)*d)*r;// //y=ry+(sin(d+(pi/2))*(d+(pi/2))*r);// //line(x,y,p,q);// //p=x;// //q=y;// //}// //}//

//int main// //{//

//int driver, mod;// //initgraph(&driver, &mod, "", 1024, 768);//

//int midx = getmaxx/2;// //int midy = getmaxy/2;// //int xs=100,xd=400,ys=200,yd=200,i;// //spirala (400,400);// //delay (10000);//

//closegraph;// //return 0;// //}//

//__** Luni 9 Mai 2011 **__//

//1. Se cauta un numar y intr-un vector ordonat strict crescator.// //Modificati functia de CB astfel incat sa se afiseze mesajul DA/NU, in functie de rezultatul cautarii si nu pozitia la care se gaseste numarul in sir (respectiv -1).//

//2. Mai afisati in functia de mai sus si modul in care se selecteaza intervalele: jum. dreapta, jum. stanga etc.//

//3. Se da un tablou X de n numere naturale. Folosind un algoritm DI, se calculeaza cmmdc-ul numerelor din tablou. Sa se afiseze doar// //modul in care se determina, ca mai jos://

//daca n=2, se va afisa: cmmdc(X0,X1)// //daca n=3, se va afisa cmmdc (cmmdc (X0,X1), X2) )// //daca n=4, se va afisa cmmdc (cmmdc (X0,X1) , cmmdc(X2,X3) )//

//4*.//Placa perforata//. Se da o bucata dreptunghiulara de tabla cu lungimea L si inaltimea H, avand pe suprafata ei n gauri de coordonate numere intregi (relativ la coltul din stanga-jos al placii). Se cere sa se decupeze din placa o bucata de arie maxima care nu prezinta gauri. Sunt permise numai taieturi orizontale si verticale.// //Se citesc numarul de perforatii, coordonatele relative la coltul stanga jos al tablei al perforatiilor si lungimea si latimea tablei// //Ex: pentru:// //7// //2 17// //4 7// //31 2// //14 20// //25 13// //31 24// //14 1// //40 30// //Se obtine:// //Cea mai mare suprafata neperforata are coordonatele (4,1) ; (25,20)// //Are suprafata 399//

//** __Luni 2/5/2011 CMMDC a n Nr.__ **//

//#include // //using namespace std;// //int x[100],n;// //int cmmdc(int a,int b)// //{while(a!=b){if(a>b)a=a-b;// //else b=b-a;// //}// //return a;// //}// //int DI(int st,int dr)// //{int m,m1,m2;// //if(st==dr)return x[dr];// //m=st+dr/2;// //m1=DI(st,m);// //m2=DI(m+1,dr);// //return cmmdc(m1,m2);// //}// //int main// //{int i;// //cin>>n;// //for(i=0;i<n;i++)// //cin>>x[i];// //cout<<DI(0,n-1);// //}// // __**Vineri 29/04/2011 | Problema cu scop didactic- Aplicatie a Metodei "Divide et Impera".**__ //

//#include // //using namespace std;//

//int x[100],n;// //int DI(int st, int dr)// //{int mij, s1, s2;// //if(st==dr)// //return x[dr];// //mij=(st+dr)/2;// //s1=DI(st, mij);// //s2=DI(mij+1, dr);// //return s1+s2;// //}//

//int main// //{int i;// //cin>>n;// //for(i=0;i<n;i++)// //cin>>x[i];// //cout<<DI(0,n-1);// //}// // __**Miercuri 27 Aprilie 2011:**__ // //#include "graphics2.h"// //#include<stdlib.h>// //void patrat(int xs,int ys,int l,int n)// //{if(n)// //{setcolor(rand%15+1);// //rectangle(xs,ys,xs+l,ys-l);// //delay(10);// //patrat(xs-l/4,ys+l/4,l+l/2,n-1);// //}// //}// //int main// //{// //int driver, mod;// //initgraph(&driver, &mod, "", 1024, 768);// //patrat(300,300,20,30);//

//while( !kbhit );// //closegraph;// //return 0;// //}//

// Tema joi -> vineri 1 Aprilie (nu e gluma)// //Ex. 6, 8, 9, 10, 20 din lista de variante recursive bac, din materiale lectii// // **__Miercuri 30 martie 2011:__** //

//Triunghiul lui Pascal ://

//#include // //using namespace std;// //int main{// //int a[100][100]={0},n,i,j,c,m;// //cout<<"dati n:";// //cin>>n;// //m=n;// //for(i=0;i<n;i++)// //a[i][0]=1;// //for(i=1;i<n;i++)// //for(j=1;j<i;j++)// //a[i][j]=a[i-1][j]+a[i-1][j-1];// //for(i=0;i<n;i++){// //for(c=0;c<m;c++)// //cout<<" ";// //m--;// //for(j=0;j<i;j++)// //cout<<a[i][j]<<" ";// //cout<<endl;// //}// //return 0;// //}// //__** Luni 28 Martie 2011: **__// Sa se scrie o functie care transforma nr din baza 10 in baza 2 using namespace std; void transforma(int a,int b) {if(a!=0) {transforma(a/b,b); cout<<a%b<<endl;} } int main {int a,b; cin>>a>>b; transforma(a/b,b); }
 * 1) include

**__ Vineri 18 Martie 2011: __**
Sa se scrie o functie recursiva care calculeaza produsul cifrelor unui nr citit de la tastatura: using namespace std; int produs(int n) {if(n==0)return 1; if(n>0) return n%10*produs(n/10); } int main {int n; cin>>n; if(n==0){cout<<"0"; return 0;} cout<<produs(n); }
 * 1) include

Sa se scrie o functie care calculeaza nr de aparitii ale unei cifre date intr-un nr dat: using namespace std; int aparitie(int n,int k) {if (n==0)return 0; else if(n%10==k) return 1+aparitie(n/10,k); else return aparitie(n/10,k); } int main {int n,k; cin>>n; cin>>k; if(n==0 && k==0){cout<<"1"; return 0;} cout<<aparitie(n,k); }
 * 1) include
 * __ Miercuri 2 Martie 2011 __**
 * Se dă un vector format din n elemente, toate cifre. Să se efectueze urmatoarele operaţii până când vectorul nu va mai conţine elemente(lungimea sa va fi egală cu 0): **
 * - cautarea elementului 0 şi eliminarea tuturor elementelor din stânga lui şi a sa **
 * - calcularea mediei aritmetice a elementelor rămase în tablou **
 * - căutarea ultimei apariţii(de la stânga la dreapta, de la 0 la n) a mediei aritmetice în vector; (în cazul în care media aritmetică(partea întreagă) nu se regăseşte în vector se va căuta ultima apariţie a celui mai mare element mai mic decât media aritmetică **
 * - scăderea valorii 1 din acest element în cazul în care este impar şi a valorii 2 în cazul în care este par **
 * Să se afişeze numărul de paşi necesari parcurgerii programului pentru eliminarea tuturor elementelor din vector şi toate modificările făcute asupra vectorului.**


 * PROBLEMA ESTE REZOLVATA! **

using namespace std; void citire(int &n,int x[]) {int i; cin>>n; cout<<endl<<"Cititi elementele vectorului"; for(i=0;i<n;i++) cin>>x[i]; }
 * 1) include

void cauta_zero(int n,int x[],int &poz) { int i; poz=-1; for(i=n-1;i>=0;i--) { if(x[i]==0) { poz=i; break; } } }

void sterge(int &n,int x[],int poz) {int i; for(i=poz+1;i<n;i++) x[i-poz-1]=x[i]; n=n-poz-1; }

void afisare(int n, int x[]) {int i; cout<<endl; for(i=0;i<n;i++) cout<<x[i]<<" "; cout<<endl; }

int media(int n,int x[]){ int i,m,s=0; for(i=0;i<n;i++) s=s+x[i]; m=s/n; return m;}

void scade(int n, int x[], int poz1) { if(x[poz1]%2==0) x[poz1]=x[poz1]-2; else x[poz1]=x[poz1]-1; } void cauta_media( int n, int x[], int m, int &poz1) { int i; poz1=-1; for(i=n-1;i>=0;i--) if(x[i]==m){ poz1=i;break;} } void cauta_numar(int n,int x[],int m,int &poz1) {int i,m1=0; for(i=0;i<n;i++) if( x[i]<m && x[i]>=m1) {m1=x[i]; poz1=i; } } int main {int n,x[100],poz,m,poz1,p=1; cout<<"Cititi lungimea vectorului, iar mai apoi elementele"<<endl; citire(n,x); while(n) {cauta_zero(n,x,poz); if(poz!=-1) {sterge(n,x,poz); afisare(n,x);} if(n==0) break; m=media(n,x); cauta_media(n,x,m,poz1); if(poz1==-1) cauta_numar(n,x,m,poz1); scade(n,x,poz1); afisare(n,x); p++; } cout<<endl<<p<<" incercari"; return 0;}

__** Vineri 24 Februarie 2011 **__
using namespace std; int a[10][10],n; void citire {int i,j; cout<<"dati n"; cin>>n; for(i=0;i<n;i++) for(j=0;j<n;j++) cin>>a[i][j];} void afisare {int i,j; for(i=0;i<n;i++) {cout<<endl; for(j=0;j<n;j++) cout<<a[i][j]<<" ";}} void diagonala {int i; cout<<"Elementele de pe diagonala principala sunt:"<<endl; for(i=0;i<n;i++) cout<<a[i][i]<<" ";} int sumai(int i) {int s1=0,j; for(j=0;j<n;j++) s1=s1+a[i][j]; return s1;} int sumaj(int j) {int i,s2=0; for(i=0;i<n;i++) s2=s2+a[i][j]; return s2;} void inversare(int i,int j) //inversarea elementelor de pe i si j!// // {int k,aux; // // for(k=0;k<n;k++) // // {aux=a[i][k]; // // a[i][k]=a[j][k]; // // a[j][k]=aux;} // // } // // int sumads( // ) suma de pe Diagonala secundara,exercitiu nou! {int i,j,s=0; for(i=0;i<n;i++) s=s+a[i][n-1-i]; return s; } void schimba //schimbarea elementelor de pe DP si DS! {int i,aux; for(i=0;i<n;i++) {aux=a[i][i]; a[i][i]=a[i][n-1-i]; a[i][n-1-i]=aux; }} int main {int s1,s2,s,m; cin>>m; cin>>s; citire; afisare; diagonala; inversare(0,1); afisare; schimba; afisare; cout<<"suma de pe linia i"<<sumai(m)<<endl; cout<<"suma de pe coloana j"<<sumaj(s)<<endl; cout<<"suma pe DS este:"<<sumads; }
 * Completare la programul de ieri: **
 * 1) include

__** Joi 23 februarie 2011 **__
using namespace std; int a[10][10],n; void citire {int i,j; cout<<"dati n"; cin>>n; for(i=0;i<n;i++) for(j=0;j<n;j++) cin>>a[i][j]; } void afisare {int i,j; for(i=0;i<n;i++) {cout<<endl; for(j=0;j<n;j++) cout<<a[i][j]<<" ";} } void diagonala {int i; cout<<"Elementele de pe diagonala principala sunt:"; for(i=0;i<n;i++) cout<<a[i][i]<<" ";
 * 1) include

} int sumai(int i) {int s1=0,j; for(j=0;j<n;j++) s1=s1+a[i][j]; return s1; } int sumaj(int j) {int i,s2=0; for(i=0;i<n;i++) s2=s2+a[i][j]; return s2; } int main {int s1,s2,s,m; cin>>m; cin>>s; citire; afisare; diagonala; cout<<"suma de pe linia i"<<sumai(m); cout<<"suma de pe coloana j"<<sumaj(s); }

__** Joi 17 februarie 2011 **__
O intrebare are 3 variante de raspuns din care 1 este corecta.Pentru fiecare raspuns corect elevul primeste un punct. a) Cunoscand variantele corect, afisati punctajul fiecaruia . b) Afisati elevi descrescator dupa punctaj.

//#include // //#include // //using namespace std;// //struct elev// //{// //char nume[100];// //int pct;// //};// //elev e[100];// variabila globala int n; char corect[20];

void citire {int i,j; char a[100]; ifstream f("grila"); f>>n; f>>corect; for(i=0;i<n;i++) {f>>e[i].nume; f>>a; for(j=0;j<strlen(corect);j++) if(corect[j]==a[j]) e[i].pct++; } }

void afisare {int i; for(i=0;i<n;i++) cout<<e[i].nume<<"-"<<e[i].pct<<endl; }

void ordonare {int i,j; for(i=0;i<n;i++) for(j=i+1;j<n;j++) if(e[i].pct<e[j].pct) swap(e[i],e[j]); }

int main {citire; ordonare; afisare; }

** Miercuri 16 februarie 2011 **
Tema pt joi Se da un tablou de numere intregi. a) sa se determine elementul maxim si cel maxim (intr-o singura functie) b) sa se afle numarul de aparitii ale unei valori date, k, in tablou c)sa se elimine elementul de pe pozitia t Se vor scrie functii pentru citirea si afisarea unui tablou.

Vineri 11 februarie 2011
1. Din nou zaruri. Doi copii se joaca iar. Fiecare arunca, pana da 6. Castiga cel care a aruncat toate fetele. Daca ambii au aruncat toate fetele, castiga cel care are suma zarurilor mai mare. Daca sumele sunt egale,castiga cel care a aruncat de mai putine ori. Daca au aruncat de acelasi numar, e egalitate. Care castiga? Se va scrie o functie pentru aruncarile unui copil.

2. Sa se implementeze urmatoarele functii: -functie care numara vocalele dintr-un sir de caractere -functie care verifica daca un sir de caractere e palindrom -functie care returneaza suma tuturor cifrelor care apar intr-un sir de caractere

Sa se apeleze toate functiile de mai sus, pentru fiecare linie a unui fisier text.

** Miercuri 9 februarie 2011 **
Tema pentru marti: a) tema restanta + punctul C) de mai jos

2 copii se joaca un joc cu zarul. Fiecare face cate n aruncari. Aruncarile fiecarei fete se memoreaza in cate un tablou. A) Sa se afiseze cele 2 tablouri B) Castiga cel care a acumulat mai multe puncte. Sa se afiseze castigatorul. C) Sa se afiseze, pentru fiecare jucator, numarul maxim de aruncari consecutive ale unei fete x. de exemplu, daca ne intereseaza fata 5 si un jucator arunca 3 5 5 6 **5 5 5** 7 5, numarul cautat este 3.

Indicatii: se va scrie o functie care genereaza numere aleatoare intre 1 si x, cu x parametru
 * 1) Se va folosi functia rand care genereaza numere aleatoare intre 0 si RAND_MAX.
 * 2) La inceputul programului se va face urmatorul apel: srand(time(NULL));

using namespace std; int randx(int x) {return rand%x+1; } void aruncari(int a[],int n) { int i; for(i=0;i<n;i++) a[i]=randx(6); } void afisare(int a[],int n) { int i; cout<<"jucatorul a aruncat zarurile:"; for(i=0;i<n;i++) cout<<a[i]<<" "; cout<<endl; } int suma(int a[],int n) {int s=0,i; for(i=0;i<n;i++) s=s+a[i]; return s; } int main { int n,x,a1[200],a2[200],s1,s2; cin>>n; srand(time(NULL)); aruncari(a1,n); aruncari(a2,n); afisare(a1,n); afisare(a2,n); s1=suma(a1,n); s2=suma(a2,n); if(s1>s2) cout<<"primul castiga"; else if(s2>s1) cout<<"castiga al doilea"; else cout<<"egalitate"; }
 * 1) include

**__ Luni 7 februarie 2011 __**
Pe echipe rezolvam urmatoarele cerinte si le postam pe pagina grupei: -Din fisa cu probleme de bacalaureat, pentru toate functiile care trebuie scrise, scriem antetul lor. -Grupa compune o problema cu aplicatii la functii (fizica, chimie, matematica), ii posteaza enuntul si rezolvarea pe pagina grupei.

Tema: de compus si rezolvat o problema, de postat pe pagina personala.

__**Luni 17 Ianuarie Lucrare la Informatica,**__
TEMA:Problmea 5,Fisa 3!

__** 13.Ianuarie.2011 ** :__
1. Numerele 220 si 284 sunt numere prietene deoarece: 220=1+2+3+5+10+11+20+22+44+55+110=284 si 284=1+2+3+71+142=220 Sa se genereze primele n perechi de numere prietene using namespace std; int suma(int a){ int s=0,i; for(i=1;i<=a/2;i++) if(a%i==0) s=s+i; return s; } void prietene(int n) {int k=0,x=2,s;
 * 1) include

while(k<n) {s=suma(x); if(s<x){x++; continue;} if(suma(s)==x){cout<<s<<" "<<x<<endl; k++;} x++;} } int main {int n; cin>>n; prietene(n); return 0; }

__**14 Ianuarie 2011 :**__
using namespace std; int niven(int n) {int s=0,aux; aux=n; while(n>0) {s=s+n%10; n=n/10; } if(aux%s==0) return 1; else return 0; } int main {int n; ifstream fin("date.in"); while(fin>>n) if(niven(n)==1) cout<<n<<" "; return 0; }
 * 1) include
 * 2) include

10 februarie 2011
Se fac n aruncari cu zarul.Afisati numarul de aruncari a fiecarei fete. using namespace std;
 * 1) include

int zar(int n) { int i=0,a,y[100]={0},j;

for(i=0;i<n;i++) { a=rand%6+1; cout<<a<<" "; for(j=1;j<=6;j++) { if(a==j) y[j]++; } } cout<<endl; for(i=1;i<=6;i++) cout<<"Numarul "<<i<<" a aparut de "<<y[i]<<" ori"<<endl; } int main

{ srand(time(NULL)); int n; cin>>n; zar(n); }