Ułamki dziesiętne zamieniamy na ułamki zwykłe, zapisując je za pomocą kreski ułamkowej, tak jak się czyta. W wyniku zostawia się ułamek nieskracalny tzn. w miarę możliwości należy skrócić ułamek.
C++
#include<iostream>
using namespace std;
int main()
{
float num, origNum, rem = 1;
int den = 1, i, count=0, gcd=1;
cout << "wprowadz cyfre dziesietna: ";
cin >> origNum;
num = origNum - static_cast<int>(origNum);
if (num > 0.1)
{
while ( (rem > 0.1) )
{
num = num * 10;
rem = num - static_cast<int>(num);
count++;
}
for (i = 1; i <= count; i++)
{
den = den * 10;
}
for (i = 2; i <= num|| i<=rem; i++)
{
if( (static_cast<int>(num) % i == 0) && (den % i == 0) )
{
gcd = i;
}
}
cout << (static_cast<int>(origNum)) << " and " << (static_cast<int>(num))/gcd << "/" << den/gcd;
}
else
cout << (static_cast<int>(origNum));
return 1;
}
Program w Excel
Wpisujemy w pole C7 liczbe dziesiętną która automatycznie zamienia nam liczbe dziesiętną w ułamek zwykły.
Opracował: Daniel Gleba