Сообственно хотелось бы узнать : КАК?!
ничего в голову не приходит..разве что каждой букве присвоить свой номер(А=1,Б=2) и т.д и сортировать по сумме...Может кто-нибудь подкинет ссылочку или расскажет?
#include <string.h>
#include <stdio.h>
const int max_name = 10;
const int max_prim = 10;
struct my_s {
char FIO[max_name];
char prim[max_prim];
int vball;
int ekz[5];
int zach[3];
float sball;
};
const int n = 5;
my_s tabl1[n] = {
{"aaafb", "bbbbb", 1, {2, 2, 2, 2, 2}, {3, 3, 3}, 2.2},
{"aabba", "bbbbb", 1, {2, 2, 2, 2, 2}, {3, 3, 3}, 6.2},
{"accaa", "bbbbb", 1, {2, 2, 2, 2, 2}, {3, 3, 3}, 8.2},
{"aaagg", "bbbbb", 1, {2, 2, 2, 2, 2}, {3, 3, 3}, 4.2},
{"aabaa", "bbbbb", 1, {2, 2, 2, 2, 2}, {3, 3, 3}, 1.2}
};
int main() {
for(int i = 0; i < n; i++) {
printf("%s %s %lf\n", tabl1[i].FIO, tabl1[i].prim, tabl1[i].sball);
}
int is = 1;
while(is) {
is = 0;
for (int i = n - 1; i > 0; i--)
if(strcmp(tabl1[i].FIO, tabl1[i-1].FIO) < 0) {
my_s buf;
memmove((void*)(&buf), (void*)(&tabl1[i]), sizeof(my_s));
memmove((void*)(&tabl1[i]), (void*)(&tabl1[i - 1]), sizeof(my_s));
memmove((void*)(&tabl1[i - 1]), (void*)(&buf), sizeof(my_s));
is = 1;
}
}
printf("\n");
for(int i = 0; i < n; i++) {
printf("%s %s %lf\n", tabl1[i].FIO, tabl1[i].prim, tabl1[i].sball);
}
return 0;
}