#include #include #include using namespace std; int main() { //saisi des parametres double a; cout << "Entrez l'axe majeur a de l'ellipse : "; cin >> a; double b; cout << "Entrez l'axe mineur b de l'ellipse : "; cin >> b; int na; cout << "Combien des fois voulez-vous dividre l'axe a de l'ellipse ? "; cin >> na; int somme = 0; double x, y, r; //dimension du segment de l'axe a double dx = a / double(na); //on assume la meme taille pour l'axe b double dy = dx; int nb = int(b / dy) + 1; //centre du premier carre double x0 = dx/2.; double y0 = dy/2.; for (int ix=0; ix<=na; ix++) { for (int iy=0; iy<=nb; iy++) { x = ix*dx + x0; y = iy*dy + y0; r = (x/a * x/a) + (y/b * y/b); //equation de l'ellipse if (r < 1.) somme++; //le carre est inscrit dans l'ellipse } } double s = 4. * somme * (dx * dy); cout << "La surface calculee est " << setw(15) << setprecision(10) << fixed << s <