Documente Academic
Documente Profesional
Documente Cultură
Aplicatia 1
Se da un fisier continand date despre rezultatele unor elevi la admiterea in liceu. Acest fisier poate
fi descarcat aici. Fisierul contine 10.000 de linii, fiecarui elev revenindu-i 2 linii consecutive din
fisier. Pe prima linie din cele doua se afla numele elevului iar pe cea de a doua se afla media de
intrare sub forma unui numar real intre 1.0 si 10.0. Cunoscand ca sunt in total 5.000 de elevi si ca
numele nici unui elev nu ocupa mai mult de 35 de caractere, se cere:
Sa se citeasca datele din fisier intr-un tablou de 5.000 de elemente de forma < nume ,
medie >
Utilizand algoritmul de sortare prin selectie (SelSort), sa se afiseze elevii crescator si apoi
descrescator, in ordinea mediilor si sa se contorizeze comparatiile si atribuirile care se fac in
timpul sortarii
Functii de biblioteca indicate a fi folosite in implementarea C (mai multe detalii se pot afla
consultand documentatia online):
fgets - folosita pentru citirea unei linii dintr-un fisier deschis in citire
fscanf - folosita pentru citirea formatata (de date numerice, de exemplu) dintr-un fisier
deschis in citire
x = tab[ j ];
k = j;
}
tab[ k ] = tab[ i ];
tab[ i ] = x;
}
}
void bubble_sort()
{
int i , j;
int aux;
for ( i = 1 ; i < N - 1 ; i++ )
for ( j = N - 1 ; j >= i ; j-- )
if ( tab[ j - 1 ] > tab[ j ] )
{
aux = tab[ j - 1 ];
tab[ j - 1 ] = tab[ j ];
tab[ j ] = aux;
}
}
Sortari de tablouri
Aplicatia 2
Se da un fisier continand date despre angajatii unei companii. Acest fisier poate fi descarcat aici.
Fisierul contine 10.000 de linii, fiecarui angajat revenindu-i 2 linii consecutive din fisier. Pe prima
linie din cele doua se afla numele angajatului iar pe cea de a doua se afla salarul acestuia in dolari,
sub forma unui numar intreg intre 2.000 si 6.999. Cunoscand ca sunt in total 5.000 de angajati si
ca numele nici unui angajat nu ocupa mai mult de 30 de caractere, se cere:
Sa se citeasca datele din fisier intr-un tablou de 5.000 de elemente de forma < nume ,
salar >
Functii de biblioteca indicate a fi folosite in implementarea C (mai multe detalii se pot afla
consultand documentatia online):
fgets - folosita pentru citirea unei linii dintr-un fisier deschis in citire
fscanf - folosita pentru citirea formatata (de date numerice, de exemplu) dintr-un fisier
deschis in citire
Sortari de tablouri
Aplicatia 3
Se da un fisier continand date despre membrii unui partid. Acest fisier poate fi descarcat aici.
Fisierul contine 10.000 de linii, fiecarui membru revenindu-i 2 linii consecutive din fisier. Pe prima
linie din cele doua se afla numele membrului iar pe cea de a doua se afla varsta acestuia sub forma
unui numar intreg intre 22 si 71. Cunoscand ca sunt in total 5.000 de membri si ca numele nici
unui membru nu ocupa mai mult de 30 de caractere, se cere:
Sa se citeasca datele din fisier intr-un tablou de 5.000 elemente de forma < nume , varsta
>
Functii de biblioteca indicate a fi folosite in implementarea C (mai multe detalii se pot afla
consultand documentatia online):
fgets - folosita pentru citirea unei linii dintr-un fisier deschis in citire
fscanf - folosita pentru citirea formatata (de date numerice, de exemplu) dintr-un fisier
deschis in citire
}
tab[ k ] = tab[ i ];
tab[ i ] = x;
}
}
void shaker_sort()
{
int j , k , l , r;
int x;
l = 1;
r = N - 1;
k = N - 1;
do
{
for ( j = r ; j >= l ; j-- )
if ( tab[ j - 1 ] > tab[ j ] )
{
x = tab[ j - 1 ];
tab[ j - 1 ] = tab[ j ];
tab[ j ] = x;
k = j;
}
l = k + 1;
for ( j = l ; j <= r ; j++ )
if ( tab[ j - 1 ] > tab[ j ] )
{
x = tab[ j - 1 ];
tab[ j - 1 ] = tab[ j ];
tab[ j ] = x;
k = j;
}
r = k - 1;
} while ( l <= r );
}
Sortari de tablouri
Aplicatia 4
Se da un fisier continand date despre abonatii unei firme de telefonie mobila. Acest fisier poate fi
descarcat aici. Fisierul contine 10.000 de linii, fiecarui abonat revenindu-i 2 linii consecutive din
fisier. Pe prima linie din cele doua se afla numele abonatului iar pe cea de a doua se afla numarul
de telefon al acestuia, sub forma unui numar intreg lung (long) intre 723456789 si 723461788.
Cunoscand ca sunt in total 5.000 de abonati si ca numele nici unui abonat nu ocupa mai mult de 40
de caractere, se cere:
Sa se citeasca datele din fisier intr-un tablou de 5.000 elemente de forma < nume , telefon
>
Functii de biblioteca indicate a fi folosite in implementarea C (mai multe detalii se pot afla
consultand documentatia online):
fgets - folosita pentru citirea unei linii dintr-un fisier deschis in citire
fscanf - folosita pentru citirea formatata (de date numerice, de exemplu) dintr-un fisier
deschis in citire