Correction examen de Structures De Données Avancées Et Programmation
Correction examen de Structures De Données Avancées Et Programmation
Correction examen de Structures De Données Avancées Et Programmation
Semestre 3 ; session 1
Exercice 1 :
s=s*i;
i++ ;
Exercice 2 :
1. Le type client
struct CompteBancaire{
char numero[20];
float montant;
char typeCompte[10];
};
typedef struct CompteBancaire CompteBancaire;
struct Date{
int jour;
int mois;
int annee;
};
typedef struct Date Date;
struct Client{
char nom[20];
char prenom[20];
Date ddn;
char CIN[20];
int nbCompte;
CompteBancaire *infoComptes;
};
typedef struct Client Client;
//Affichage du client
printf("Prenom : %s \n",cl.prenom);
printf("Nom : %s \n",cl.nom);
printf("Date de naissance : %d - %d - %d
\n",cl.ddn.jour,cl.ddn.mois,cl.ddn.annee);
printf("CIN %s \n",cl.CIN);
printf("Le(s) compte(s) : \n");
for(i=0;i<cl.nbCompte;i++){
printf("\t Numero du Compte : %s \n",(cl.infoComptes+i)->numero);
printf("\t Montant du Compte : %f\n",(cl.infoComptes+i)->montant);
printf("\t Type du Compte : %s\n",(cl.infoComptes+i)->typeCompte);
}
return 1;
}
Exercice 3 :
Exercice 4 :
int tab[] = {12, 23, 34, 45, 56, 67, 78, 89, 90};
int *ptr=NULL;
ptr = tab;
A. *ptr + 2;
Réponse :
tab[0] + 2
= 12+2
= 14
B. *(ptr+2);
Réponse :
tab[2] = 34
C. &tab[0] + 1;
Réponse :
(tab + 1)
= &tab[1]
D. tab + 3,
Réponse :
&tab[3]
E. ptr + (*ptr - 10)
Réponse :
tab + (tab[0] - 10)
= tab + (12-10)
= tab + 2
= &tab[2]
F. *(ptr + *(ptr+8) - tab[7])
Réponse :
*(tab + *(tab+8) -tab[7])
= *(tab + tab[8] – tab[7])
= *(tab + 90 – 89)
= *(tab +1)
= tab[1]
= 23