Sunteți pe pagina 1din 5

Bac 2020-testul 7-Alex

Sub I
1. d. [2001,2002]  [2019,2020]
2. a. +++++1+123+12345+
3. b. (jacaranda, magnolie, mimoza, sakura)
4. c. 3
5. c. 15

Sub II
1. a) 7533
b) i) 20
ii) 88
c)
#include <iostream>
using namespace std;
int main()
{int n,x=1,m=0,p=1,c,cn;
cin>>n;
while(x<10)
{cn=n;
while(cn){c=cn%10;
cn=cn/10;
if(c==x){ m=c*p+m;
p=p*10;
}
}
x=x+2;
}
cout<<m;
}
d)
citeste n (numar natural nenul)
x<-1; m<-0; p<-1
daca x>10 atunci // daca x<10 atunci (de ce modifici cond?)
| executa
| | cn<-n
| | cat timp cn≠0 executa
| | | c<-cn%10; cn<-[cn/10]
| | | daca x=c atunci m<-c*p+m; p<-p*10
| | | |_□
| | |_□
| | x<-x+2
| |cat timp x>10 //cat timp x<10 -1p
|_□
scrie m

2.
struct biblio { int numar;
struct { char titlul, autor; // char titlul[20],
autor[20]; siruri si nu 1 caracter
} carte [96]; // carte [99]; -2p
} c;
3. ou
rosu
Sub III
1.
int putere (long n, long p)
{int f=2,k;
while(n>1){k=0;
while(n%f==0) {k++;
n=n/f;}
if(p==f) return k;
f++;
}
return -1;
}
2.//n-am inteles prea bine enuntul, dar cred ca asa trebuie
facut
#include <iostream>
using namespace std;
int main()
{ int m,n,i,j,a[100][100],v[21],z[21],k=0,p=0,frv[21],frz[21];
cin>>m>>n;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++) cin>>a[i][j];
for(i=1;i<=m;i++) v[++k]=a[i][1];
for(i=1;i<=m;i++) z[++p]=a[i][n];
for(i=1;i<=k;i++) frv[v[i]]++;
for(i=1;i<=p;i++) frz[z[i]]++;
for(i=0;i<=20;i++)
if(frv[i]!=0&&frz[i]!=0) cout<<i<<" ";
}
//-2p unde ai initializat vectorii de frecventa cu 0 si caz nu
exista?

Se verifica pe rand care 1 element de pe prima coloana daca


se afla pe ultima
for(x=1;x<=m;x++)
for(y=1;y<=m;y++)
if(a[x][1]==a[y][n]) {cout<<a[x][1]<<" "; k=1;}
if(k==0) cout<<"nepolarizate";
3.
#include <fstream>
#include <iostream>
using namespace std;
ifstream fin("bac.in");
int main()
{int x,S=0,Smax=10000; // Smax=LONG_MAX; -1p
while(fin>>x)
{S=S+x;
if(S>0) S=0;
else if(S<Smax) Smax=S;
}
cout<<Smax;
fin.close();
}
b)
Algoritmul este eficient din punct de vedere al spatiului de
memorare deoarece nu foloseste tablouri (matrici sau
vectori). Acesta prelucreaza numerele pe masura citirii din
fisier. Prima data numerele sunt adunate in variabila ‘S’, iar
daca rezulatul este pozitiv variabila ‘S’ revine la valoarea 0. In
caz contrar am comparat variabila ‘S’ cu ‘Smax’ ca in final sa
afisez rezultatul memorat in ‘Smax’.

S-ar putea să vă placă și