sâmbătă, 4 aprilie 2015

Biletul Nr. 6

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;
}

Biletul Nr. 5


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;
}