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
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
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă