Vous êtes sur la page 1sur 29

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET

MINISTÈRE DE L’ENSEIGNEMENT SUPÉRIEURE ET DE


POPULAIRE
RECHERCHE SCIENTIFIQUE

UNIVERSITÉ M’HAMMED BOUGARA BOUMERDES

Domaine : science et technologie


Filière : génie électrique
Spécialité : réseaux télécommunication
Mini projet de C++ sur les équations mathématiques

Réalisé par :

BOUKHETAIA SAMI
CHEKIANE MOHAMED AYOUB
DJEDDOU ZAHIA
I) Un programme pour résoudre des équations type a x 2+ bx+ c=0
Le program:
#include <iostream>

#include <math.h>

using namespace std;

int main ()

float a,b,c,x1,x2,x,delta;

cout<<"entrez la valeur de a : ";

cin>>a;

cout<<"entrez la valeur de b : ";

cin>>b;

cout<<"entrez la valeur de c : ";

cin>>c;

if (a==0)

if (b==0)

if (!(c==0))

cout<<"pas de solution"<<endl;

else

cout<<"infinity de solution"<<endl;

else

cout<<"on a une seule solution \n x="<<(-c/b)<<endl;

else

delta=(b*b)-(4*a*c) ;

if(delta == 0)

x =-b/(2*a);
cout<<"l'équation admet une solution double x= "<<x<<endl;

else if ( delta > 0 )

x1 =(-b+sqrt(delta))/(2*a);

x2 =(-b-sqrt(delta))/(2*a);

cout<<"l'équation admet deux solution : "<<endl;

cout<<"première solution : " << x1 <<endl;

cout<<"deuxième solution : " << x2 <<endl;

else

cout<<"y a pas de solution reel ";

return 0;

}
Excution :
II) un programme pour résoudre la suite numériqueun= avec n est un entier Natural,
définie par : u0=0,5 et u1=1 et le terme de récurrence est : un+1=0,5un+2un-1 :
#include <iostream>

using namespace std;

int main ()

Float u0=0.5 , u1=1 , un , i , n ;

cout<<"entrez N : ";

cin>>n;

for(i=1,i<n,i++)

un=(0.5*u1)+(2*u0) ;

u0=u1 ;

u1=un ;

cout<<"un+1= "<<un;

