Sei sulla pagina 1di 8

ALGO/PROG2

Correction de la srie 4
EX1

//mainEX1_S4.C
#include"M1_EX1_S4.h"
#include"M2_EX1_S4.h"
#include"M3_EX1_S4.h"
#include"M4_EX1_S4.h"
#include<stdlib.h>
#include<stdio.h>
intmain()
{int N=2;
intT[N],V[N];
int W[2*N],AW[2*N];
int A[2*N][2*N];
printf("lecture du vecteur T\n");
lect_vect(N,T);
printf("lecture du vecteur V\n");
lect_vect(N,V);
printf("Voici votre vecteur T que vous avez saisi\n");
affiche_vect(N,T);
printf("Voici votre vecteur V que vous avez saisi\n");
affiche_vect(N,V);
printf("lecture de la matrice A\n");
lect_mat(N,A);
printf("Voici votre matrice A\n");
affiche_mat(N,A);
class_crois(N,T);
printf("Voici votre vecteur T par ordre croissant\n");

affiche_vect(N,T);
class_decrois(N,V);
printf("Voici votre vecteur V par ordre decrois\n");
affiche_vect(N,V);
regr_vect(N,T,V,W);
printf("Voici votre vecteur W \n");
affiche_vect(2*N,W);
prod_mat_vect(N,W,AW,A);
printf("Voici votre vecteur Aw produit de A avec W\n");
affiche_vect(2*N,AW);
system("PAUSE");
return(0);
}
//M1_EX1.h
voidlect_vect(intN,int T[]);
voidlect_mat(intN,int A[][2*N]);

//M1_EX1_S4.c
#include"M1_EX1_S4.h"
#include<stdlib.h>
#include<stdio.h>
voidlect_vect(intN,int T[])
{int I;
for(I=0;I<N;I++)
{printf("donner l elt %d \n",I);
scanf("%d",&T[I]);
}
}
voidlect_mat(intN,int A[][2*N])
{int I,J;

for(I=0;I<2*N;I++)
for(J=0;J<2*N;J++)
{printf("donner l elt %d%d \n",I,J);
scanf("%d",&A[I][J]);
}
}
//M4_EX1_S4.h
voidaffiche_vect(intN,int T[]);
voidaffiche_mat(intN,int A[][2*N]);

//M4_EX1_S4.c
#include"M4_EX1_S4.h"
#include<stdlib.h>
#include<stdio.h>
voidaffiche_vect(intN,int T[])
{int I;
for(I=0;I<N;I++)
printf("%d |",T[I]);
printf("\n");
}
voidaffiche_mat(intN,int A[][2*N])
{int I,J;
for(I=0;I<2*N;I++)
{
for(J=0;J<2*N;J++)
printf("%d",A[I][J]);
printf("\n");
}
}
//M2_EX1_S4.h

//classement
voidclass_crois(intN,int T[]);
voidclass_decrois(intN,int T[]);

// M2_EX1_S4.c
#include"M2_EX1_S4.h"

voidclass_crois(intN,int T[])
{int I,J,ECH;
for(I=0;I<N-1;I++)
for(J=I+1;J<N;J++)
if(T[I]>T[J])
{ECH=T[I];T[I]=T[J];T[J]=ECH;}
}
voidclass_decrois(intN,int T[])
{int I,J,ECH;
for(I=0;I<N-1;I++)
for(J=I+1;J<N;J++)
if(T[I]<T[J])
{ECH=T[I];T[I]=T[J];T[J]=ECH;}
}
//M3_EX1_S4.h
voidregr_vect(intN,int T[],int V[],int W[]);
voidprod_mat_vect(intN,int W[],int AW[],int A[][2*N]);

//M3_EX1_S4.c
#include"M3_EX1_S4.h"
#include<stdlib.h>
#include<stdio.h>
voidregr_vect(intN,int T[],int V[],int W[])

{int I;
for(I=0;I<N;I++)
W[I]=T[I];
for(I=N;I<2*N;I++)
W[I]=V[I-N];
}
voidprod_mat_vect(intN,int W[],int AW[],int A[][2*N])
{int I,J;
for(I=0;I<2*N;I++)
{AW[I]=0;
for(J=0;J<2*N;J++)

AW[I]=AW[I]+A[I][J]*W[J];
}
}

