Потоки в C++ (Вычисление наибольшего общего делителя)
Программа демонстрирует, как использовать потоки в C++ на примере вычисления наибольшего общего делителя двух целых чисел.
Программа демонстрирует, как использовать потоки в C++ на примере вычисления наибольшего общего делителя двух целых чисел.
Задача:
Написать программу вычисления наибольшего общего делителя двух целых чисел. Наибольший общий делитель рекурсивно вычисляется следующим образом:
GCD(m, n) is:
if m mod n equals 0 then n;
else GCD(n, m mod n);
Предусмотреть обработку ошибок (Если введенное второе число равно 0). В строку выводится введенные числа в десятичной, шестнадцатеричной и восьмеричной системе, в следующей строке - результат - наибольший общий делитель. В программе предусмотреть вывод комментариев, используя свои манипуляторы, установить ширину поля 30 и символы заполнения ^, проверить какие флаги потока ввода-вывода установлены, и заменить попарно: левое выравнивание на правое выравнивание (и наоборот).
Организовать форматированный вывод результатов программы в файл, используя fsrteam.
Записать результаты работы (2 числа и наибольший общий делитель) в неформатированный файл-поток, используя функции write класса fsrtream. После записи результатов в файл, закрыть его. Затем открыть, прочитать (read) наибольший общий делитель и дописать снова это число в конец файла.