Académique Documents
Professionnel Documents
Culture Documents
2022/2023
Exercice 1 :
Soit le programme suivant :
#include<stdio.h>
void main()
{
int tab[5]={4,7,2,9,6};
int *p, *q;
p=tab;
q=tab+4;
q-=2;
p++;
*(tab+3)=*p+*q;
*(tab+4)=*(q-1)-*(p+1);
p+=*tab-*q ;
q-=*p-*(tab+3);
tab[0]=p-q ;
p=q ;
}
Remplir le tableau suivant (seulement les cellules contenant des pointillés), en supposant que :
&tab[0] : F50 ; &tab[1] : F54 ; &tab[2] : F58 ; &tab[3] : F5C ; &tab[4] : F60 ;
Instructions p *p q *q tab[0] tab[1] tab[2] tab[3] tab[4]
p=tab …… ….. ….. ….. ….. ….. …..
q=tab+4; ….. …..
q-=2; ….. …..
p++; ….. …..
*(tab+3)=*p+*q; …..
*(tab+4)=*(q-1)-*(p+
…..
1);
p+=*tab-*q ; ….. …..
q-=*p-*(tab+2)-1; ….. …..
tab[0]=p-q ;
…..
p=q ; ….. …..
Exercice 2 :
Quel est le contenu des variables A, B, C, P1 et P2 après chacune des instructions du
programme ci après
void main()
{
int A = 1;
int B = 2;
int C = 3;
int *P1, *P2;
P1=&A;
P2=&C;
*P1=(*P2)++;
1
P1=P2;
P2=&B;
*P1-=*P2;
++*P2;
*P1*=*P2;
A=++*P2**P1;
P1=&A;
}
Exemple 1:
1 2 3 4 61 33 34 3 21 2 51 6 5 3 13 14 15 16 17 10
=> Résultat 5
Exemple d'exécution:
2
Exercice 8: (extrait de l'examen de la session de rattrapage, le 10 juin 2013)
Soit une matrice dynamique de l lignes et c colonnes d'entiers.
1. Ecrire la fonction allocation permettant de réserver l'espace nécessaire pour cette
matrice.
2. Ecrire 2 fonctions remplir_mat et afficher_mat permettant respectivement de remplir
et d'afficher la matrice par des entiers.
3. Ecrire une fonction transposee permettant de créer et d'afficher la transposée d'une
matrice dynamique (la matrice résultat est dynamique aussi).
rappel
A= 1 3 5 🡺 transposée de A= 1 2
2 4 6 3 4
5 6
Dans cet exercice, vous allez saisir les notes de n étudiants (n doit être supérieur à 3). Le
nombre de notes (int) est variable d'un étudiant à un autre.
Soient les tableaux dynamiques suivants (voir schéma): Le 1er tableau contient le nombre de
notes de chaque étudiant. Le 2ème tableau contient les notes de chaque étudiant.
Une résidence est composée de l immeubles. Un immeuble est composé de c étages. Un étage
est composé de k appartements.
Dans cet exemple, l=2, c=3 et k=4.
Les derniers tableaux contiennent les superficies des k appartements.
3
Soit le programme suivant:
4
Ecrire les fonctions suivantes: (Ne pas oublier de préciser leurs en-têtes)
1. saisir: cette fonction lit le nombre d'immeubles, le nombre d'étages et retourne le nombre
d'appartements.
2. allocation
3. La fonction remplir_residence: saisit les superficies des appartements
4. La fonction afficher_residence: affiche les superficies des appartements
5. La fonction superficie_etage_immeuble: calcule et retourne la somme de la superficie des k
appartements de l'étage 'et' de l'immeuble 'im'. (exemple: superficie étage et:2, immeuble
im:2 🡺 530m2).
6. La fonction superficie_immeuble: calcule et retourne la superficie totale de l'immeuble 'im'
(utiliser la question 5) (exemple: immeuble im=2 🡺 1370m2).
7. La fonction superficie_totale: calcule la superficie totale de la résidence (utiliser la question
6)