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

1. Fişierul nr.in conţine pe prima linie un număr natural n (0separate prin câte un spaţiu, n numere naturale, formate din cel mult 2 cifre fiecare.
Scrieţi un program C++ care determină şi scrie în fişierul nr.out, toate numerele, citite
de pe a doua linie a fişierului nr.in, care apar de cel puţin două ori. Numerele
determinate se vor scrie în ordine crescătoare, pe aceeaşi linie, separate prin câte un
spaţiu.
Exemplu: dacă fişierul nr.in conţine pe prima linie numărul 11, iar pe linia a doua
valorile 23 12 54 12 78 34 67 23 78 93 23
atunci fişierul nr.out va conţine: 12 23 78


Zhin: in paranteza trebuie sa fie 0
Zhin: trebuie sa fie 0
boiustef: nu am inteles ce e cu zero...

Răspunsuri la întrebare

Răspuns de boiustef
0

#include <iostream>

#include <fstream>

using namespace std;

ifstream f("nr.in");

ofstream g("nr.out");

short n, num, i, fr[100];

int main()

{

   f >> n;

   for (i=1; i<=n; ++i)

   {

       f >> num;

       ++fr[num];

   }

   for (num=0; num<100; ++num)

       if (fr[num]>1) g << num << " ";

}

Alte întrebări interesante