Vous êtes sur la page 1sur 3

IUT Dijon AP4

Département Informatique Programmation C++


CORRECTION
Exercice 1
#include <iostream>
#include <cmath>

using namespace std;

int Resoudre (double, double, double, double &, double &) ;


void Afficher (int, double, double) ;

int main(int argc, char* argv[])


{
int Res ;
double A, B, C,
X1, X2 ;
cout << "Saisir les 3 coefficients : ";
cin >> A >> B >> C ;
Res = Resoudre (A, B, C, X1, X2);
Afficher(Res, X1, X2);

cin.sync() ;
cin.get() ;
return 0;
}
int Resoudre (double A, double B, double C, double & X1, double & X2)
{
int Res;
if (A==0) // Equation de degré 1
if (B==0)
if (C==0)
Res=3 ;
else
Res=0 ;
else
{
X1=-C/B ;
Res=1 ;
}
else // Equation de degre 2
{
float Delta;
Delta=B*B-(4*A*C);
if (Delta<0)
Res=0 ;
else if (Delta==0)
{
X1= -B/(2*A);
Res=1 ;
}
else // Delta>0
{
float RacDelta ;
RacDelta=(float)sqrt((double)Delta);
X1= (-B+RacDelta)/(2*A) ;
X2= (-B-RacDelta)/(2*A);
Res=2;
}
}
return Res;
}

Semaines 11, 12 et 13 1 TD 03
IUT Dijon AP4
Département Informatique Programmation C++
void Afficher (int Res, double X1, double X2)
{
switch (Res)
{
case 0 : cout << endl << "Aucune solution." << endl;
break ;
case 1 : cout << endl << "L'unique solution est " << X1 << "." << endl;
break ;
case 2 : cout << endl << "La premiere solution est " << X1 ;
cout << ", la seconde est " << X2 << "." << endl ;
break ;
case 3 : cout << endl << "Tout x est solution." << endl ;
break ;
}
}

Exercice 2
#include <iostream>
using namespace std;

int Max(int &);

int main(int argc, char* argv[])


{
int LeMax;
int CodeRes=Max(LeMax);
if (CodeRes==-1)
cout << "Aucune valeur saisie ! " << endl;
else
cout << "Le max des valeurs saisies est : " << LeMax << endl;

cin.sync() ;
cin.get() ;
return 0;
}

int Max(int & LeMax)


{
int Res, Val;
cout << "Saisir une valeur (0 pour sortir) : ";
cin >> Val;
if (Val==0) // aucune valeur saisie
Res=-1;
else // au moins une valeur saisie
{
Res=0;
LeMax=Val;
cout << "Valeur suivante (0 pour saisir) : ";
cin >> Val;
while (Val!=0)
{
if (Val>LeMax)
LeMax=Val;
cout << "Valeur suivante (0 pour saisir) : ";
cin >> Val;
}
}
return Res;
}

Semaines 11, 12 et 13 2 TD 03
IUT Dijon AP4
Département Informatique Programmation C++
Exercice 3
#include <iostream>
using namespace std;

void Afficher(int);

int main(int argc, char* argv[])


{
int N;
cout << "saisir la valeur de N : ";
cin >> N;
Afficher (N);

cin.sync() ;
cin.get() ;
return 0;
}

void Afficher(int N)
{
for(int i=1;i<=N;i+=2)
cout << i << endl;
}

Exercice 4
#include <iostream>
using namespace std;

bool TestCar(char);
int ValNbre(char, char, char);

int main(int argc, char* argv[])


{
char C, D, U;
cout << "saisir les 3 caracteres : " ;
cin >> C >> D >> U;
cout << ValNbre(C, D, U);

cin.sync() ;
cin.get() ;
return 0;
}
bool TestCar(char C)
{
if (C>=’0’&&C<=’9’)
return true ;
else
return false ;
}
int ValNbre(char Cent, char Diz, char Unit)
{
int Res;
if (TestCar(Cent)&&TestCar(Diz)&&TestCar(Unit))
Res=(Cent-‘0’)*100 + (Diz-‘0’)*10 + (Unit-‘0’);
else
Res=-1;
return Res;
}

Semaines 11, 12 et 13 3 TD 03

Vous aimerez peut-être aussi