Robiłem to kiedyś w języku C. Zobacz sobie funkcję sortującą i przekształć to sobie na struktury. Btw wydaje mi się, że piszesz w kompilatorze C++, dlatego nie musisz pisac "typedef struct UCZEN". Wystarczy jak wpiszesz struct UCZEN, a potem stworzysz obiekt
struct UCZEN
{
char imie[20];
};
UCZEN student;
cin >> student.imie;
Albo, w sumie bardziej spotykany styl w książkach
typedef struct //tworzysz strukturę bez nazwy
{
char imie[20];
} UCZEN;
Tutaj kod:
#include <stdio.h>
#define N 10
int max(int*, int);
void sort(int*);
int main()
{
char tab[] = {"===================================="},
tab2[] = {"= =\r="};
int tablica[N], i;
printf("%s\n%s Program sortujacy\n%s\n\n", tab, tab2, tab);
printf("Podaj kolejne %d liczb calkowitych\n", N);
for(i = 0; i < N; i++)
{
printf("tab[%d] = ", (i + 1));
scanf("%d", &tablica[i]);
}
sort(tablica);
getchar();
getchar();
return 0;
}
int max(int* tab, int MAX)
{
int i;
for(i = MAX; i < N; i++)
if(tab[MAX] < tab[i])
MAX = i;
return MAX;
}
void sort(int* tab)
{
int i, j, help, wsk;
for(i = 0; i < (N - 1); i++)
{
wsk = max(tab, i);
help = tab[i];
tab[i] = tab[wsk];
tab[wsk] = help;
for(j = 0; j < N; j++)
printf("\nTab[%d] = %d", j, tab[j]);
printf("\n\n");
}
}