#include <iostream> using namespace std; int main() { int n; int c; //initializam numerul de cifre int i0 = 0, i1 = 0, i2 = 0, i3 = 0, i4 = 0, i5 = 0, i6 = 0, i7 = 0, i8 = 0, i9 = 0; //citim n cin >> n; // numaram cifrele while (n) { c = n % 10; n = n / 10; switch (c) { case 0: i0++; break; case 1: i1++; break; case 2: i2++; break; case 3: i3++; break; case 4: i4++; break; case 5: i5++; break; case 6: i6++; break; case 7: i7++; break; case 8: i8++; break; case 9: i9++; break; } } //afizam cifrele cout << "Numarul are: \n"; cout << "[" << i0 << "]" << " de 0\n"; cout << "[" << i1 << "]" << " de 1\n"; cout << "[" << i2 << "]" << " de 2\n"; cout << "[" << i3 << "]" << " de 3\n"; cout << "[" << i4 << "]" << " de 4\n"; cout << "[" << i5 << "]" << " de 5\n"; cout << "[" << i6 << "]" << " de 6\n"; cout << "[" << i7 << "]" << " de 7\n"; cout << "[" << i8 << "]" << " de 8\n"; cout << "[" << i9 << "]" << " de 9\n"; return 0; }
Dupa cum se observa un astfel de program este foarte lung chiar daca este simplu de scris.
O versiune mai compacta a acestui program este urmatoarea:
#include <iostream> using namespace std; int main() { int n; int v[10]; int c; for (int i = 0; i < 10; i++) { v[i] = 0; } cin >> n; while (n) { c = n % 10; n = n / 10; v[c]++; } for (int i = 0; i < 10; i++) { cout << "[" << v[i] << "]" << " de " << i << "\n"; } return 0; }Resultatul este acelasi, dar codul este mai compact, si mai usor de urmarit.
Niciun comentariu:
Trimiteți un comentariu