poniedziałek, 10 kwietnia 2017

Zamiana ułamka dziesiętnego na zwykły

Zasady zmiany
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