Изменить 'du5/program.c'

This commit is contained in:
Pavlo Tverdyi 2020-04-09 17:50:32 +00:00
parent 7057440f68
commit 46d0348629

View File

@ -15,7 +15,7 @@ int keep(struct LIS *);
int del(struct LIS *,int);
void Sort_Num(struct LIS *,int);
void Sort_Sname(struct LIS *,int);
void Sort_Fname(struct LIS *,int);
//void Sort_Fname(struct LIS *,int);
void print(struct LIS *,int);
@ -25,7 +25,7 @@ int count=keep(list);
int pult=del(list,count);
Sort_Num(list,count);
Sort_Sname(list,count);
Sort_Fname(list,count);
//Sort_Fname(list,count);
print(list,pult);
return 0;
}
@ -64,31 +64,27 @@ void Sort_Num(struct LIS *list,int count){//bubble sort :)
}
}
}
void Sort_Sname(struct LIS *list,int count){
void Sort_Sname(struct LIS *list,int count){//Selection Sort
struct LIS ilusion;
for(int i=count-1;i<0;i--){
for(int j=0;j<i;j++){
if(list[j].num==list[j+1].num && strcmp(list[j].sname,list[j+1].sname)<0 ){
ilusion=list[j];
list[j]=list[j+1];
list[j+1]=ilusion;
}
}
}
}
void Sort_Fname(struct LIS *list,int count){
struct LIS ilusion;
for(int i=count-1;i<0;i--){
for(int j=0;j<i;j++){
if(list[j].num==list[j+1].num && list[j].sname==list[j+1].sname && strcmp(list[j].fname,list[j+1].fname)>0) {
ilusion=list[j];
list[j]=list[j+1];
list[j+1]=ilusion;
char *min;
int mini;
for(int i=0;i<count;i++){
min=list[i].sname;
mini=i;
for(int j=i+1;j<count;j++){
if((list[mini].num==list[j].num) && strcmp(min,list[j].sname)>0){
min=list[j].sname;
mini=j;
}
}
ilusion=list[i];
list[i]=list[mini];
list[mini]=ilusion;
}
}
void print(struct LIS *list,int pult){
printf("Vysledky:\n");
for(int i=0;i<pult;i++){
@ -103,3 +99,4 @@ void print(struct LIS *list,int pult){