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

Сервер для тестирования кодов на си++ - C++

Восстановить пароль Регистрация
 
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
16.03.2010, 20:01     Сервер для тестирования кодов на си++ #1
Не подскажете где можно запостить код:
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include <iostream>
#include <iomanip>
#include <vector>
 
typedef long long LL;
LL base = 1000*1000*1000;
 
std::vector <int> &operator *= (std::vector <int> &a, std::vector <int> &b)
{
    std::vector <int> res(a.size() + b.size());
    for (int i = 0; i < a.size(); ++i)
        for (int j = 0, carry = 0; j < b.size() || carry; ++j)
        {
            LL cur = LL(a[i]) * ( j < b.size() ? b[j] : 0 ) +
                carry + res[i+j];
            res[i+j] = cur % base;
            carry = cur / base;
        }
    while (res.size() && !res.back()) res.pop_back();
    a = res;
    return a;
}
 
std::vector <int> BinPow(int a, int n)
{
    std::vector<int> res(1, 1), b(1, a);
    while (n)
        if (n & 1) --n, res *= b;
        else n >>= 1, b *= b;
    return res;
}
 
std::vector <int> Pow(int a, int n)
{
    std::vector <int> res(1, 1), b(1, a);
    for(int i = 0; i < n; ++i)
        res *= b;
    return res;
}
 
int main()
{
    int a[] = {2,     2,     2,     2,     2,     2,     2,     2}, 
        n[] = {10000, 20000, 30000, 40000, 50000, 60000, 70000, 1000*1000};
    clock_t begin, end;
    
    for (int i = 0; i < 8; ++i)
    {
        std::cout << "Test #" << i << std::endl;
        
        begin = clock();
        std::vector <int> res = BinPow(a[i], n[i]);
        end = clock();
        
        /*std::cout << "BinPow result: " << res.back();
        std::cout.fill('0'), std::cout.width(9);
        for (int i = res.size()-2; i > -1; --i)
            std::cout << res[i];
        std::cout << std::endl << std::endl;
        std::cout.fill(' '), std::cout.width(0);*/
        std::cout << "BinPow time: " << std::setw(6) << end - begin << 
            " milisecond" << ( end - begin < 2 ? "s" : "" ) << std::endl;
            
        begin = clock();
        res = Pow(a[i], n[i]);
        end = clock();
        
        /*std::cout << "Pow result: " << res.back();
        std::cout.fill('0'), std::cout.width(9);
        for (int i = res.size()-2; i > -1; --i)
            std::cout << res[i];
        std::cout << std::endl << std::endl;
        std::cout.fill(' '), std::cout.width(0);*/
        std::cout << "Pow time:    " << std::setw(6) << end - begin <<
            " milisecond" << ( end - begin < 2 ? "s" : "" ) <<
             std::endl << std::endl;
    }
    system("pause");
}
Я раньше пользовался каким-то серваком, ток я имя не помню, припоминаю только то что так обдой из первіх символов идет "с"
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.03.2010, 20:01     Сервер для тестирования кодов на си++
Посмотрите здесь:

C++ Напишите программу для тестирования пользовательскои функции
C++ программный модуль для тестирования знаний
Консольное приложение для тестирования. C++
C++ Разработка программного модуля для тестирования знаний
написать ф-ю,которая подсчитывает сколько раз непрерывная ф-я проходила через экстремум на интервале,и программу для ее тестирования C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
16.03.2010, 20:03     Сервер для тестирования кодов на си++ #2
http://codepad.org/
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
16.03.2010, 20:09  [ТС]     Сервер для тестирования кодов на си++ #3
M128K145, возникла "маленькая" проблема:
Line 5: error: ISO C++ does not support 'long long'
compilation terminated due to -Wfatal-errors.

Как исправить эту ошибку, и что еще за стандарт такой?
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
16.03.2010, 20:12     Сервер для тестирования кодов на си++ #4
это gcc и он не поддерживает всякие такие приколы, кст, system тоже не выполнится
Собственно почитай Сайт для экспериментов с программами (Интерпретатор онлайн)
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
16.03.2010, 20:44  [ТС]     Сервер для тестирования кодов на си++ #5
M128K145, я им раньше пользовался, на счет систем знаю, а вот как на gcc написать длинку??

Добавлено через 7 минут
http://gcc.gnu.org/onlinedocs/gcc/Long-Long.html - нарыл эту статью, ток я не понял как юзать 64 целые числа на gcc.. Кто-нибудь сталкивался с такой проблемой?

Добавлено через 16 минут
M128K145, прочел, ничего нового..

Добавлено через 6 минут
Нашел выход: http://stackoverflow.com/questions/1...-long-long-int - здесь обсуждалась тема как для gcc юзать int64, а вот собственно мой пост, только вот до 8-ого теста не доходит и почемуто у меня пашет реже чем на серваке.. хотя я допускаю что я провтыкал с Clock(), не побскажите как еще можно замерять время, а то я рылся по гуглу та и не нарыл..
http://codepad.org/wqLtfxsO
Yandex
Объявления
16.03.2010, 20:44     Сервер для тестирования кодов на си++
Ответ Создать тему
Опции темы

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