Vous êtes sur la page 1sur 15

Exercice 1

//a
#include <stdio.h>
void bonjour ( )
{printf("bonjour \n");}
void main ( )
{bonjour();}

//b
#include <stdio.h>
void bonjour ( )
{printf("bonjour \n");}
void coucou ( )
{bonjour();}
void main ( )
{coucou();}

Exercice 2
#include <stdio.h>
#include <stdlib.h>
float MOYENNE (float a, float b)
{
return((a+b)/2);
}
int main()
{ float a , b, moy;
printf("saisir deux nombres reels \n");
scanf("%f %f",&a,&b);
moy=MOYENNE(a,b);
printf("la moyenne arithmétique de %f et %f est %f", a, b, moy);
}
Exercice 3
#include <stdio.h>
float MIN( float A, float B)
{
if (A<B)
return A ;
else
return B;
}
float MAX( float A, float B)
{
if (A>B)
return A ;
else
return B;
}
int main( )
{
float W,X,Y,Z,Mx,Mn ;
printf("donner W, X, Y et Z");
scanf("%f %f %f %f",&W,&X,&Y,&Z);
Mx=MAX(MAX(W,X),MAX(Y,Z)) ;
Mn=MIN(MIN(W,X),MIN(Y,Z)) ;
printf("Le maximum de %f, %f, %f et %f est %f \n",W, X, Y, Z, Mx) ;
printf("Le minimum de %f, %f, %f et %f est %f \n",W, X, Y, Z, Mn) ;
return 0 ;
}
Exercice 4
#include <stdio.h>
#include <math.h>
float F(int x)
{
return (sin(x)+log(x)-sqrt(x));
}
int main( )
{
float tab[10] ;
int i ;
for(i=0 ;i<10 ;i++)
{
tab[i]=F(i+1) ;
printf("f(%d)= %f\n",i,tab[i]);
}
return 0;
}

Exercice 5
#include <stdio.h>
#include <stdlib.h>
float Somme (float *tab, int n)
{
float S=0 ;
int i;
for (i=0 ;i<n ;i++)
{S=S+*(tab+i);}
return S;
}
int main( )
{
float* t = NULL; // Ce pointeur va servir de tableau après l'appel du malloc
int n,i;

do{
printf("donner la dim du tableau");
scanf("%d",&n);
}while(n<1);
//allocation dynamique
t= (float*)malloc(n * sizeof(float));
for(i=0 ;i<n ;i++)
{
printf("Donnez T[%d]",i);
scanf("%f",t+i);
}
printf("Somme=%f",Somme(t, n));
return 0 ;
}

Exercice 6
//version 1
#include <stdio.h>
int testrec(int t [], int n, int i)
{ int res;
if (i==n-2)
{res =(t[i]<=t[i+1]);
return res;}
else
{ res =(t[i]<=t[i+1]);
if (res==1)
{testrec( t, n, i+1);}
else
{ return res; }
}
}
int main()
{ int t [50],n,i;
int res;
do{
printf("Dimension du tableau T (max.50) : ");
scanf("%d", &n );
}while(n>50 ||n<1);
for(i=0 ;i<n ;i++)
{
printf("Donnez t[%d]",i);
scanf("%f",&t[i]);
}
i=0;
res= testrec(t, n, i);
if (res==1)
{
printf("le tableau est trié");
}
else
{
printf("le tableau n est pas trié");
}
}
//version 2
#include <stdio.h>
#include <stdlib.h>
int testrec(int *t, int n, int i)
{ int res;
if (i==n-2)
{
res =(*(t+i)<=*(t+i+1));
return res;
}
else
{
res =(*(t+i)<=*(t+i+1));
if (res==1)
{testrec( t, n, i+1);}
else
{ return res; }
}
}
int main()
{
int* t = NULL; // Ce pointeur va servir de tableau après l'appel du malloc
int n,i;
int res;
do{
printf("donner la dim du tableau");
scanf("%d",&n);
}while(n<1);
//allocation dynamique
t= (int*)malloc(n * sizeof(int));
for(i=0 ;i<n ;i++)
{
printf("Donnez T[%d]",i);
scanf("%d",t+i);
}
i=0;
res= testrec(t, n, i);
if (res==1)
{ printf("le tableau est trié");}
else
{ printf("le tableau n est pas trié");}
}

Exercice 7
#include <stdio.h>
void maxmin(int *t, int N, int *admax, int *admin)
{
int i;
*admax=*t ;
*admin=*t;
for(i=1 ;i<N ;i++)
{
if (*(t+i)<*admin) *admin=*(t+i);
if (*(t+i)>*admax) *admax=*(t+i);
}
}
int main( )
{
int* V = NULL;
int N=20;
int i, max, min ;
V= (int*)malloc(N * sizeof(int));
for(i=0 ;i<N ;i++)
{
printf("Donnez V[%d]",i);
scanf("%d",V+i);
}
maxmin(V, N, &max, &min) ;
printf("max=%d\n",max);
printf("min=%d\n",min);
return 0 ;
}

