Sunteți pe pagina 1din 2

#include <iostream>

#include <string>
#include <fstream>
using namespace std;
void CitesteDinFisier(string numeFisier)
{
ifstream fin(numeFisier);
if (fin.fail())
{
cout << "fisierul '" << numeFisier << "' nu a fost gasit" << end
l;
return;
}
int n;
int nrCurent = 0;
int nrPrecedent = 0; // numarul de dinaintea numarului curent
bool existaElemente = false; // ii se atribuie adevarat daca se afiseaza
cel putin un element
fin >> n;
while (fin >> nrCurent)
{
if (nrCurent != nrPrecedent)
{
// afisam numerele care se afla intre numarul precedent
si cel curent
for (int i = nrPrecedent + 1; i < nrCurent; i++)
cout << i << " ";
if (nrCurent - 1 != nrPrecedent) // verificam daca ultim
ele doua numere sunt consecutive
existaElemente = true;
nrPrecedent = nrCurent;
}
}
if(nrCurent < n)
existaElemente = true;
// afisam numerele ramase intre ultimul numar citit si n
for (int i = nrCurent + 1; i <= n; i++)
cout << i << " ";
if (!existaElemente) // exceptie
cout << "Nu exista";
fin.close();
}
int main()
{
CitesteDinFisier("bac.txt");
system("pause");

return 0;
}

S-ar putea să vă placă și