Sunteți pe pagina 1din 4

SUBIECTUL I

1. a.
2. b.
3. d.
4. c.
5. b.
SUBIECTUL II

1. a. 3334
b. 1014, 1015, 1016
c. d.
#include <iostream> citeşte n (număr natural)
┌repetă
using namespace std; │ c1←n%10; n← [n/10]; c2←n%10
│┌dacă c1>c2 atunci
int main() ││ c2←c1; c1←n%10
{ │└■
int n,c1,c2; │┌dacă c1<c2 atunci
cin>>n; ││┌repetă
do │││ scrie c1
{ │││ c2← [c2/2]
c1=n%10; n=n/10; c2=n%10; ││└până când c1≥c2
if(c1 > c2) │└■
{ └până când n≤9
c2 = c1;
c1 = n % 10;
}
while(c1 < c2)
{
cout<<c1;
c2=c2/2;
}
}while (n>9);
return 0;
}
2. struct poliedru
{
int NrVarfuri;
float Muchie;
struct
{
float FataMuchie,FataFata;
}Unghi;
}p;

3. opusqrdzdce

SUBIECTUL III

1.

void generatoare(int n)
{
int i=1,j=1;
bool ok=false;
while(i <= n/2 )
{ j=1;
while(j <= n/2 )
{
if(i * j + i / j == n )
{cout<<i<<'-'<<j<<' ';
ok=true;
}
j++;
}
i++;
}
if(ok == false)
cout<<"nu exista";
}
2.

#include <iostream>

using namespace std;

int n,m,k,i,j,a[21][21];
bool ok=true;

void citire()
{
cin>>m>>n;
for(int i = 0; i < m; i++)
for(int j = 0; j < n; j++)
cin>>a[i][j];

}
int verif()
{
while(j < n)
{
i = 0;
while(i < m && ok == true)
{
if(a[i][j] == a[i][0])
ok=false;
i++;
}

if(ok == true)
k++;
ok = true;
j++;
}
return k;
}
int main()
{
citire();
cout<<verif();
return 0;
}
3.

a. b.
#include <iostream> Vom utiliza unsigned long long int deoarece
#include <fstream> variabilele ‘a,b,c’ϵ [0,109 ] , respectiv bool pt
variabila ‘ok’ pentru a nu utiliza mai multa
using namespace std; memorie decat strictul necesar.
Citim variabila’a’ inafara while deoarece ii vom
ifstream fin ("bac.txt"); atribui valoarea pozitiei anteriaore in sir si o vom
compara cu pozitia actuala in sir 'b'.
unsigned long long int a,b,c; In cazul in care a=b citim al 3 lea numar c, pentru
bool ok =false; a verifica daca numarul respectiv apare de exact 2
int main() ori in sir. In acest caz il afisam si ii atribuim
{ valoarea variabilei c lui a.
fin>>a; Utilizam varaibila ok pentru a verifica daca i-am
while (fin>>b) atribuit sau nu o valoare lui a.
{ Atunci cand numarul apare de exact 2 ori in sir ii
if(a == b) atribui lui a valoarea lui c, respectiv valoarea lui b
{ in cazul contrar.
fin>>c; Programul este eficient din punct de vedere al
if(b != c) memoriei deoare ce nu am utilizat structuri de
{ memorie pentru a stoca datele,iar eficienta din
cout<<b<<' '; punct de vedere al timpului este justificata de
a = c;
ok = true;
}
}
if(ok == false)
a = b;
ok=false;
}
return 0;
}

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