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

Fişierul text numere.txt conţine pe prima linie un număr natural n (0 doua linie, separate prin câte un spaţiu, n numere naturale formate din cel mult 2 cifre.
a) Scrieţi un program C/C++ care afişează pe ecran, în mod eficient din punct de vedere al
timpului de executare, toate numerele situate pe a doua linie a fişierului, în ordinea
crescătoare a valorilor lor, separate prin câte un spaţiu. Dacă un număr apare în fişier de
mai multe ori el va fi afişat o singură dată.
Exemplu: dacă fişierul numere.txt are următorul conţinut:
7
12 21 22 11 9 12 3
atunci pe ecran se va afişa: 3 9 11 12 21 22

Răspunsuri la întrebare

Răspuns de boiustef
8

Răspuns:

#include <iostream>

#include <fstream>

using namespace std;

ifstream f("numere.txt");

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

int main()

{

   f >> n;

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

   {

       f >> num;

       v[num]=1;

   }

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

       if (v[num]==1) cout << num << " ";

}

Explicație:

v[] este vector caracteristic cu valori 0 sau 1. De exemplu daca v[23]=1 inseamna ca 23 este termen al sirului numeric

Alte întrebări interesante