Documente Academic
Documente Profesional
Documente Cultură
int main()
{
int x,y,c;
cin>>x>>y;
do {
c = x%10;
x = abs(x/10);
if (c!=0){
if (y%10<c)
y=y*10+c;
else
y=y*10-c;}
}while (x!=0);
cout<<y;
return 0;
}
d)Intreg x,y,c;
citeste x,y;
cat timp (x!=0) executa
c<-x%10;
x<-[x/10];
daca c!=0 executa
daca y%10<c executa
y<-y*10+c;
altfel
y<-y*10-c;
scrie y
2.
Indicați o expresie C/C++ care are valoarea 1 dacă și numai dacă numărul memorat în variabila
întreagă x aparține reuniunii de intervale [-2020,-2019]U[2019,2020].
a. x>=-2020 && x<=-2019 && x>=2019 && x<=2020
b. !(x<-2020 && x>2020 && x>-2019 || x<2019)
c. x>=-2020 || x<=-2019 || x>=2019 || x<=2020
d. !(x<-2020 || x>-2019) || !(x<2019 || x>2020)
3.
Variabila x este de tip întreg. Numărul de valori întregi distincte ale luix pentru care expresia
C/C++ alăturată are valoarea 0 este: x/2017
a.2·2017+1 b. 2017 c. 2016 d. 2·2016+1
REZOLVARE:Raspunsul corect este c).
4.
Numim par_secvență într-un șir o succesiune de termeni ai șirului cu proprietatea că sunt numere
pare și că se află pe poziții consecutive în șir; orice secvență are cel puțin doi termeni și este
maximală în raport cu proprietatea precizată (dacă i se adaugă un alt termen, secvența își pierde
această proprietate). Lungimea secvenței este egală cu numărul termenilor săi.
Fişierul bac.txt conţine un şir de cel mult 106 numere naturale din intervalul [0,109].
Numerele din şir sunt separate prin câte un spaţiu.
Se cere să se afişeze pe ecran numărul de par_secvențe de lungime maximă din șir.
Proiectați un algoritm eficient din punctul de vedere al spațiului de memorie utilizat şi al
timpului de executare.
Exemplu: dacă fişierul bac.txt conţine valorile
1 2 3 4 6 10 2 8 5 7 9 4 6 10 121 20 4 11 10 2 5 2 6 8 10 16
se afişează pe ecran numărul 2.
Scrieţi programul C/C++ corespunzător .
REZOLVARE:
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("par_secventa.in");
ofstream fout("par_secventa.out");
int x , l , lmax , cnt;
int main()
{
while(fin >> x)
if(x % 2 == 0) l++;
else
{
if(l > lmax) lmax = l , cnt = 1;
else if(l == lmax) cnt++;
l = 0;
}
if(l == lmax) cnt++;
if(l > lmax) fout << 1;
else fout << cnt;
return 0;
}
return 0;
}