Sprowadzanie dwoch ulamkow zwyklych do wspólnego mianownika ver. 1
Kod był wyświetlany 3580 razy.
    /*
  Name: Sprowadzanie dwóch ułamków zwykłych do wspólnego mianownika ver. 1
  Copyright: GPL GNU 
  Date: 03-11-09 18:30
  Description: 
Aby sprowadzić ułamki do wspólnego mianownika, 
należy znależć dowolną metodą wspólną wielokrotność mianowników tych ułamków. 
A następnie rozszerzamy każdy z ułamków.  

Przykład: 
Ułamki  5/12 i 4/9   
Chcemy, aby miały takie same mianowniki. Najlepszy mianownik 
to najmniejszy mianownik, znacznie ułatwione są wtedy dalsze rachunki.
a- mianownik pierwszego ułamka
b- mianownik drugiego ułamka
c- licznik pierwszego ułamka
d- licznik drugiego ułamka
NWD(a,b)- największy wspólny dzielnik
NWW(a,b)- najmniejsza wspólna wielokrotność
licznik1 - nowy licznik ułamka pierwszego
licznik2 - nowy licznik ułamka drugiego

Szukamy NWD(a,b), następnie obliczamy korzystając ze wzoru 
NWW(a,b)=a*b/NWD(a,b) najmniejszą wspólną wielokrotność liczby 12 i 9.  
Najmniejszą wspólną wielokrotnością liczb 12 i 9 jest liczba 36, czyli 
naszym wspólnym mianownikiem będzie 36. Teraz należy rozszerzyć oba 
ułamki. 
licznik1 to:
licznik1/NWW(a,b)=c/a stąd
licznik1=(NWW(a,b)/a)*c

natomiast licznik2 to: 
licznik2/NWW(a,b)=d/b
licznik2= (NWW/b)*d
Ułamek 5/12 rozszerzmy przez 3 rozszerzamy przez 3, a ułamek 4/9
rozszerzamy przez 4. W wyniku otrzymujemy dwa ułamki o mianowniku 36, 
a mianowicie 15/3 i 16/36.
*/

#include <iostream>
#include <math.h>
using namespace std;

int nwd(int a,int b)
{
  if (a==0 && b==0)
{
   cout<<"\n\n\tNWD = brak";
   cin.ignore();
   getchar();
}
 while (b!=a)
  {
   if(a>b)
      a=a-b;
        else
          b=b-a;
  }}

int main()
{
int a,b,c,d;
int NWD,NWW;
int licznik1,licznik2;

// Wprowadzanie danych
/*-------------------------------------------------------------*/

cout<<"\n\n\t\tSPROWADZANIE ULAMKOW DO WSPOLNEGO MIANOWNIKA";
cout<<"\n\n\t\tPodaj licznik pierwszego ulamka: ";
cin>>c;
cout<<"\n\t\tPodaj mianownik pierwszego ulamka: ";
cin>>a;

cout<<"\n\t\tPodaj licznik drugiego ulamka: ";
cin>>d;
cout<<"\n\t\tPodaj mianownik drugiego ulamka: ";
cin>>b;

 NWD=nwd(a,b);
 cout<<"\n\n\t\tNWD= "<<NWD;

 NWW=a*b/NWD;
 cout<<"\n\n\t\tNWW= "<<NWW;

 //Obliczenie wartosci licznikow ulamkow po sprowadzeniu ich do wspolnego mianownika
 /*----------------------------------------------------------------*/
 licznik1=(NWW/a)*c;
 licznik2= (NWW/b)*d;

 /*----------------------------------------------------------------*/
 cout<<"\n\n\t\tPierwszy ulamek: "<<licznik1<<"/"<<NWW;
 cout<<"\n\n\t\tDrugi ulamek: "<<licznik2<<"/"<<NWW;

 cin.ignore();
 getchar();
 return 0;
}
    
Pobierz plik tekstowy
Administrator WJL
PHP&SQL coded by NOVA-IT