Académique Documents
Professionnel Documents
Culture Documents
MIP S3 : 2017-2018
Pr. G. Mangoub
EX1 prod_mat_vect(N,W,AW,A);
printf("Voici votre vecteur Aw produit de A avec W\n");
//mainEX1_S4.C affiche_vect(2*N,AW);
#include"M1_EX1_S4.h" system("PAUSE");
#include"M2_EX1_S4.h" return(0);
#include"M3_EX1_S4.h" }
#include"M4_EX1_S4.h" //M1_EX1.h
#include<stdlib.h> void lect_vect(int N,int T[]);
int main()
{int N=2; //M1_EX1_S4.c
int T[N],V[N]; #include"M1_EX1_S4.h"
lect_vect(N,T); {int I;
affiche_vect(N,T); }
lect_mat(N,A); for(I=0;I<2*N;I++)
class_crois(N,T); scanf("%d",&A[I][J]);
affiche_vect(N,T); }
class_decrois(N,V); //M4_EX1_S4.h
printf("Voici votre vecteur V par ordre decrois\n"); void affiche_vect(int N,int T[]);
regr_vect(N,T,V,W);
// M4_EX1_S4.c
#include"M4_EX1_S4.h"
Algorithmique et Programmation 2
MIP S3 : 2017-2018
Pr. G. Mangoub
//M2_EX2_S4.c //M2_EX3_S4.h
#include"M2_EX2_S4.h" void calcul_tab_U(int N,int U[]);
#include<stdlib.h> //M1_EX3_S4.c
#include<stdio.h> #include"M1_EX3_S4.h"
void tass_vect(int *X,int *Y,int N,int T[]) #include<stdlib.h>
{ #include<stdio.h>
int I,K,L,ECH,J=0; int lect_N()
for(I=0;I<N;I++) {int N;
{ do
if((T[I]!=*X)&&(T[I]!=*Y)) {
Algorithmique et Programmation 2
MIP S3 : 2017-2018
Pr. G. Mangoub
//M3_EX4_S4.c det2=detB(B2);
#include"M3_EX4_S4.h" det3=detB(B3);
#include<stdlib.h> DET=A[0][0]*det1-A[1][0]*det2+A[2][0]*det3;
#include<stdio.h> printf("determinant de A=%d\n",DET);
}
void affiche_vect(int N,int T[]) void lectureA(int A[N][N])
{int I; {int I,J;
for(I=0;I<N;I++) for( I=0;I<N;I++)
printf("%d |",T[I]); for( J=0;J<N;J++)
printf("\n"); { printf("donner A[%d,%d]\n",I,J);
} scanf("%d",&A[I][J]);
}
//EX5_S4.c }
//Un premier programme qui calcule le déterminent d’une int detB(int B[M][M])
matrice 3*3 {return(B[0][0]*B[1][1]-B[1][0]*B[0][1]);
//d’une façon très élémentaire }
#include<stdlib.h> //EX5_S4.c
#include <stdio.h> //Un deuxième programme qui calcule l’inverse d’une matrice
//calcul du determinant d'une matrice(3,3) en passant avant
const int N=3;const int M=2; //par le calcul du déterminant
void lectureA(int A[N][N]); // valable pour une dimension n quelconque
int detB(int B[M][M]);
int main() #include<stdio.h>
{int I,J,DET=0; #include<stdlib.h>
int det1,det2,det3; const int n=3;
int A[N][N]; void resolution(int A[n][n],int x[n],int b[n],int cst)
int B1[M][M],B2[M][M],B3[M][M]; { int i,j,k,io;
//lecture de A float eps;
lectureA(A); int s,coef,pmax,temp;
// on définit les matrices B1, B2 et B3
//matrice B1 eps=0.001;
B1[0][0]=A[1][1];
B1[0][1]=A[1][2]; for(i=0;i<n;i++)
B1[1][0]=A[2][1]; {
B1[1][1]=A[2][2]; if(i==cst) b[i]=1;
//matrice B2 else b[i]=0;
B2[0][0]=A[0][1]; }
B2[0][1]=A[0][2];
B2[1][0]=A[2][1]; //********Partie traitement*******
B2[1][1]=A[2][2]; for(k=0;k<n;k++)
//matrice B3 {
B3[0][0]=A[0][1]; pmax=abs(A[k][k]);
B3[0][1]=A[0][2]; if(pmax<eps)
B3[1][0]=A[1][1]; {
B3[1][1]=A[1][2]; printf("La matrice est non inversible\n");
det1=detB(B1); break;
Algorithmique et Programmation 2
MIP S3 : 2017-2018
Pr. G. Mangoub
} { int cst,i,j,k,m;
else //printf("Donner la taille n=");
{ //scanf("%d",&n);
for(i=k+1;i<n;i++) int x[n],b[n];
{ int A[n][n],Ain[n][n];
if(pmax<A[i][k])
{ //La saisie de la matrice A
pmax=A[i][k]; for(i=0;i<n;i++)
io=i; { for(j=0;j<n;j++)
for(j=k;j<n;j++) {printf("donner A[%d][%d] \n",i,j);
{ scanf("%d",&A[i][j]);}
temp=A[k][j]; }
A[k][j]=A[io][j];
A[io][j]=temp; //TRAITEMENT
temp=b[k]; for(j=0;j<n;j++)
b[k]=b[io]; { cst=j;
b[io]=temp; resolution(A,x,b,cst);
} for(i=0;i<n;i++)
} Ain[i][j]=x[i];
} }
} printf("\n");