Buon giorno ragazzi: il mio professore mi ha dato quest programma e ci ha detto che dobbiamo capire cosa fa. Ora come ora ha detto che funziona con numeri >0. Ma quando lo compilo mi fa fatal error "stdafx.h". Come seconda cosa da fare ci ha detto che dobbiamo traovare un modo per emettere numeri negativi nel numeratore e nel denominatore. e che ovviamente il risultato venga giusto.
Mi scuso per la grammatica, ma non sono italiano e scrivo in questo forum, perché nel mio paese non ce ne sono di attivi.
#include "stdafx.h"
#include <iostream>
#include <string>
#include <iomanip>
#include <cmath>
#include <array>
#include <windows.h>
using namespace std;
int NajvecniSkupniMnogokratnik(int x,int y)
{
while(x!=y){
if(x>y) x = x-y;
else y = y-x;
cout << "x = " << x;
cout << "\t" << "y = " << y << endl;
}
return x; // oppure y, è uguale
}
int _tmain(int argc, _TCHAR* argv[])
{
int a, b, M;
cout << "Dammi due numeri: ";
cin >> a >> b;
M = NajvecniSkupniMnogokratnik(a, b);
//cout << "il piu grande multiplo comune e" << M << endl;
if(b/M > 1){
cout << "Quindi: " << a << "/" << b << " = " << a/M << "/" << b/M << endl;
}
else{
cout << "Quindi: " << a << "/" << b << " = "
<< a/M << endl;
}
return 0;
}