ajout final du tp13 d'algo

master
Antoine PEREDERII 2 years ago
parent e2bb871125
commit 707fce7b91

Binary file not shown.

@ -1,7 +1,7 @@
Etats-Unis 16 20 14 Etats-Unis 16 20 14
Chine___ 15 8 7 Chine 15 8 7
Australie 9 8 8 Australie 9 8 8
Japon___ 3 6 5 Japon 3 6 5
Allemagne 7 10 15 Allemagne 7 10 15
France__ 4 6 France 4 6
Italie__ 5 3 2 Italie 5 3 2

@ -1,9 +1,11 @@
Allemagne 7 10 16 33 Allemagne 7 10 16 33
Australie 9 8 8 25 Australie 9 8 8 25
Chine___ 17 9 7 33 Chine 15 8 7 30
Cuba____ 1 1 0 2 Chine 2 1 0 3
Cuba 1 1 0 2
Etats-Unis 16 20 14 50 Etats-Unis 16 20 14 50
France__ 5 7 0 12 France 1 1 0 2
Italie__ 5 3 2 10 France 4 6 0 10
Japon___ 3 6 5 14 Italie 5 3 2 10
Japon 3 6 5 14
Zimbabwe 0 0 1 1 Zimbabwe 0 0 1 1

@ -1,5 +1,5 @@
Chine___ 2 1 0 Chine 2 1 0
Allemagne 0 0 1 Allemagne 0 0 1
Cuba____ 1 1 0 Cuba 1 1 0
France__ 1 1 0 France 1 1 0
Zimbabwe 0 0 1 Zimbabwe 0 0 1

@ -10,7 +10,10 @@ Pays lirePays(FILE *flot)
void afficherPays(Pays p) void afficherPays(Pays p)
{ {
printf("%s\t%d\t%d\t%d\t%d\n", p.pays, p.or, p.ar, p.br, p.tot); if(strlen(p.pays) < 8)
printf("%s\t\t%d\t%d\t%d\t%d\n", p.pays, p.or, p.ar, p.br, p.tot);
else
printf("%s\t%d\t%d\t%d\t%d\n", p.pays, p.or, p.ar, p.br, p.tot);
} }
int chargeResults(Pays *tpays[], int nbmax) int chargeResults(Pays *tpays[], int nbmax)
@ -88,12 +91,22 @@ void triEchange(Pays *tpays[], int nb)
} }
} }
int copie(Pays *tpays[], int i, int j, int n, Pays *tab2[]) int copieR(Pays *tpays[], int i, int j, Pays *R[])
{ {
int r, pas = 0; int r, pas = 0;
for(r=i; r<1; r++) for(r=i; r<j; r++)
{ {
tab2[pas] = tpays[r]; R[pas] = tpays[r];
pas++;
}
}
int copieS(Pays *tpays[], int i, int j, Pays *S[])
{
int s, pas = 0;
for(s=i; s<j; s++)
{
S[pas] = tpays[s];
pas++; pas++;
} }
} }
@ -139,8 +152,8 @@ void triFusion(Pays *tpays[], int nb)
S = (Pays**)malloc(sizeof(Pays*)*(nb-nb/2)); S = (Pays**)malloc(sizeof(Pays*)*(nb-nb/2));
if(R == NULL || S == NULL) if(R == NULL || S == NULL)
exit (1); exit (1);
copie(tpays, 0, nb/2, R); copieR(tpays, 0, nb/2, R);
copie(tpays, nb/2, nb, S); copieS(tpays, nb/2, nb, S);
triFusion(R, nb/2); triFusion(R, nb/2);
triFusion(S, nb-nb/2); triFusion(S, nb-nb/2);
fusion(R, nb/2, S, nb-nb/2, tpays); fusion(R, nb/2, S, nb-nb/2, tpays);

Loading…
Cancel
Save