Katsotaan, onko liukuluku ja tulostetaan mahdolliset väliluvut.
#include <iostream> #include <cmath> using namespace std; int main(){ double luku = 14.025; //Katsotaan, onko liukuluku pyöristysten avulla. //Jos alaspäin ja ylöspäin pyöristys on eri, niin kyseessä on liukuluku. if (ceil(luku)-floor(luku)==1){ //Lasketaan välissä olevat luvut. double vali = 0.0; double jako = 0.0; vali = luku-floor(luku); vali = round(vali*10000)/10000.0; jako = 1.0/vali; //Tulostetaan väliluvut, jos menee tasan. if (jako-floor(jako)==0){ for (double x = floor(luku); x <= ceil(luku); x+=vali){ cout << x << endl; } } } cout <<"/" << endl; return 0; }
Aihe on jo aika vanha, joten et voi enää vastata siihen.