EX2
//mainEX2_S4.C
#include"M1_EX2_S4.h"
#include"M2_EX2_S4.h"
#include<stdlib.h>
#include<stdio.h>
int main()
{
int X,Y,N;
printf("lecture de la dimension N\n");
N=lect_dim();
intT[N];

printf("lecture du vecteur T\n");


lect_vect(N,T);
printf("lecture des deux elements sur lesquels on fait le tassement\n");
lect_NB(&X,&Y);
printf("Voici votre vecteur T que vous avez saisi\n");
affiche_vect(N,T);
//tassement
tass_vect(&X,&Y,N,T);
printf("Voici votre vecteur T apres tassement\n");
affiche_vect(N,T);
system("PAUSE");
return(0);
}
//M1_EX2_S4.h
intlect_dim();
voidlect_vect(intN,int T[]);
voidlect_NB(int *X,int *Y);
voidaffiche_vect(intN,int T[]);

//M2_EX2_S4.h
voidtass_vect(int *X,int *Y,intN,int T[]);

//M1_EX2_S4.c
#include"M1_EX2_S4.h"
#include<stdlib.h>
#include<stdio.h>
intlect_dim()
{int N;
printf("donner votre dimension N \n");
scanf("%d",&N);
return N;
}
voidlect_vect(intN,int T[])
{int I;
for(I=0;I<N;I++)
{printf("donner l elt %d \n",I);
scanf("%d",&T[I]);
}
}
voidlect_NB(int *X,int *Y)
{
printf("donner les deux entiers que voulez mettre a la fin de T \n");
scanf("%d%d",X,Y);
}
voidaffiche_vect(intN,int T[])

{int I;
for(I=0;I<N;I++)
printf("%d |",T[I]);
printf("\n");
}

//M2_EX2_S4.c
#include"M2_EX2_S4.h"
#include<stdlib.h>
#include<stdio.h>
voidtass_vect(int *X,int *Y,intN,int T[])
{
int I,K,L,ECH,J=0;
for(I=0;I<N;I++)
{
if((T[I]!=*X)&&(T[I]!=*Y))
{ECH=T[I];
for(K=I;K>J;K--)
T[K]=T[K-1];
T[J]=ECH;
J=J+1;
}
}
}

EX3
//mainEX3_S4.C
#include"M1_EX3_S4.h"
#include"M2_EX3_S4.h"
#include<stdlib.h>
#include<stdio.h>
int main()
{
int X,Y,N,U0,U1;
printf("lecture de la dimension N\n");
N=lect_N();
intU[N];
printf("lecture des deux premiers termes U0 et U1\n");
lect_U0_U1(&U0,&U1);
U[0]=U0; U[1]=U1;
printf("calcul de tous les termes de U\n");
calcul_tab_U(N,U);
printf("Voici tous les termes de votre suite\n");
affiche_tab_U(N,U);
system("PAUSE");
return(0);
}

//M1_EX3_S4.h
intlect_N();

void lect_U0_U1(int *U0, int *U1);


voidaffiche_tab_U(intN,int U[]);

//M2_EX3_S4.h
voidcalcul_tab_U(intN,int U[]);
//M1_EX3_S4.c
#include"M1_EX3_S4.h"
#include<stdlib.h>
#include<stdio.h>
intlect_N()
{int N;
do
{
printf("donner votre dimension N >=2\n");
scanf("%d",&N);
}while(N<2);
return N;
}
void lect_U0_U1(int *U0, int *U1)
{
printf("donner les deux premiers termes U0 et U1\n");
scanf("%d%d",U0,U1);
}
voidaffiche_tab_U(intN,int U[])
{int I;
for(I=0;I<N;I++)
printf("%d |",U[I]);
printf("\n");
}

//M2_EX3_S4.c
#include"M2_EX3_S4.h"
#include<stdlib.h>
#include<stdio.h>
voidcalcul_tab_U(intN,int U[])
{int I;
for(I=2;I<N;I++)
U[I]=U[I-1]-U[I-2];
}

Potrebbero piacerti anche