Vous êtes sur la page 1sur 2

Université Sidi Mohamed Ben Abdellah

Faculté des Sciences et Techniques


Département d’Informatique
___________________________________________________________________________
Série N°3
TD Algorithmique & Programmation
Exercice 1
Compléter le tableau suivant :
A B C P1 P2
Initialisation 1 2 3 / /
P1=&A 1 2 3 &A /
P2=&C 1 2 3 &A &C
*P1=(*P2)++ 3 2 4 &A &C
P1=P2 3 2 4 &C &C
P2=&B 3 2 4 &C &B
*P1-=*P2 3 2 2 &C &B
++*P2 3 3 2 &C &B

Exercice 2
Donner le résultat d’exécution du programme suivant :
#include <stdio.h> intreculer3(int *x){ reculer2(y );
void avancer1(int x ){ *x-=3; printf("\n y=%d",y);//y = 3
x+=1; return *x ; y=avancer2(&x);
} } printf("\n y=%d",y); //y = 5
intavancer2(int *x){ main( ){ printf("\n x=%d",x); //x = 5
*x+=2; int x=6, y=1; y=reculer3(&x);
return *x ; avancer1(x); printf("\n y=%d",y); //y = 2
} printf("\n x=%d",x);//x = 6 printf("\n x=%d",x); //x = 2
voidreculer2(int x){ x=avancer2(&y); x=reculer3(&y);
x-=2; printf("\n y=%d",y);//y = 3 printf("\n x=%d",x); //x = -1
} printf("\n x=%d",x); //x = 3 printf("\n y=%d",y); //y = -1
}

________________________________________________________________________________
MIP2 1/1 2020-2021
Exercice 3

Ecrire une fonction Max_Min(. , . , . )à 3 arguments qui calcule le maximum et le


minimum d’une série de n entiers saisis au clavier. Les variables relatives au
minimum et au maximum font partie des arguments de la fonction.

Ecrire un programme qui fait appel à la fonction de deux façons différentes.

Solution :
#include<stdio.h>
#include<stdlib.h>
Max_Min(int n, int *max, int *min)
{
int i, e ;
printf("Saisir un entir e :");
scanf("%d", &e);
*max = e; *min = e;
for(i = 2 ; i<=n ; i++ )
{
printf("Saisir un entier :");
scanf("%d", &e);
if ( e > *max)
*max = e;
if( e < *min)
*min = e ;
}
}
main( )
{
int n, min, max ;//int n, *min, *max ;
// min = (int*)malloc(sizeof(int)) ;
// max = (int*)malloc(sizeof(int));
do{ printf("Saisir n>0 : ") ;
scanf("%d", &n) ;
}while( n<= 0 ) ;
Max_Min(n, &max, &min) ;// Max_Min(n, max, min)
printf("\nLe max = %d \t et \t le min = %d\n", max, min) ;
// printf("\nLe max = %d \t et \t le min = %d\n", *max, *min) ;
// free(min) ;
//free(max) ;
system("pause") ;
}
2/2

Vous aimerez peut-être aussi