Esercizio no.5:soluzione
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double x, y;
cout << “Inserisci le coordinate (x y): “;
if (!(cin >> x >> y)) {
cout << “Input non valido.\n”;
return 0;
}
const double EPS = 1e-9; // tolleranza numerica
auto isZero = [&](double v){ return fabs(v) <= EPS; };
// mask: bit0 = (x==0), bit1 = (y==0)
int mask = (isZero(x) ? 1 : 0) | (isZero(y) ? 2 : 0);
switch (mask) {
case 3: // x==0 e y==0
cout << “Il punto e’ l’origine (appartiene all’intersezione dei due assi).” << endl;
break;
case 1: // x==0
cout << “Il punto si trova sull’asse Y (x=0).” << endl;
break;
case 2: // y==0
cout << “Il punto si trova sull’asse X (y=0).” << endl;
break;
default:
cout << “Il punto non appartiene a nessun asse.” << endl;
}
return 0;
}