Răspuns :
Răspuns:
#include <iostream>
struct Elev
{
double medie;
char nume[21];
};
void sortare(int n, Elev elevi[30]);
void afisareVector(int n, Elev elevi[30]);
int main()
{
/* am creat 4 elevi cu datele din problemă */
Elev elevul1{ 5.00, "Popescu Ioana" };
Elev elevul2{ 5.00, "Popescu Dani" };
Elev elevul3{ 8.79, "Cristescu Aurel" };
Elev elevul4{ 6.98, "Cristescu Ioan" };
/* pe care mai apoi i-am adăugat într-un array */
Elev vectorElevi[]{ elevul1, elevul2, elevul3, elevul4 };
/* am sortat vectorul */
sortare(4, vectorElevi);
/* și o funcție ca să-ți afișeze vectorul de elevi sortat */
afisareVector(4, vectorElevi);
return 0;
}
void sortare(int n, Elev elevi[30])
{
/* am folosit bubble sort pentru sortare */
for (int i{}; i < n - 1; i++) {
for (int j{}; j < n - i - 1; j++) {
if (elevi[j].medie > elevi[j + 1].medie) {
/* std::swap schimba valorile între ele */
std::swap(elevi[j], elevi[j + 1]);
}
}
}
}
void afisareVector(int n, Elev elevi[30])
{
for (int i{}; i < n; i++) {
std::cout << elevi[i].nume << " are media " << elevi[i].medie << "!\n";
}
}