Răspuns :
Salut!
Ai functia in C++ mai jos
void sortare(int n, Elev elevi[30])
{
for (int i = 0; i < n - 1; ++i)
{
for (int j = i + 1; j < n; ++j)
{
if (elevi[i].medie > elevi[j].medie)
{
swap(elevi[i], elevi[j]);
}
if (elevi[i].medie == elevi[j].medie)
{
if (strcmp(elevi[i].nume, elevi[j].nume) > 0)
{
swap(elevi[i], elevi[j]);
}
}
}
}
}
Explicatie:
- Folosim algoritmul de sortare prin selectie
- Daca media unui elevi este mai mare decat a altui elevi atunci ii interschimbam intre ei
- Dar daca mediile sunt egale, atunci comparam alfabetic numele lor si in functie de rezultat le dam sau nu swap
Vă mulțumim că ați ales să vizitați site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, vă rugăm să ne contactați. Revenirea dumneavoastră ne va bucura, iar pentru acces rapid, nu uitați să ne salvați la favorite!