Informatică, întrebare adresată de TheTEE, 8 ani în urmă

Programul citeste un numar natural din 3 cifre [100, 999] si determina daca numarul contine cifre
care se repeta. Daca da – afiseaza cifra si numarul de repetari. Daca nu – afiseaza mesajul, ca toate
cifrele sunt diferite.
Exemplu. In numarul 757 cifra 7 se repeta de 2 ori, iar numarul 589 are toate cifrele diferite.
Cerințe:
1. Fișierul C++ va conține in formă de comentariu formularea sarcinii.
2. Citirea si afișarea datelor vor fi însoțite de dialog cu utilizatorul.
3. Pe Classroom încărcați fișierul main.cpp.

Răspunsuri la întrebare

Răspuns de Merymerisor
5

#include <iostream>

using namespace std;

int main()

{

int n;

cin>>n; //se citeste numarul de 3 cifre

/*fiindca avem nevoie sa se afiseze si cifra, vom crea un vector de frecventa*/

int v[10], i;

for(i=0;i<=9;i++)

v[i]=0;

/*vom lua acum fiecare cifra a numarului intr-o variabila c, iar pe pozitia c din vectorul nostru

adunam 1, astfel pozitia in vector reprezinta cifra, iar elementul ne spune nr de aparitii al cifrei

in numarul dat*/

int c;

while(n!=0)

{

c=n%10;

n/=10;

v[c]++;

}

/*acum parcurgem vectorul pentru a identifica daca este vreo cifra care se repeta, adica daca vom gasi

un element mai mare decat 2 in vector. in cazul in care se gaseste asa ceva, atunci inseamna ca o cifra se repeta si

putem afisa mesajul "DA", respectiv cifra si numarul de aparitii. in caz contrar, se va afisa mesajul "NU"*/

for(i=0;i<=9;i++)

if(v[i]>=2)

{

cout<<"DA "<<endl<<"cifra care se repeta este "<<i<<", iar numarul de aparitii este "<<v[i];

return 0; /*nu este nevoie sa se mearga in continuare in cazul in care gaseste, deci ne putem opri*/

}

/*in cazul in care am iesit din for si inca nu s-a afisat niciun mesaj, inseamna ca numarul nostru nu indeplineste conditia,

deci vom afisa un mesaj corespunzator*/

cout<<"NU";

return 0;

}

Mai jos ti-am atasat si fisierul main.cpp

Anexe:

TheTEE: ms mult
TheTEE: cum pot sa -ți dau coroana?
Merymerisor: ar trebui sa primesti dupa cateva ore o notificare ca poti alege cel mai inteligent raspuns
TheTEE: ms
Alte întrebări interesante