So sánh 2 phân số dev c

Bài 1: Viết chương trình nhập vào N phân số (mỗi dòng gồm 2 số nguyên là tử số và mẫu số), yêu cầu tìm phân số nhỏ nhất trong các phân số trên (sau khi tối giản).

Input

Output

1 2 2 4

1/2

include <iostream>

using namespace std;

struct PhanSo { int tu, mau; };

istream& operator >> (istream & is, PhanSo & m) { is >> m.tu >> m.mau; return is; }

ostream& operator << (ostream & os, PhanSo m) { os << m.tu << "/" << m.mau; return os; }

int UCLN(int m , int n) {


if (m == 0 && n == 0)
  return 1;
  
while (m != n) {
if (m > n)
    m -= n;
else n -= m;
} return m; }

void Rutgon(PhanSo & m) { int d = UCLN(m.tu, m.mau); m.tu /= d; m.mau /= d; }

bool operator > (PhanSo m, PhanSo n) { if (m.tu / m.mau > n.tu / n.mau)

return true;
return false; }

int main () { int d , bdem = 1; PhanSo A[100]; while (cin >> A[bdem]) {

Rutgon(A[bdem]);
++bdem;
} PhanSo K = A[1]; for (int i = 2; i < bdem; i++) {
if (K > A[i]){
  K=A[i];
}
} cout << K; return 0; }

Bài 2: Nhập vào một danh sách lớp SinhVien, yêu cầu xuất ra thông tin của tất cả sinh viên có điểm trung bình cao nhất và thấp nhất trong lớp đó.