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 platforma noastră dedicată Informatică. Ne bucurăm dacă informațiile oferite v-au fost de folos. Pentru întrebări sau asistență suplimentară, nu ezitați să ne contactați. Revenirea dumneavoastră ne onorează – adăugați-ne la favorite pentru a fi mereu la curent!