Форум программистов, компьютерный форум CyberForum.ru

Вывести результат функции на экран - C++

Восстановить пароль Регистрация
 
lexflax
10 / 10 / 1
Регистрация: 03.04.2011
Сообщений: 627
16.12.2013, 15:27     Вывести результат функции на экран #1
Доброго времени суток.
Подскажите как вывести результат данной функции на экран?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
unsigned powmod(unsigned base, unsigned exp, unsigned modulo)
{
    unsigned res = 1;
    
    while (exp != 0) 
    {
        if ((exp & 1) != 0)
        {
            res = (1ll * res * base) % modulo;
        }
        
        base = (1ll * base * base) % modulo;
        exp >>= 1;
    }
    
    return res;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2013, 15:27     Вывести результат функции на экран
Посмотрите здесь:

C++ Работа с функциями. (Вывести на экран результат)
Прочитать из файла массив, отсортировать, результат вывести на экран. C++
C++ Вычислить П(i+1)*(i+2) для всех i от 2 до N. Вывести результат на экран.
C++ Вывести на экран результат сложения в троичной системе счисления.
C++ Нужно узнать значение фукции и вывести на экран результат
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TyLinka
32 / 32 / 11
Регистрация: 02.02.2012
Сообщений: 177
16.12.2013, 15:45     Вывести результат функции на экран #2
C++
1
cout << powmod(x,y,z) << endl;
либо
C++
1
2
r=powmod(x,y,z);
cout << r;
lexflax
10 / 10 / 1
Регистрация: 03.04.2011
Сообщений: 627
16.12.2013, 16:03  [ТС]     Вывести результат функции на экран #3
пробую... код такой... выдает ошибку
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
#include <tchar.h>
//---------------------------------------------------------------------------
 
#pragma argsused
int _tmain(int argc, _TCHAR* argv[])
{  unsigned x,y,z;
cin>>x;
cin>>y;
cin>>z;
cout << powmod(x,y,z) << endl;
cin>>;
    return 0;
}
//---------------------------------------------------------------------------
unsigned powmod(unsigned base, unsigned exp, unsigned modulo)
{
    unsigned res = 1;
 
    while (exp != 0)
    {
        if ((exp & 1) != 0)
        {
            res = (1ll * res * base) % modulo;
        }
 
        base = (1ll * base * base) % modulo;
        exp >>= 1;
    }
 
    return res;
}
[BCC32 Error] File5.cpp(15): E2268 Call to undefined function 'powmod'
Full parser context
File5.cpp(11): parsing: int main(int,char * *)
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
16.12.2013, 16:10     Вывести результат функции на экран #4
Цитата Сообщение от lexflax Посмотреть сообщение
E2268 Call to undefined function 'powmod'
Добавьте перед main():
C++
1
unsigned powmod(unsigned base, unsigned exp, unsigned modulo);
lexflax
10 / 10 / 1
Регистрация: 03.04.2011
Сообщений: 627
17.12.2013, 03:55  [ТС]     Вывести результат функции на экран #5
Добрый день, функция заработала... функция возведения числа в степень по модулю... не совсем понятен алгоритм в данной функции... Можите дать коментарии поясняющие по ее выполнению...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
unsigned powmod(unsigned base, unsigned exp, unsigned modulo)
{
    unsigned res = 1; \\ Почему присваиваеся 1? для чего эта переменная потом используется?
 
    while (exp != 0) \\ почему выполнять цикл пока exp не будет равен 0, а если будет равен? тогда какой ход \\программы будет?
    {
        if ((exp & 1) != 0) \\ exp & 1 - что это вообще за условие?  что означает тут знак ампесанда? 
        {
            res = (1ll * res * base) % modulo; \\ что означает 1ll и зачем она тут применяется? 
        }
 
        base = (1ll * base * base) % modulo;\\\\ что означает 1ll и зачем она тут применяется? 
        exp >>= 1; \\ что эта за операция? сдвинуть биты на 1 в право?? 
    }
Yandex
Объявления
17.12.2013, 03:55     Вывести результат функции на экран
Ответ Создать тему
Опции темы

Текущее время: 04:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru