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

4. Fişierul BAC.TXT conŃine un şir de cel mult un milion de numere naturale, despărŃite prin
câte un spaŃiu, fiecare număr având cel puŃin două cifre şi cel mult 9 cifre.
Se citesc numerele din fişier şi se cere ca, utilizând un algoritm eficient din punct de
vedere al timpului de executare, să se determine şi să se afişeze pe ecran numărul maxim
de termeni ai şirului care au aceeaşi cifră a zecilor.
Exemplu: dacă fişierul BAC.TXT conŃine numerele
12 36 265 18 139 19 32 34 112 14 68
pe ecran se afişează 5 (pentru că sunt 5 termeni cu cifra zecilor 1).
a) DescrieŃi în limbaj natural algoritmul utilizat, justificând eficienŃa acestuia. (4p.)
b) ScrieŃi programul C/C++ corespunzător algoritmului descris.

Răspunsuri la întrebare

Răspuns de ardyarde
3
# include<iostream>
# include<fstream>
using namespace std;
int main()
{
    int maxim=0,n,i;
    ifstream fisier("bac.txt");
    int v[10]={0};
    while(fisier>>n)
        v[(n%100)/10]++;
    fisier.close();
    for(i=0;i<10;i++)
        if(v[i]>maxim)
        maxim=v[i];
    cout<<maxim;
return 0;
}
Alte întrebări interesante