Program dodający ułamki zwykłe.

Programowanie w języku C i językach pochodnych, jak C++, C#
xrx00ftygu
Posty: 1
Rejestracja: 1 mar 2016, 21:59

Program dodający ułamki zwykłe.

Post autor: xrx00ftygu » 1 mar 2016, 22:05

Potrzebuje program, w ktorym podaje licznik, mianownik, drugi licznik i drugi mianownik. Program ma dodac ulamki, jesli da sie skrocic i wyciagnac calosci. Trzeba tez dac w funkcji bool zastrzezenia co do zera, czyli zera w mianowniku itp. Napisalam juz czesc programu, kompiluje sie ale nie dziala, nie potrafie tez dopisac tej reszty. Jesli ktos mogbly to zrobic to prosze bardzo, bo ja jestem w 2 licuem, nie rozumiesz z inforamtyki nic i tlumaczenie co mam zrobic po kolei raczej nic nie da :((
oto moj program:

#include <iostream>
#include <cmath>
using namespace std;
void wczytaj(int l1, int l2, int m1, int m2)
{
cout<<"Podaj pierwszy licznik i pierwszy mianownik: ";
cin>>l1>>m1;
cout<<"Podaj drugi licznik i drugi mianownik: ";
cin>>l2>>m2;
}
int nwd(int m1, int m2)
{
if (m2==0) return m1;
return nwd(m2,m1%m2);
}
int mnoz(int m1, int m2, int mno)
{
mno=m1*m2;
return mno;
}
int nww(int m1, int m2, int nw, int mno)
{
nw=mnoz(m1, m2, mno)/nwd(m1, m2);
return nw;
}
int nowylicznik(int l1, int m1, int m2, int nw, int mno)
{
l1*=nww(m1, m2, nw, mno)/m1;
return l1;
}
int nowylicz(int l2, int m1, int m2, int nw, int mno)
{
l2*=nww(m1, m2, nw, mno)/m2;
return l2;
}
int suma(int l1, int m1, int m2, int nw, int mno, int l2, int sumka)
{
sumka=(nowylicznik(l1, m1, m2, nw, mno))+(nowylicz(l2, m1, m2, nw, mno));
return sumka;
}
int skrocl(int m1, int m2, int l1)
{
l1=m1/nwd(m1,m2);
return l1;
}
int skrocm(int m1, int m2, int l2)
{
l2=m2/nwd(m1,m2);
return l2;
}
main (int a, int b, int c, int d, int l1, int l2, int m1, int m2, int mnor, int sumka, int nw, int mno)
{
wczytaj(l1,l2,m1,m2);

if(nwd(m1,m2)==1) cout<<suma(l1,m1,m2,nw,mno,l2,sumka)<<"/"<<nww(m1,m2,nw,mno);
else cout<<skrocl(m1,m2,l2)<<"/"<<skrocm(m1,m2,l2);


return 0;

}