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

Soluții


Un număr natural x, format din exact două cifre, este numit sub-număr al unui număr natural y dacă cifrele lui x apar, în aceeași ordine, pe ranguri consecutive, în numărul y.
Exemplu: 21 este sub-număr al lui 12145, al lui 213, al lui 21, dar nu și al lui 123 sau al lui 231.

Cerința
Fișierul de intrare conține cel mult 1.000.000 de numere naturale. Se cere să se afișeze în fișierul de ieșire, în ordine descrescătoare, sub-numerele care apar de cele mai multe ori în scrierea numerelor date.

Date de intrare
Fișierul de intrare subnumar.in conține cel mult 1.000.000 de numere naturale cu cel puțin 2 cifre, separate prin câte un spațiu, dispuse pe mai multe linii.

Date de ieșire
Fișierul de ieșire subnumar.out va conține pe prima linie valorile cerute, separate prin câte un spațiu.
URGENT !!!

Răspunsuri la întrebare

Răspuns de ArMyFoRHeLL
17

#include <fstream>

using namespace std;

ifstream f("subnumar.in");

ofstream g("subnumar.out");

int main()

{

int v[100],k = 0,x;

for ( int i = 0 ; i < 100 ; ++i )

v[i] = 0;

while ( f >> x )

{

while ( x > 9 )

{

v[x % 100]++;

x /= 10;

}

k++;

}

int maxim = -1;

for (int i = 99 ; i >= 10 ; --i )

if ( maxim < v[i] )

maxim = v[i];

for (int i = 99 ; i >= 10 ; --i )

if ( v[i] == maxim )

g << i << ' ';

return 0;

}

Alte întrebări interesante