1. ANALIZEAZĂ! Ce va afişa pe ecran programul ce urmează?
#include
using namespace std;
int main()
{
enum Zi {L, Ma, Mi, J, V, S, D}
z1,z2;
z1=Ma;
cout< z2)<
cout<<(z1!=z2)<
return 0;
}
2. Elaborați un program care afșează pe ecran numerele de ordine ale cifrelor zecimale.
Răspunsuri la întrebare
Pentru Exercitiul 1:
Răspuns:
Acest program va afișa următoarele valori pe ecran:
0
1
0
Explicație:
Acest program defineste un tip de date enumerat Zi care are șapte valori posibile: L, Ma, Mi, J, V, S, D. Apoi, declară două variabile de tip Zi, z1 și z2, și le inițializează cu valorile Ma și D, respectiv.
Următorul bloc de cod afișează rezultatul comparării dintre valorile variabilelor z1 și z2 utilizând operatorii == și !=. Întrucât valorile variabilelor z1 și z2 sunt diferite, operatorul == va întoarce valoarea false (adică 0), iar operatorul != va întoarce valoarea true (adică 1).
Datorită operatorului de redirecționare a ieșirii standard <<, aceste valori vor fi afișate pe ecran în ordinea în care sunt calculate. Astfel, programul va afișa pe ecran valoarea false (0) pentru prima comparare, apoi valoarea true (1) pentru a doua comparare și în final valoarea false (0) pentru ultima comparare.
Pentru exercitiul 2:
Raspuns:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
// numărul de care vrem să afișăm numerele de ordine ale cifrelor
int n;
cin >> n;
// calculăm numărul de cifre ale numărului
int num_cifre = 0;
int x = n;
while (x > 0)
{
++num_cifre;
x /= 10;
}
// afișăm numerele de ordine ale cifrelor
for (int i = 1; i <= num_cifre; ++i)
{
// calculăm valoarea cifrei de ordine i
int cifra = n / static_cast<int>(pow(10, num_cifre - i)) % 10;
// afișăm numărul de ordine al cifrei
cout << i << ": " << cifra << endl;
}
return 0;
}