Здравствуйте! Передо мной стоит следующая задача: написать на C++ метод, вычисляющий НОД для 2 чисел типа int ИЛИ double(класс шаблонный).
Взял алгоритм Евклида с небольшими изменениями:
template <typename T>
T rational<T>::nod(T a, T b) {
if (a == b) {
return a;
}
if (a > b) {
T tmp = a;
a = b;
b = tmp;
}
return nod(a, b - a);
}
Работает при:
rational<double> rat(5, 10);//рациональная дробь 5/10
rat.nod(5, 10);//вычисление НОД 5 и 10
И не работает при:
rational<double> rat(5.1, 10);//рациональная дробь 5/10
rat.nod(5.1, 10);//вычисление НОД 5.1 и 10
Вопрос: почему так происходит, и как это исправить, чтобы работало в обоих вариантах? Заранее спасибо за ответы!
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
В общем, вот в чем суть вопроса: есть файл, который я считываю и обрабатываю так, как надо по заданиюНо если в него вставить пустые строки, то выводит...
Задание - В цикле с предусловием пользователем вводятся числа до тех пор, пока их сумма не превысит 100Определить количество введенных четных...
Доброго времени сутокЕсть класс, есть менюшка для работы с классом (добавление, вывод объектов класса, удаление) Каким образом организовать...
Например, есть QMainWindow, где находится форма входа (логин, пароль)При нажатии открывается еще один QMainWindow, уже сама программа, а старое окно закрывается...