Pridať komentár

Príspevok, na ktorý odpovedáte

RE: (Ne)pravidelná piatková (ne)súťaž #1 20.08.2016 | 21:48
Avatar borg Fedora  Administrátor
#include <iostream>
#include <string>
#include <stdexcept>

using std::ostream;
using std::cout;
using std::stoi;

class FizzBuzz final {
private:
    int mTo;

public:
    explicit FizzBuzz(int to) : mTo {to} { };

    friend ostream& operator<<(ostream& os, const FizzBuzz& fb);
};

ostream& operator<<(ostream& os, const FizzBuzz& fb) {
    for (int i = 1; i <= fb.mTo; ++i) {
        if (i % 5 == 0 && i % 3 == 0)
            os << "fizzbuzz";
        else if (i % 3 == 0)
            os << "fizz";
        else if (i % 5 == 0)
            os << "buzz";
        else
            os << i;
        os << '\n';
    }

    return os;
}

int main(int argc, char** argv) {
        if (argc != 2)
            return -1;
        try {
            FizzBuzz fb(stoi(argv[1]));
            cout << fb;
        }
        catch (std::invalid_argument& ex) {
            cout << ex.what();
            return -1;
        }
        catch (std::out_of_range& ex) {
            cout << ex.what();
            return -1;
        }

        return 0;
}
9 * 6 plus tisíc (číslom)

Maximálna veľkosť je: 2,0 MB