Exercice 01:
#include <iostream>
void lafita (float x, int n=0)
{
int i = 1; float resultat = 1;
for (;i<n; i++) resultat = resultat * x;
cout << " resultat = " << resultat <<"\n";
}
void lafita (int n, float x=0)
{
int i = 1; float resultat = 1;
if (n!=0) { for(;i<=n; i++) resultat = resultat*x;}
else
(resultat = 0);
cout << " resultat = "<< resultat <<"\n";
}
int main()
{
int a=4, b=0; float c = 2.0, d=0;
// Appel de la fonction lafita avec deux paramètres
lafita(c, a);
// Appel de la fonction lafita avec un seul paramètre
lafita(c);
return 0;
}
Exercice 02:
Fichier Hissab.h
#ifndef HISSAB_H
#define HISSAB_H
#include <iostream>
class Hissab {
public:
Hissab() {}
// Fonctions membres pour les opérations arithmétiques
double addition(double a, double b);
double soustraction(double a, double b);
double multiplication(double a, double b);
double division(double a, double b);
double modulo(double a, double b);
double puissance(double a, int b);
double factorielle(int a);
private:
// Variables membres
double _a;
double _b;
};
#endif
Fichier [Link]
#include "Hissab.h"
double Hissab::addition(double a, double b) {
_a = a;
_b = b;
return _a + _b;
}
double Hissab::soustraction(double a, double b) {
_a = a;
_b = b;
return _a - _b;
}
double Hissab::multiplication(double a, double b) {
_a = a;
_b = b;
return _a * _b;
}
double Hissab::division(double a, double b) {
_a = a;
_b = b;
return _a / _b;
}
double Hissab::modulo(double a, double b) {
_a = a;
_b = b;
return fmod(_a, _b);
}
double Hissab::puissance(double a, int b) {
_a = a;
_b = b;
return pow(_a, _b);
}
double Hissab::factorielle(int a) {
_a = a;
int res = 1;
for (int i = 1; i <= _a; i++) {
res *= i;
}
return res;
}
Fichier [Link]
#include "Hissab.h"
int main() {
Hissab hissab;
// Addition
double a = 10;
double b = 20;
double res = [Link](a, b);
std::cout << "10 + 20 = " << res << std::endl;
// Soustraction
a = 30;
b = 20;
res = [Link](a, b);
std::cout << "30 - 20 = " << res << std::endl;
// Multiplication
a = 10;
b = 2;
res = [Link](a, b);
std::cout << "10 * 2 = " << res << std::endl;
// Division
a = 40;
b = 2;
res = [Link](a, b);
std::cout << "40 / 2 = " << res << std::endl;
// Modulo
a = 10;
b = 3;
res = [Link](a, b);
std::cout << "10 % 3 = " << res << std::endl;
// Puissance
a = 2;
int b = 3;
res = [Link](a, b);
std::cout << "2 ^ 3 = " << res << std::endl;
// Factorielle
int a = 5;
res = [Link](a);
std::cout << "5! = " << res << std::endl;
return 0;
}
Exercice 03:
Fichier Jadwel.h
#ifndef JADWEL_H
#define JADWEL_H
#include <iostream>
class Jadwel {
public:
Jadwel() {}
// Fonctions membres pour manipuler un tableau unidimensionnel
void remplirTableau(int taille);
void afficherTableau();
int indiceMin();
double moyenne();
private:
// Variables membres
int _taille;
int *_tableau;
};
#endif
Fichier [Link]
#include "Jadwel.h"
void Jadwel::remplirTableau(int taille) {
_taille = taille;
_tableau = new int[_taille];
for (int i = 0; i < _taille; i++) {
_tableau[i] = rand() % 100;
}
}
void Jadwel::afficherTableau() {
for (int i = 0; i < _taille; i++) {
std::cout << _tableau[i] << " ";
}
std::cout << std::endl;
}
int Jadwel::indiceMin() {
int min = _tableau[0];
int indice = 0;
for (int i = 1; i < _taille; i++) {
if (_tableau[i] < min) {
min = _tableau[i];
indice = i;
}
}
return indice;
}
double Jadwel::moyenne() {
double somme = 0;
for (int i = 0; i < _taille; i++) {
somme += _tableau[i];
}
return somme / _taille;
}
Fichier [Link]
#include "Jadwel.h"
int main() {
Jadwel jadwel;
// Remplir le tableau
[Link](10);
// Afficher le tableau
[Link]();
// Calculer l'indice et la valeur de la composante la plus minimale
int indiceMin = [Link]();
std::cout << "Indice de la composante minimale : " << indiceMin << std::endl;
std::cout << "Valeur de la composante minimale : " << jadwel._tableau[indiceMin] << std::endl;
// Calculer la moyenne arithmétique des composantes du tableau
double moyenne = [Link]();
std::cout << "Moyenne arithmétique des composantes du tableau : " << moyenne << std::endl;
return 0;
}