Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.06.2015, 12:59   #1
romaric
Пользователь
 
Регистрация: 10.06.2015
Сообщений: 10
По умолчанию Вычислить n! и n^n

Факториал считает правильно, а вот со степенью какая-то беда.

Код:
#include <stdio.h>
#include <math.h>
 
int main()
{
    double chisl, f1, f2,c,d,result;
    int n,res;
    int i = 1;
    printf("Введите число n:");
    scanf("%lf",&chisl);
    f1 = 1;
    n=chisl;
 
 
long pow_n(int n) {
    if(n>0) {
        long pow=n;
        long k=n;
        while(--k) 
            pow*=n;
        return pow;
    } else
        return 0;
}
 
printf("n = \n", pow);
 
 
    if (chisl >= 0)
    {
        for (f2 = 2; f2 <= chisl; f2++)
        {
            f1 *= f2;
        }
        printf("%.f! = %.f\n", chisl, f1);
    }
    else
    printf("Число не может быть меньше нуля!\n");
return 0;
 
 
}
При компиляции:

Код:
undefined reference to `pow'
collect2: ld returned 1 exit status
romaric вне форума Ответить с цитированием
Старый 17.06.2015, 13:09   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
long pow=n;
Назови переменку по другому ибо есть в math.h функция с таким же именем, которая собственно и возводит в степень. pow_n кстати можешь выкинуть:http://www.cplusplus.com/reference/cmath/pow/
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.06.2015, 21:17   #3
LV3
Новичок
Джуниор
 
Регистрация: 18.06.2015
Сообщений: 2
По умолчанию

Ошибка здесь:
Код:
printf("n = \n", pow);
Код:
printf("n = %d\n", pow);
LV3 вне форума Ответить с цитированием
Старый 19.06.2015, 08:56   #4
Shad0wF1rst
Форумчанин
 
Регистрация: 11.01.2013
Сообщений: 149
По умолчанию

Есче бы пространство имен никто не отменял. И вообще как это фунция pow_n у тебя попала в середину функции main. Или я чтото путаю?!
Может это и чушь, но это моя чушь и я ее никому не отдам.
Shad0wF1rst вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
две задачи на Паскаль (вычислить значения ряда с заданной точностью и вычислить формулу по элементам массива) METFIss Помощь студентам 7 23.01.2014 15:51
Вычислить SmokeScreen Паскаль, Turbo Pascal, PascalABC.NET 9 18.06.2013 08:46
вычислить z=p-q CheerGirl Помощь студентам 6 24.12.2012 14:16
Вычислить p-6 Паскаль, Turbo Pascal, PascalABC.NET 1 29.11.2012 17:36
Вычислить, jasnoglazaja Помощь студентам 1 26.05.2012 13:24