6. Se citeşte de la tastatură un număr natural n (1<n <100), și apoi n perechi de câte două numere întregi a si b cu ( a < b) reprezentând capetele intervalului [a, b]. Afișați pe ecran, dacă există, capetele intervalului rezultat în urma intersecției celor n intervale citite, separate printr-un spațiu. În cazul în care intersecția este mulțimea vidă se afișează valoarea 0.
De exemplu, pentru n=3 și perechile [-1,20], [-4,9], [-7, 12] se va afișa -1 9.
#include <iostream>
using namespace std;
int n,a[100],b[100],a1,b1;
void citire()
{
cout<<"Dati n= ";cin>>n;
for(int i=1;i<=n;i++)
{
cout<<"a["<<i<<"]=";cin>>a[i];
cout<<"b["<<i<<"]=";cin>>b[i];
}
}
void intersectie()
{
a1=a[1];
b1=b[1];
for(int i=2;i<=n;i++)
{
if(a[i]>a1)
a1=a[i];
if(b[i]<b1)
b1=b[i];
}
}
int main()
{
citire();
intersectie();
if(a1>b1)
cout<<0;
else
cout<<"[ "<<a1<<" , "<<b1<<" ]";
return 0;
}
5. Fişierul text numere.in conţine pe prima linie un număr natural n (0≤n≤5000), iar pe a doua linie n numere naturale de cel mult 9 cifre fiecare, separate prin câte un spaţiu. Scrieți datele din fişierul numere.in şi scrie în fişierul numere.out, valorile de pe a doua linie a fişierului numere.in care sunt palindroame și au număr par de cifre.
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("numere.in");
ofstream g("numere.out");
unsigned long v[100];
int n,i;
void citire()
{
f>>n;
for(i=1;i<=n;i++)
f>>v[i];
}
int palindrom(unsigned long y)
{
unsigned long og=0,aux=y;
while(y!=0)
{
og=og*10+y%10;
y=y/10;
}
if(og==aux)
return 1;
else
return 0;
}
int nr_cifre(unsigned long y)
{
int x=0;
while(y!=0)
{
x++;
y=y/10;
}
if(x%2==0)
return 1;
else
return 0;
}
int main()
{
citire();
for(i=1;i<=n;i++)
if(nr_cifre(v[i])&&palindrom(v[i]))
g<<v[i]<<" ";
f.close();
g.close();
return 0;
}