|
|
|
@ -147,7 +147,7 @@ void Admissions(candidat* tcandidat[],int tlogi)
|
|
|
|
|
//Tri alphabétique
|
|
|
|
|
//trie_??(tabIDCandidatAdmis);------------------------------------------------------
|
|
|
|
|
//Tri sur la note
|
|
|
|
|
trie_fusion(tabNoteCandidatAttente,attente);
|
|
|
|
|
tri_fusion(tabNoteCandidatAttente,attente);
|
|
|
|
|
//Save Admis liste
|
|
|
|
|
FILE *fadmis;
|
|
|
|
|
if((fadmis=fopen("src/Database/ListeAdmisInfo.bin","wb"))==NULL)
|
|
|
|
@ -180,7 +180,7 @@ int* fusion(int* tabfusion1,int tlogi1, int* tabfusion2, int tlogi2)
|
|
|
|
|
int i1=0, i2=0;
|
|
|
|
|
while (i1<tlogi1&&i2<tlogi2)
|
|
|
|
|
{
|
|
|
|
|
if(tabfusion1[i1]=<tabfusion2[i2])
|
|
|
|
|
if(tabfusion1[i1]<=tabfusion2[i2])
|
|
|
|
|
{
|
|
|
|
|
retTab[i1+i2]=tabfusion1[i1];
|
|
|
|
|
i1++;
|
|
|
|
@ -222,3 +222,52 @@ int* tri_fusion(int* tabNote, int* tabIDCandidatAttente, int taille)
|
|
|
|
|
tri_fusion(tabNote+taille-taille/2,tabIDCandidatAttente+taille-taille/2,taille-taille/2),taille-taille/2);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/*
|
|
|
|
|
int* fusion(tabG,tailleG,tabNoteG,tabD,tailleD,tabNoteD,retNote){
|
|
|
|
|
int ret[tailleG+tailleD]
|
|
|
|
|
int iG=0, iD=0;
|
|
|
|
|
while (i1<tlogi1&&i2<tlogi2){
|
|
|
|
|
if(tabNoteG[iG]<=tabNoteD[iD]){
|
|
|
|
|
retNote[iG+iD]=tabNoteG[iG];
|
|
|
|
|
ret[iG+iD]=tabG[iG];
|
|
|
|
|
iG++;
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
retNote[iG+iD]=tabNoteD[iD];
|
|
|
|
|
ret[iG+iD]=tabD[iD];
|
|
|
|
|
iD++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (iG==tailleG){
|
|
|
|
|
while(iD<tailleD){
|
|
|
|
|
retNote[iG+iD]=tabNoteD[iD];
|
|
|
|
|
ret[iG+iD]=tabD[iD];
|
|
|
|
|
iD++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (iD==tabD){
|
|
|
|
|
while(iG<tabG){
|
|
|
|
|
retNote[iG+iD]=tabNoteG[iG];
|
|
|
|
|
ret[iG+iD]=tabG[iG];
|
|
|
|
|
iG++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int* tri_fusion_rec(int tabIDCandidatAttente[], int tabNote[], int taille){
|
|
|
|
|
if(taille==1) return tabIDCandidatAttente;
|
|
|
|
|
int tabNoteG[taille/2], tabNoteD[taille-taille/2], retNote[taille];
|
|
|
|
|
tabNoteG=tabcpy(tabNote,taille/2);
|
|
|
|
|
tabNoteD=tabcpy(tabNote+taille/2,taille);
|
|
|
|
|
int ret[taille];
|
|
|
|
|
ret=fusion(tri_fusion_rec(tabIDCandidatAttente,tabNoteG,taille/2),taille/2,tabNoteG,\
|
|
|
|
|
tri_fusion_rec(tabIDCandidatAttente+taille/2,tabNoteD,taille-taille/2),taille-taille/2,tabNoteD,retNote);
|
|
|
|
|
tabNote=tabcpy(retNote,taille);
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int* tri_fusion(int tabIDCandidatAttente[], int tabNote[], int taille){
|
|
|
|
|
int notes[taille];
|
|
|
|
|
notes=tabcpy(tabNote,taille);
|
|
|
|
|
return tri_fusion_rec(tabIDCandidatAttente,notes,taille);
|
|
|
|
|
}*/
|