Помогите, пожалуйста, написать программу на с++
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Помогите написать программу которая вычисляет значение а (n- возведение в степень).
Число а и число n вводит пользователь . (Использовать pow запрещено).
Если использовать pow запрещено, значит нужно придумать что-то свое.
Допустим, для целых чисел это может выглядеть так:
beginner, а если показатель степени отрицательный?
А шаблонную функцию для возведения в степень написать слабО? ;)
Фтьiкай, объясните, пожалуйста, зачем для натуральных и вещественных чисел, которые нужно возвести в целую отрицательную или положительную степень, нужна шаблонная функция ;)
Vova_vb, а вы 0 в -1 степени пытались ввести?
Фтьiкай, думаю, что это можно организовать без шаблона.
beginner, Ну тогда:
Vova_vb, значение 0 в -1 степени не может быть 0, т.к. значение выражения 0 ^ -1 вычисляется по формуле 1 / 0 ^ 1, а единицу на нуль делить нельзя.
beginner, после предложения написать шаблонную функцию смйлик стоит. Это была в общем-то шутка ;) Хотя в результате ты таки поменял тип аргумента и тип возвращаемого значения твоей функции.
Второй вариант fPower() выглядит гораздо лучше первого. Только как-то нехорошо выглядит поведение функции при возведении 0 в отрицательную степень. Так сразу «А-а-ах!!!» и всему приложению пи..., в смысле,
exit(EXIT_FAILURE)
. Программе надо все-таки оставить шанс на обработку ошибочной ситуации.Кстати, а ты уверен, что тип второго аргумента твоей функции должен быть
int
? Может быть все-такиdouble
? А?:))) Фтьiкай, я же функцию писал для натуральных и вещественных чисел, которые нужно возвести в целую отрицательную или положительную степень.
А вот если тип аргумента
pow
сделатьdouble
, то здесь впору писать шаблонную функцию ;)))beginner, мне кажется, что Фтьiкай намекает на то, что показатель степени может быть не только целым, но и рациональным ))
Шаблонную функцию опять-таки делать совершенно необязательно, поскольку при вызове функции с целым аргументом (вторым) он будет неявно преобразован к
double
.PS. Кстати, очень показательный пример, как нечёткая постановка исходной задачи приводит к тяжёлым последствиям. Как мне кажется, исходная задача подразумевала тривиальное решение и должна была звучать как «возведение целого числа в натуральную степень».
Ну в общем-то, да ;)
Зато тривиальная задачка породила неслабую «разминку для мозгов». И пока что до финала еще далеко.
PS. Ладно, ладно... про комплексные числа я уже грузить не буду )) Тут хотя бы с рациональными до конца разобраться.