91 lines
1.5 KiB
C++
91 lines
1.5 KiB
C++
#include <iostream>
|
|
#include <cmath>
|
|
using namespace std;
|
|
|
|
int deljivost(int a, int b){
|
|
for(int i=2;i<=a;i++){
|
|
if(a % i==0 && b % i == 0){
|
|
return i;
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
int main(){
|
|
int a, b, c, d, operacija;
|
|
int negativnost = 0;
|
|
int x=0, y=0, q=0, z=0;
|
|
|
|
//vpis
|
|
cout << "a/b operator c/d" << endl;
|
|
cout << "vpisi a";
|
|
cin >> a;
|
|
cout << "vpisi b";
|
|
cin >> b;
|
|
cout << "vpisi c";
|
|
cin >> c;
|
|
cout << "vpisi d";
|
|
cin >> d;
|
|
cout << "1 = +\n"
|
|
"2 = -\n"
|
|
"3 = *\n"
|
|
"4 = /\n";
|
|
cin >> operacija;
|
|
|
|
//izračunaj
|
|
switch (operacija){
|
|
case 1:
|
|
x = (a*d)+(c*b);
|
|
y = b*d;
|
|
break;
|
|
case 2:
|
|
x = (a*d)-(c*b);
|
|
y = b*d;
|
|
break;
|
|
case 3:
|
|
x = a*c;
|
|
y = b*d;
|
|
break;
|
|
case 4:
|
|
x = a*d;
|
|
y = b*c;
|
|
}
|
|
|
|
//negativnost
|
|
if(x<0 && y<0){
|
|
negativnost = 0;
|
|
x = abs(x);
|
|
y = abs(y);
|
|
}else if(x<0 && y>=0){
|
|
negativnost = 1;
|
|
x = abs(x);
|
|
y = abs(y);
|
|
}else if(x>=0 && y<0){
|
|
negativnost = 1;
|
|
x = abs(x);
|
|
y = abs(y);
|
|
}else{
|
|
negativnost = 0;
|
|
}
|
|
|
|
// okrajsa ulomek
|
|
z = deljivost(x,y);
|
|
while(z>0){
|
|
x = x/z;
|
|
y = y/z;
|
|
z = deljivost(x,y);
|
|
}
|
|
|
|
//izpostavi
|
|
q = x/y;
|
|
x = x-(q*y);
|
|
|
|
//izpisi
|
|
cout << "Rezultat je: ";
|
|
if(negativnost == 1){cout << "-";}
|
|
if(q>0){cout << q << " ";}
|
|
if(x>0){cout << x << "/" << y;}
|
|
cout << endl;
|
|
return 0;
|
|
}
|