Cho hai phân số với một số tử số1 và tử số2 và mẫu số1 và mẫu số2 làm mẫu số tương ứng của chúng, nhiệm vụ là so sánh cả hai phân số và tìm ra phân số lớn hơn. Giống như chúng ta có phân số 1/2 và 2/3 và phân số cao hơn là 2/3 vì giá trị của 1/2 là 0,5 và giá trị của 2/3 là 0,66667 cao hơn.
Đầu vào
first.nume = 2, first.deno = 3 second.nume = 4, second.deno = 3
Đầu ra
4/3
Giải thích
2/3 = 0.66667 < 4/3 = 1.33333
Đầu vào
first.nume = 1, first.deno = 2 second.nume = 4, second.deno = 3
Đầu ra
4/3
Phương pháp tiếp cận được sử dụng dưới đây như sau để giải quyết vấn đề
// baadme likhunga
Thuật toán
Start Declare a struct Fraction with elements nume, deno In function Fraction greater(Fraction first, Fraction sec) Step 1→ Declare and Initialize t Y = first.nume * sec.deno - first.deno * sec.nume Step 2→ Return (Y > 0) ? first : sec In function int main() Step 1→ Declare Fraction first = { 4, 5 } Step 2→Fraction sec = { 3, 4 } Step 3→ Fraction res = greater(first, sec) Step 4→ Print res.nume, res.deno Stop
Ví dụ
#include <stdio.h> struct Fraction { int nume, deno; }; // Get max of the two fractions Fraction greater(Fraction first, Fraction sec){ //check if the result is in negative then the //second fraction is greater else first is greater int Y = first.nume * sec.deno - first.deno * sec.nume; return (Y > 0) ? first : sec; } int main(){ Fraction first = { 4, 5 }; Fraction sec = { 3, 4 }; Fraction res = greater(first, sec); printf("The greater fraction is: %d/%d\n", res.nume, res.deno); return 0; }
Đầu ra
Nếu chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -
The greater fraction is: 4/5