Exercice 8
#include <stdio.h>
#include <math.h>
void Saisie(int *t, int n)
{
int i ;
for(i=0 ;i<n ;i++)
{
printf("Donner t[%d]:",i);
scanf("%d",t+i);
}
}
void Affiche(int *t, int n)
{
int i ;
for(i=0 ;i<n ;i++)
printf("t[%d]: %d",i,*(t+i));
printf("\n");
}
int Difference(int *t1, int *t2, int n)
{
int i, diff=0 ;
for(i=0 ;i<n ;i++)
{diff=diff+(abs(*(t1+i)-*(t2+i))) ;}
return diff;
}
int main( )
{
int * t1= NULL, * t2= NULL, n ;
do{
printf("donner la dim des tableaux");
scanf("%d",&n);
}while(n<1||n>100);
//allocation dynamique
t1= (int*)malloc(n * sizeof(int));
t2= (int*)malloc(n * sizeof(int));
printf("saisir le tableau t1");
Saisie(t1,n) ;
printf("saisir le tableau t2");
Saisie(t2,n) ;
printf("tableau t1");
Affiche(t1,n) ;
printf("tableau t2");
Affiche(t2,n) ;
printf("Difference = %d",Difference(t1,t2,n));
return 0 ;
}
Exercice 9
#include <stdio.h>
#include<math.h>
#include <stdlib.h>
int n;
int Saisie(int n,int max,int min)
{
do{
printf("saisir un entier compris entre %d et %d \n", min,max);
scanf("%d",&n);
}while(n<min||n>max);
return n;
}
void RemplirCroissant (int *t, int n)
{
int i;
printf("t[0] : ");
scanf("%d", t);
for (i=1; i<n; i++)
{
do
{printf("t[%d] : ",i);
scanf("%d", t+i);
}while(*(t+i)<*(t+i-1));
}
}

void RemplirDecroissant (int *t, int n)


{
int i;
printf("t[0] : ");
scanf("%d", t);
for (i=1; i<n; i++)
{
do
{printf("t[%d] : ",i);
scanf("%d", t+i);
}while(*(t+i)>*(t+i-1));
}
}
void AfficherTab (int *t, int n)
{
int i;
for (i=0; i<n; i++)
{
printf("t[%d]= %d \t ",i,*(t+i));
}
}

int Somme (int *t, int n)


{
int i,s=0;
for (i=0; i<n; i++)
{
s=s+*(t+i);
}
return s;
}
void Remplacer (int *t, int n, int x)
{
int i;
for (i=0; i<n; i++)
{
*(t+i)=pow(*(t+i),x);

}
}
void Fusion (int *t1, int n1, int *t2, int n2, int *t3)
{
int I1=0, I2=n2-1, I3=0;
while ((I1<n1) && (I2>=0))
{if(*(t1+I1)<*(t2+I2))
{
*(t3+I3)=*(t1+I1);
I3++;
I1++;
}
else
{
*(t3+I3)=*(t2+I2);
I3++;
I2--;
}}
/* Si IA ou IB sont arrivés à la fin de leur tableau, */
/* alors copier le reste de l'autre tableau. */
while (I1<n1)
{
*(t3+I3)=*(t1+I1);
I3++;
I1++;
}
while (I2>=0)
{
*(t3+I3)=*(t2+I2);
I3++;
I2--;
}
}
int main()
{
int * t1=NULL, *t2=NULL, *t3=NULL;
int n1,n2;
int t;
//saisie de la dim du tableau t1
printf("saisie de la dim du tableau t1 \n");
n1=Saisie(n1=0,100,1);
//saisie de la dim du tableau t2
printf("saisie de la dim du tableau t2 \n");
n2=Saisie(n2=0,100,1);

t1=(int*) malloc(n1 * sizeof(int));


t2= (int*) malloc(n2 * sizeof(int));

printf("saisie du tableau t1 par ordre croissant \n");


RemplirCroissant(t1,n1);

printf("saisie du tableau t2 par ordre decroissant \n");


RemplirDecroissant(t2,n2);
printf("tableau t1 \n");
AfficherTab(t1,n1);
printf("\n");

printf("tableau t2 \n");
AfficherTab(t2,n2);
printf("\n");

printf("la somme des elements du tableau t1 est %d \n", Somme(t1,n1));


printf("\n");
printf("la somme des elements du tableau t2 est %d \n", Somme(t2,n2));
printf("\n");
if (Somme(t1,n1)==Somme(t2,n2))
{
printf("les sommes calculées sont deux entiers égaux \n");
}
else {
printf("les sommes calculées ne sont pas deux entiers égaux \n");
}
do
{printf("saisir un entier t strictement positif \n");
scanf("%d",&t);
}while(t<=0);
Remplacer(t2,n2,t);
printf("tableau t2 apres l utlisation de la fonction remplacer avec t=%d \n",t);
AfficherTab(t2,n2);
printf("\n");

t3= (int*)malloc((n1+n2) * sizeof(int));


Fusion(t1, n1,t2,n2,t3);
printf("tableau t3 fusion t1 et t2 \n");
AfficherTab(t3,(n1+n2));
printf("\n");
}

Vous aimerez peut-être aussi