Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cassert>
- using namespace std;
- /** Maximálny počet zlomkov */
- const int MAXN = 100;
- struct zlomok {
- int citatel;
- int menovatel;
- };
- /** Vráti true, ak zlomok x je menší ako zlomok y */
- bool jeMensi(zlomok &x, zlomok &y) {
- return x.citatel * y.menovatel < y.citatel * x.menovatel;
- }
- /** usporiadaj prvky v poli a od najmenšieho po najväčší */
- void sort(zlomok a[], int n) {
- bool hotovo = false;
- while (!hotovo){
- bool vymenil = false;
- for (int i = 1; i < n; i++){
- if (jeMensi(a[i], a[i - 1])) {
- swap(a[i-1], a[i]);
- vymenil = true;
- }
- }
- if(!vymenil){
- hotovo = true;
- }
- }
- }
- void swap(zlomok &x, zlomok &y) {
- zlomok tmp = x;
- x = y;
- y = tmp;
- }
- int main(void) {
- zlomok zlomky[MAXN];
- int n;
- cin >> n;
- assert(n <= MAXN);
- for (int i = 0; i < n; i++) {
- cin >> zlomky[i].citatel >> zlomky[i].menovatel;
- }
- sort(zlomky, n);
- for (int i = 0; i < n; i++) {
- cout << zlomky[i].citatel << "/" << zlomky[i].menovatel << endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement