Informatică, întrebare adresată de Solitaria, 9 ani în urmă

Va rog,puteti sa ma ajutati?
In C++
Multumesc

Anexe:

Zlatan: Poti folosi un vector de frecventa,deoarece n <= 10000.
Zlatan: De fapt,nu poti,ca numerele au cel mult 9 cifre,acum am vazut.
Zlatan: Poti citi numerele intr-un vector,pe care il sortezi si gasesti cea mai lunga secventa de numere egale :)
artur99: Păi dacă sunt în ordine crescătoare e simplu

Răspunsuri la întrebare

Răspuns de artur99
1
#include <iostream>
#include <fstream>
using namespace std;

int main(){
    ifstream f("NUMERE.TXT");
    int n, t, last, lastc, max, maxc;
    f>>n;
    f>>t;
    last=max=t;
    lastc=maxc=1;
    for(int i=1;i<n;i++){
        f>>t;
        if(t==last){
            lastc++;
        }else{
            if(lastc>maxc){
                max=last;
                maxc=lastc;
            }
            lastc=1;
            last=t;
        }
    }
    cout<<max<<" "<<maxc;
}

artur99: last - numărul precedent citit, lastc - de câte ori a apărut numărul
artur99: max - numărul care a apărut de cele mai multe ori înainte de curentul, maxc - de câte ori a apărut acest număr
Solitaria: Multumesc
artur99: Npc :D
Alte întrebări interesante