Vous êtes sur la page 1sur 11

Réalisé par: CHAKRANE Ilias &

CHAALI Wassel
EXO N°1
#include <stdio.h>
#include <stdlib.h>
#define N 12
int main()
{
int val=0,i=0,pos=0;
int tab[N]={-15,-1,0,7,8,12,15,19,21,30,35};
printf("\n\n----------------------------------------------------------------------------\n");
printf("AVANT :");
for (i=0;i<N-1;i++)
printf(" %d / ",tab[i]);
printf("\n----------------------------------------------------------------------------\n\n");
printf("Entrer la valeur a ajouter : ");
scanf("%d",&val);
getchar();
i=0;
// Recherche de la position de la valeur déjà saisie
while (( val>tab[i]) & (i<N))
{
pos = i+1;
i++;
}
for (i=N-1;i>=pos;i--)
{
tab[i]=tab[i-1];
}
tab[pos]=val;
printf("\n\n----------------------------------------------------------------------------\n");
printf("APRES :");
for (i=0;i<N;i++)
printf(" %d / ",tab[i]);
printf("\n----------------------------------------------------------------------------\n");
return 0;
}
Réalisé par: CHAKRANE Ilias &
CHAALI Wassel
Réalisé par: CHAKRANE Ilias &
CHAALI Wassel
EXO N°2
a)
#include <stdio.h>
#include <stdlib.h>
#define N 10
int main()
{
int val=0,i=0,pos=-1;
int A[N]={0,12,9,-10,17,5,11,21,41,36};
printf("\n\n |+|+| UTILISATION DE LA RECHERCHE SEQUENTIELLE |+|+|\n\n\n ");
printf("Entrer la valeur a chercher : ");
scanf("%d",&val);
getchar();
while (i<N)
{
if (val!=A[i])
{pos = -1;
i++;}
else if (val==A[i])
{
pos=i+1;
break;
}
}
printf("\n----------------------------------------------------------------------------\nVoila le
tableau : ");
for (i=0;i<N;i++)
{printf(" %d / ",A[i]); }
printf("\n----------------------------------------------------------------------------\n");
printf("la position est %d\n\n",pos);
return 0;
}
Réalisé par: CHAKRANE Ilias &
CHAALI Wassel
Réalisé par: CHAKRANE Ilias &
CHAALI Wassel
b)
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <math.h>
#define N 10
int main()
{
int val=0,i=0,inf=0,sup=N,M=((inf+sup)/2);
int A[N]={-2,1,6,14,17,26,39,41,55,63};
bool B=false;
printf("\n\n |+|+| UTILISATION DE LA RECHERCHE DICHOTOMIQUE |+|+|\n\n\n
");
printf("Entrer la valeur a chercher : ");
scanf("%d",&val);
getchar();
while ( (i<N) && (B==false))
{
if (val==A[M]) {B=true;}
else if (val>A[M])
{
inf=M;
M=((sup+inf)/2);
i++;}
else if (val<A[M]) {
sup=M;
M=((sup+inf)/2);
i++;}
}
printf("\n----------------------------------------------------------------------------\nVoila le
tableau : ");
for (i=0;i<N;i++)
{printf(" %d / ",A[i]);}
printf("\n----------------------------------------------------------------------------\n");
if (B==true)
{
Réalisé par: CHAKRANE Ilias &
CHAALI Wassel
printf("la position est : %d",M+1);
}
else if(B==false) printf("\nla position est : -1\n");
return 0;
}
Réalisé par: CHAKRANE Ilias &
CHAALI Wassel
Exo N°3
#include <stdio.h>
#include <stdlib.h>
#define N 7
int main()
{
int pmax=0,i=0,j=0,p=0;
int A[N]={77,11,66,55,22,44,33};
char rep='N';
printf("\n\n |+|+| UTILISATION DU TRI PAR SELECTION DU MAXIMUM |+|
+|\n\n\n ");
do{
printf("Voulez vous afficher le tableau non trie (O/N) ?");
scanf("%c",&rep); getchar();} while((rep!='o') && (rep!='O'));
printf("\nLe tableau non trie est : \n---------------------------------------\n");
for (i=0;i<N;i++)
printf(" %d/",A[i]);
printf("\n-----------------------------------------------\n\n\n");
for (i=0;i<N-1;i++)
{
pmax = i;
for(j=i+1;j<N;j++)
{
if( A[pmax]<A[j])
{
pmax=j;
}
p=A[i];
A[i]=A[pmax];
A[pmax]=p;
}
}
do{
printf("Voulez vous afficher le tableau trie (O/N) ?");
scanf("%c",&rep); getchar();} while((rep!='o') && (rep!='O'));
printf("\nLe tableau trie est : \n----------------------------------------\n");
Réalisé par: CHAKRANE Ilias &
CHAALI Wassel
for (i=0;i<N;i++)
printf(" %d/",A[i]);
printf("\n---------------------------------------------");
return 0;
}
Réalisé par: CHAKRANE Ilias &
CHAALI Wassel
EXO N°4
#include <stdio.h>
#include <stdlib.h>
#define N 6
#define M 5
#define P N+M
int main()
{
int A[N];
int B[M];
int FUS[P]={0};
int iA=0,iB=0,iFUS=0;
printf("\n\n |+|+| UTILISATION DU TRI PAR FUSION |+|+|\n\n\n ");
for (iA=0;iA<N;iA++)
{printf("Saisir l'element A[%d] :",iA);
scanf("%d",&A[iA]);}
for (iB=0;iB<M;iB++)
{printf("Saisir l'element B[%d] :",iB);
scanf("%d",&B[iB]);}
//Affichage du tableau non trié
printf("Le tableau A est : \n-------------------------------------------------------------\n");
for (iA=0;iA<N;iA++)
printf(" %d/",A[iA]);
printf("\n-----------------------------------------------\n\n\n");
printf("Le tableau B est : \n--------------------------------------------------------------\n");
for (iB=0;iB<M;iB++)
printf(" %d/",B[iB]);
printf("\n----------------------------------------------------\n\n\n");
//Fin
iA=0;
iB=0;
iFUS=0;
while( (iA<N) && (iB<M))
{
if (A[iA]<B[iB])
{FUS[iFUS]=A[iA];
Réalisé par: CHAKRANE Ilias &
CHAALI Wassel
iA++;
}
else if (A[iA]>B[iB])
{FUS[iFUS]=B[iB];
iB++;
}
else
{
FUS[iFUS]=B[iB];
iB++;
iA++;
}
iFUS++;
}
while ((iB<M) && (iA==N))
{ FUS[iFUS]=B[iB];
iB++;
iFUS++;
}
while((iA<N) && (iB==M))
{FUS[iFUS]=A[iA];
iA++;
iFUS++;
}
printf("Le tableau fusionne est : \n-----------------------------------------------------\n");
for(iFUS=0;iFUS<P;iFUS++)
printf("%d ",FUS[iFUS]);
printf("\n---------------------------------------------\n\n\n");
return 0;
}
Réalisé par: CHAKRANE Ilias &
CHAALI Wassel

Vous aimerez peut-être aussi