intervale

Fisierul bac.txt contine pe prima linie un nr. natural nenul n, iar pe fiecare din urmatoarele n linii cate 2 nr intregi a si b, fiecare pereche reprezentand un interval inchis de forma [a,b].Scrieti un program care citeste numerele din fisier, apoi determina un interval dintre cele citite care contine cel mai mare nr de valori intregi dintre toate intervalele formate.Programul va afisa pe un rand al ecranului, separate printr-un spatiu, capetele intervalului astfel determinat.In cazul in care exista mai multe intervale care indeplinesc aceasta proprietate, se va tipari acela a carei extremitate dreapta este minima in raport cu celelalte.

#include<iostream.h>

#include<fstream.h>

int n,i,a,b,nr,nrmax,cmin,c1,c2;

fstream f(“bac.txt”,ios::in);

f>>n;

nrmax=-maxint;

cmin=maxint;

cout<<“”intervalele citite din fisier sunt:”;

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

{

f>>a>>b;

cout<<endl<<“[“<<a<<“,”<<b<<“]”;

nr=b-a+1;

if((nr>nrmax) || (nr==nrmax && b<cmin))

{

cmin=b;

nrmax=nr;

c1=a;

c2=b;

}

}

cout<<endl<<<“intervalul este [“<<c1<<“,”<<c2<<“]”;

cout<<endl<<“contine:”<<nrmax<<“valori intregi”;

f.close();

}

{module orizontal600}

{joscommentenable}

Leave a Reply