Răspuns :
#include <iostream>
using namespace std;
int main()
{
int n, curent, gasit = 0, contorMax = 0;
// Citire dimensiune vector
cin >> n;
// Citeste fiecare valoare
for (int i=0; i<n; i++){
cin >> curent;
// Creaza o copie a numarului (nr initial se pierde cand descompunem in cifre)
int copie = curent;
// Numara aparitiile cifrei 5
int contorCurent = 0;
// Parcurge cifrele numarului si mareste contor daca e egal cu 5
while(curent > 0){
int cifra = curent % 10;
if (cifra == 5) contorCurent++;
curent = curent / 10;
}
// Verifica daca are mai multe cifre de 5 decat valoarea anterior
// salvata si retine noua valoarea daca e cazul
if (contorCurent > contorMax){
gasit = copie;
contorMax = contorCurent;
}
}
// Afiseaza rezultat
if (contorMax == 0) cout << "Nu s-a gasit niciun numar";
else cout << gasit;
}
Nota:
- In variabila contorMax retinem cate cifre de 5 are valoarea citita cu cele mai multe cifre de 5 (care e salvata in variabila gasit)
- Pentru a verifica cate cifre egale cu 5 avem intr-un numar verificam repetat daca ultima cifra (salvata in variabila cifra, fiind obtinuta prin restul impartirii numarului la 10) e egala cu 5. In cazul in care este, atunci marim contorul de cifre egale cu cinci. Stergem ultima cifra a variabilei pana cand numarul devine 0 (catul impartirii numarului la 10 este numarul fara ultima cifra). Vezi alte exercitii cu descompunerea numarului in cifre aici: https://brainly.ro/tema/8609940
- Secventa "if (contorCurent > contorMax)" se asigura ca pastram prima valoare atunci cand gasim mai multe numere cu acelasi numar de cifre de 5 deoarece instructiunile din interior de actualizare a numarului nu se executa daca contorCurent este egal cu contorMax. Daca am fi avut >= acolo atunci ar fi luat doar ultima valoare gasita.
- Evident, daca nu am gasit niciun numar care are 5 in componenta, la final contorMax va ramane tot 0, caz in care afisam mesaj.
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Nu ezitați să ne contactați pentru orice întrebare sau dacă aveți nevoie de asistență suplimentară. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!