Sprowadzanie dwoch ułamków do wspólnego mianownika ver. 2
Kod był wyświetlany 2876 razy.
    /*
Name: Sprowadzanie dwoch ulamkow zwyklych 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)
{
  int temp;
  if (a==0 || b==0)
{
   cout<<"\n\n\tBledne dane ";
   cin.ignore();
   getchar();
}
 while (b!=0)
  {
   temp = b;
   b = a%b;
   a = temp;
  }}

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