return 0;

}
Excution :
III) 1-un programme pour faire produit matriciel :
#include <iostream>
using namespace std;
int main()
{

int ligneB,colonneB;
int ligneA,colonneA;
int i,j;

cout <<"Donnez le nombre de lignes de cette matrice A:"<< endl ;


cin>>ligneA;
cout<<"Donnez le nombre de colonnes de cette matrice A:"<<endl;
cin>>colonneA;
cout<<"Donnez le nombre de lignes de cette matrice B: "<<endl;
cin>>ligneB;
cout<<"Donnez le nombre de colonnes de cette matrice B: "<<endl;
cin>>colonneB;
if (colonneA==ligneB)
{

int A[ligneA][colonneA];
for(i=0;i<ligneA;i++)
{
for(j=0;j<colonneA;j++)
{
cout<<"Saisisez la valeure de A["<<i+1<<","<<j+1<<"] =";
cin>>A[i][j];
}
}

cout<<endl;
cout<<endl;

int B[ligneB][colonneB];

for(i=0;i<ligneB;i++)
{
for(j=0;j<colonneB;j++)
{
cout<<"Saisisez la valeure de B["<<i+1<<","<<j+1<<"]= ";
cin>>B[i][j];
}
}

int p[colonneA][ligneB],k;
for(i=0;i<ligneA;i++)
{
for (j=0; j<colonneB;j++)
{
p[i][j]=0;
for(k=0;k<ligneB;k++)
p[i][j]+=A[i][k]*B[k][j];
}
}

cout<<"\n \n Le produit: "<<endl;


for(i=0;i<ligneA;i++)
{

for(j=0;j<colonneB;j++)
{
cout<<p[i][j];
cout<<" ";
}
cout<<endl;
}

else
cout<<" produit impossible parsque le nombre de ligne de A!# le nmbr de
colonne de B"<<endl;
}
Exécution :
 

2 – le calcule de déterminant matrice :


#include<iostream>
#include<math.h>
using namespace std;
int determinant( int matrix[10][10], int n) {
int det = 0;
int submatrix[10][10];
if (n == 2)
return ((matrix[0][0] * matrix[1][1]) - (matrix[1][0] * matrix[0][1]));
else {
for (int x = 0; x < n; x++) {
int subi = 0;
for (int i = 1; i< n; i++) {
int subj = 0;
for (int j = 0; j < n; j++) {
if (j == x)
continue;
submatrix[subi][subj] = matrix[i][j];
subj++;
}
subi++;
}
det = det + (pow(-1, x) * matrix[0][x] * determinant( submatrix, n - 1 ));
}
}
return det;
}
int main() {
int n, i, j;
int matrix[10][10];
cout<< "Enter the size of the matrix:\n";
cin>> n;
cout<< "Enter the elements of the matrix:\n";
for (i = 0; i< n; i++)
for (j = 0; j < n; j++)
cin>> matrix[i][j];
cout<<"The entered matrix is:"<<endl;
for (i = 0; i< n; i++) {
for (j = 0; j < n; j++)
cout << matrix[i][j] <<" ";
cout<<endl;
}
cout<<"Determinant of the matrix is "<< determinant(matrix, n);
return 0;
}
Exécution :

3-addition de matrice :

#include<iostream>
using namespace std;
int main()
{
int matx1[10][10], matx2[10][10], matx3[10][10];
int i,j,row,col;

cout<<"Combien de lignes et de colonnes il faut que la meme taille pour


les 2 matrices?\n";
cin>>row;
cin>>col;
cout<<"\nEntrez la première matrice:\n";
for(i=0; i< row; ++i)
for(j = 0; j < col; ++j)
cin>>matx1[i][j];

cout<<"\nEntrez la deuxième matrice:\n";


for(i = 0; i< row; ++i)
for(j = 0; j < col; ++j)
cin>>matx2[i][j];

cout<<"\nMatrice après l'addition:\n";


for(i = 0; i< row; ++i)
{
for(j=0; j < col; ++j)
{
matx3[i][j] = matx1[i][j] + matx2[i][j];
cout<<matx3[i][j];
cout<<" ";
}
cout<<"\n";
}
return 0;
}

Exécution :
4- la soustraction de matrice :
#include<iostream>
using namespace std;
int main()
{
int matx1[10][10], matx2[10][10], matx3[10][10];
int i,j,row,col;

cout<<"Combien de lignes et de colonnes il faut que la meme taille pour


les 2 matrices?\n";
cin>>row;
cin>>col;

cout<<"\nEntrez la première matrice:\n";


for(i=0; i< row; ++i)
for(j = 0; j < col; ++j)
cin>>matx1[i][j];

cout<<"\nEntrez la deuxième matrice:\n";


for(i = 0; i< row; ++i)
for(j = 0; j < col; ++j)
cin>>matx2[i][j];
cout<<"\nmatrice après soustraction :\n";
for(i = 0; i< row; ++i)
{
for(j=0; j < col; ++j)
{
matx3[i][j] = matx1[i][j] - matx2[i][j];
cout<<matx3[i][j];
cout<<" ";
}
cout<<"\n";
}

Eéxcution :
5- la division des matrices :
#include<iostream>

using namespace std;

int main()

int r,c,matrice1[10][10],matrice2[10][10],div[10][10];

cout << "entrez le nombre de lignes (entre 1 et 10 ) :" ;

cin>>r;

cout << "entrez le nombre de colonnes (entre 1 et 10 ) :";

cin>>c;

cout<< " \nentrez le numéro de la première matrice de l'élément : \n" ;

for (I nti=0;i<r; i++)

for (int k=0;k<c;k++)

cout << "entrez les valeurs du tableau dans la première matrice ["<<i<<"]["<<k<<"]= :";

cin>>matrice1[i][k];

}
}

cout<< " \nentrez le numéro de la 2eme matrice de l'élément : \n" ;

for (int i=0;i<r; i++)

for (int k=0;k<c;k++)

cout << "entrez les valeurs du tableau dans la 2eme matrice ["<<i<<"]["<<k<<"]= :";

cin>> matrice2[i][k];

for (inti=0;i<r;i++)

for(int k=0;k<c;k++)

div[i][k]=0;

for (inti=0;i<r;i++)

for(int k=0;k<c;k++)

div[i][k]=matrice1[i][k]/matrice2[i][k];

for (int i=0;i<r;i++)

for(int k=0;k<c;k++)

cout<<div[i][k]<<" ";

cout<<endl;

}
Excution :
6-inversion matrice via un algorithme d'elimination de gauss-jordan :
#include<iostream>

#include<iomanip>

#include<math.h>

#include<stdlib.h>

#define SIZE 10

using namespace std;

int main()

float a[SIZE][SIZE], x[SIZE], ratio;

inti,j,k,n;

cout<<"Entrez LE nombre de lignes et colonnes de votre matrice : ";

cin>>n;

cout<<"Entrez les elements de matrice: " <<endl;


for(i=1;i<=n;i++)

for(j=1;j<=n;j++)

cout<<"a["<<i<<"]"<< j<<"]= ";

cin>>a[i][j];

for(i=1;i<=n;i++)

for(j=1;j<=n;j++)

if(i==j)

a[i][j+n] = 1;

else

a[i][j+n] = 0;

for(i=1;i<=n;i++)

if(a[i][i] == 0.0)

cout<<"erreurmathematique!";
exit(0);

for(j=1;j<=n;j++)

if(i!=j)

ratio = a[j][i]/a[i][i];

for(k=1;k<=2*n;k++)

a[j][k] = a[j][k] - ratio*a[i][k];

for(i=1;i<=n;i++)

for(j=n+1;j<=2*n;j++)

a[i][j] = a[i][j]/a[i][i];

cout<<endl<<"l'nverse de Matriceest:"<<endl;

for(i=1;i<=n;i++)

for(j=n+1;j<=2*n;j++)

cout<< a[i][j]<<"\t";
}

cout<<endl;

return(0);

}
Excution :

Vous aimerez peut-être aussi