Eh... da, sigur...crezi tu ca problema tine de C++ neaparat? Ideea e sa ai o gandire algoritmica cat de cat acolo, mai ales pentru ce programel/problema ne-ai cerut tu.
Hai sa te ajut totusi cum imi permite timpul si desigur cum si cat vreau eu sau consider ca e suficient.
Eu cred ca pentru mai multa simplitate si usurinta in a folosi programul ar fi indicat sa utilizezi un fisier extern de tip text, sa zicem, in care vei scrie 200 de numere. E mai bine sa le ai deja scrise intr-un fisier extern pentru citire mai rapida decat sa le citesti in timpul programului un numar unul dupa altul. In plus, asta ar obtine mai usor rezultatul pe care-l vrei tu, adica fiecare numar dintre cele 200 sa fie afisat pe ecran insotit de numarul de aparitii, un numar care sa nu varieze(creasca), adica sa afiseze mai pe la inceputul sirului pentru o valoare de genul 45 numarul de aparitii 2, ca mai tarziu s-o gasesti afisata cu 10 aparitii, deci trebuie ca acel numar de aparitii sa-l vezi doar cu valoare unica, constanta, sa se repete.
Ba chiar, mai elegant, mai faci si o sortare descrescatoare dupa numarul de aparitii...
Ideea cea mai simpla pentru mine de aplicat e asta in principiu. Citesti cele vreo 200 de numere sau cate vrei tu si le memorezi intr-un vector V de dimensiune n(fixa, 200, in cazul asta, pe care ori o citeste de pe o prima linie din fisierul extern, ori o stabilesti tu) folosind un ciclu FOR.
Parcurgi sirul/vectorul asta intr-un alt ciclu FOR (printr-o variabila i) de la prima componenta pana la ultima si intr-un alt vector W numeri pe pozitia i de cate ori apare componenta V[i] in V.
Mai iei un ciclu FOR acum ca sa afisezi componentele vectorului V in tandem cu numarul de aparitii ale fiecarei componente din V stocate in W.
Pentru final iti urez mult succes in a avea propriile tale idei(oricat de simple sau complexe/eficiente, dar ale tale sa fie) si sarbatori pascale fericite!
Daca ai vreo nelamurire de orice fel in ceea ce priveste programul, te rog sa-mi dai reply! Eu am plecat de la presupunerea ca ai macar ceva habar(niste cunostinte minime) despre programare(elemente de baza) in limbajul C/C++(sau chiar si alt limbaj, ca oricum toate au ceva comun), asa ca ti-am explicat o solutie destul de simpla cat am putut de detaliat in speranta ca macar asa vei intelege.
Merci mult! o sa incerc stiam si eu ca e mai usor cu fisier, doar ca, nu ma prea pricep la fisiere o sa iau cartea si o sa ma apuc de citit nu e greu, doar ca trebuie sa imi imbunatatesc cunostintele
Fie v un vector in care vei memora numarul de aparitii al unui numar. v[i] va memora numarul de aparitii a lui i.
Incearca sa implementezi aceasta solutie. Aceasta solutie e putin ineficienta din punctul de vedere al memoriei folosite. Daca vrei sa memorezi aparitiile unui numar mare, folosesti un vector de dimensiune mare. Pentru optimizare, ar fi bine sa folosesti tabele hash, gasesti pe net despre ele. Dar pentru inceput, implementeaza prima solutie.
Andrei1124 întreabă: