1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
| #include <stdio.h>
#include <stdlib.h>
#define true 1
#define false 0
#define MAX 50
typedef struct {
char nom[MAX];
char matricule[MAX];
int age;
double taille;
double recordpers;
} athlete;
void ref(athlete NA[], int n){
int i;
for(i=0;i<n;i++){
printf("\nentrez le nom [%d] : ",i+1);
scanf("%s",&NA[i].nom[i]);
printf("\nentrez la matricule [%d] : ",i+1);
scanf("\n%s",&NA[i].matricule[i]);
printf("\nentrez l age [%d] : ",i+1);
scanf("\n%d",&NA[i].age);
printf("\nentrez la taille [%d] : ",i+1);
scanf("\n%lf",&NA[i].taille);
printf("\nentrez le record personnel [%d] : ",i+1);
scanf("\n%lf",&NA[i].recordpers);
}
}
double RMA(athlete H[] , int n){
int i;
double s=0;
for(i=0;i<n;i++){
s = H[i].recordpers + s;
}
double M=(s / n);
return M;
}
athlete recordinf(athlete NA[],int taille){
athlete T[taille];
double moy; int i,k;
k=1; moy=0;
for(i=0;i<taille;i++){
moy=NA[i].recordpers + moy;
}
moy=moy/taille;
for(i=0;i<taille;i++){
if(NA[i].recordpers<moy) T[k++]=NA[i];
}
return *T;
}
athlete tri_athlete(athlete NA[] , unsigned int taille){
athlete T[taille];
int permut;
int i;
T[taille]=recordinf(NA,taille);
permut = true;
while(permut){
permut=false;
for(i=0;i<taille;i++){
if(T[i].recordpers < T[i+1].recordpers){
athlete temp;
temp=T[i];
T[i]=T[i+1];
T[i+1]=temp;
permut = true;
}
}
}
return *T;
}
void affiche(athlete NA[], int taille){
athlete T[taille];
int i;
T[taille]=recordinf(NA,taille);
for(i=0;i<taille;i++){
printf("%s \n",T[i].nom[i]);
printf("%s \n",T[i].matricule[i]);
printf("%d \n",T[i].age);
printf("%lf \n",T[i].taille);
printf("%lf \n",T[i].recordpers);
}
}
int main()
{
int i;
athlete *NA=(athlete*)malloc(3*sizeof(athlete));
ref(NA,3);
printf("le record moyen est %lf",RMA(NA , 3));
return 0;
} |
Partager