Răspuns:
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("bac.in");
int num, vf[10], z, n, poz[10];
int main()
{
while (f >> num) {
++n;
z=(num/10)%10;
++vf[z]; poz[z]=n;
}
int m=0;
for (int i=0; i<10; i++) {
if (vf[i]>m) m=vf[i];
}
for (int i=0; i<10; i++) {
if (vf[i]==m) {
cout << poz[i] << " ";
}
}
return 0;
}
Explicație:
Paralel cu citirea numerelor din fișier se completează vectorul frecvenței cifrei zecilor și poziția numărului citit în șir.
Se determină valoarea maximă din vectorul frecvenței
Se afișează pozițiile numerelor în șir cu cele mai multe z-prietene