Probleme de informatică
  Clasa a IX-a
1. Elementele de bază ale limbajului C++ (instructiunile limbajului) (46)
2. Subprograme predefinite (1)
3. Tablouri (145)
4. Fişiere text (2)
5. Algoritmi elementari (104)
6. Probleme diverse (12)
  Clasa a X-a
1. Subprograme definite de utilizator (87)
2. Şiruri de caractere (42)
3. Înregistrări (26)
4. Recursivitate (57)
5. Combinatorica (0)
6. Alocarea dinamică a memoriei (2)
7. Liste înlănţuite (25)
8. Algoritmul lui Lee (1)
  Clasa a XI-a

1. Metoda "Divide et impera" (12)
2. Metoda Backtracking (85)
3. Metoda Greedy (6)
4. Programare dinamică (18)
5. Grafuri neorientate (37)
6. Grafuri orientate (38)
7. Arbori (33)

  Clasa a XII-a
1. Elemente de baza C# (32)
2. POO in C# (13)
3. C# - Windows Form Application (24)
4. Admitere UBB (12)

   Home Inregistrari Bacalaureat 2016   |   Variante bacalaureat 2009   |   Atestat  |   Olimpiada       
Noutăţi
Subiecte admitere la Facultatea de informatica UBB Cluj-Napoca
Subiecte bacalaureat 2010-2017
Bacalaureat 2017 - competenţe digitale
C# - Windows Form Application - exemple
Modele de proiecte de atestat
Bacalaureat 2017
Subiecte si rezolvări 2010-2017
Rezolvari variante bacalaureat 2009
Competenţe digitale
Examen atestat
Rezumat documentatie
Teme proiect
php.doc
css.doc
exemple_php_si_css.rar
Modele de proiecte de atestat
Subiecte atestat 2014 CNLR
Olimpiada
Clasele V-VI
Clasele VII-VIII
Clasa a IX-a
Clasa a X-a
Clasele XI-XII
Noţiuni teoretice
Metode de sortare
Metoda backtracking


Cei n elevi dintr-o clasa au dat proba de rezistenta la ora de sport. Profesorul a intocmit un tabel cu cei en elevi si pentru fiecare dintre i:
- numele si prenumele
- rezultatul exprimat in minute si secunde
Exista un barem de trecere a probei, dat la final in minute si secunde
Afisati elevii care au trecut baremul in ordine crescatoara dupa rezultat, iar la rezultate identice, alfabetic dupa nume si prenume. Fiecare elev se afiseaza pe cate o linie prin nume, prenume si timpul obtinut la proba.
Numarul de elevi din clasa este cel mult 30. Un elev trece baremul daca timpul sau este mai mic sau egal cu baremul.
Exemplu:
rezistenta.in
7
Pop Alin
4 23
Rus Dan
4 23
Stan Darius
5 4
Pop Tudor Flaviu
4 12
Rusu Alin Dan
5 23
Sas Mihai
4 39
Rusu Paul
4 23
4 40
rezistenta.out
Pop Tudor 4:12
Pop Alin 4:23
Rus Dan 4:23
Rusu Paul 4:23
Sas Mihai 4:39


#include <fstream>
#include <cstring>
using namespace std;
ifstream fin("rezistenta.in");
ofstream fout("rezistenta.out");

struct timp
{
    int min,sec;
};

struct elev
{
    char nume_prenume[51];
    timp rez;
};

void citire(elev &e)
{
    fin.getline(e.nume_prenume,51);
    fin>>e.rez.min>>e.rez.sec;
    fin.get();
}

void citire(elev A[], int &n, timp &barem)
{
    fin>>n;
    fin.get();
    for(int i=1;i<=n;i++)
        citire(A[i]);
    fin>>barem.min>>barem.sec;
}

int maibun(timp t1, timp t2)
{
    if(t1.min*60+t1.sec<=t2.min*60+t2.sec) return 1;
    else return 0;
}

int egal(timp t1, timp t2)
{
    if(t1.min*60+t1.sec==t2.min*60+t2.sec) return 1;
    else return 0;
}

void inter(elev &x, elev &y)
{
    elev aux;
    aux=x;
    x=y;
    y=aux;
}

void ordonare(elev A[], int n)
{
    for(int i=1;i<n;i++)
        for(int j=i+1;j<=n;j++)
            if(maibun(A[i].rez,A[j].rez)==0 ||
               egal(A[i].rez,A[j].rez) && strcmp(A[i].nume_prenume,A[j].nume_prenume)>0)
                inter(A[i],A[j]);
}

void afisare(elev e)
{
    fout<<e.nume_prenume<<" "<<e.rez.min<<":"<<e.rez.sec<<endl;
}

void afisare(elev A[], int n, timp barem)
{
    for(int i=1;i<=n;i++)
        if(maibun(A[i].rez,barem))
            afisare(A[i]);
}

int main()
{
    int n;
    elev A[31];
    timp barem;
    citire(A,n,barem);
    ordonare(A,n);
    afisare(A,n,barem);
    return 0;
}


  Clasa a IX-a
1. Elementele de bază ale limbajului C++ (instructiunile limbajului) (46)
2. Subprograme predefinite (1)
3. Tablouri (145)
4. Fişiere text (2)
5. Algoritmi elementari (104)
6. Probleme diverse (12)
  Clasa a X-a
1. Subprograme definite de utilizator (87)
2. Şiruri de caractere (42)
3. Înregistrări (26)
4. Recursivitate (57)
5. Combinatorica (0)
6. Alocarea dinamică a memoriei (2)
7. Liste înlănţuite (25)
8. Algoritmul lui Lee (1)
  Clasa a XI-a

1. Metoda "Divide et impera" (12)
2. Metoda Backtracking (85)
3. Metoda Greedy (6)
4. Programare dinamică (18)
5. Grafuri neorientate (37)
6. Grafuri orientate (38)
7. Arbori (33)

  Clasa a XII-a
1. Elemente de baza C# (32)
2. POO in C# (13)
3. C# - Windows Form Application (24)
4. Admitere UBB (12)

Calculatoare si accesorii second hand
Copyright 2009-2017 Muresan Vasile Ciprian - mcip.ro