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

При вызове len(1) 1 как-то преобразуется в двойку сразу, ничего не пойму. Кажется из-за этого и массив length дальше индекса 2 нули имеет. - C++

Восстановить пароль Регистрация
 
wowofbob
2 / 2 / 0
Регистрация: 19.01.2013
Сообщений: 32
03.03.2013, 09:09     При вызове len(1) 1 как-то преобразуется в двойку сразу, ничего не пойму. Кажется из-за этого и массив length дальше индекса 2 нули имеет. #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
int MaxLen(const long unsigned int limit) {
    term[last] = 1;
    length[last] = 1;
    long unsigned int maxLen = 1;
    for (long unsigned int i = 2; i <= limit; ++i) {
        //cout << term[i] << ' ' << length[i] << endl;
        int thisLen = len(i);
        if (maxLen < thisLen) {
            maxLen = thisLen;
        }
    }
    return maxLen;
}
 
int main() {
    //int * length = new int [10000000];
    //int * terms = new int [10000000];
    
    //cout << MaxLen(10) << endl;
    //cout << length[5] << endl;
 
    term[1] = 1;
    length[1] = 1;
    len(2);
    cout << len(1) << endl;
    //for (int i = 1; i <= 3; ++i) {
    //  cout << length[i] << endl;
    //}
    system("pause");
}
При вызове len(1) 1 как-то преобразуется в двойку сразу, ничего не пойму. Кажется из-за этого и массив length дальше индекса 2 нули имеет. В чем я налажал?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.03.2013, 09:09     При вызове len(1) 1 как-то преобразуется в двойку сразу, ничего не пойму. Кажется из-за этого и массив length дальше индекса 2 нули имеет.
Посмотрите здесь:

при вызове конструктора присваивания надо возвращать ссыль на объект или сам объект. Смысл? Значения нужных полей меняютмся и без этого! C++
C++ Не могу понять, как исправить ошибку в при вызове методов класса
Как записать в массив число, вводимое сразу, если оно имеет больше 18 разрядов? C++
C++ Не пойму как реализовать такой массив=) (формирование массива сумм)
Двумерный динамический массив в классе. Зависание при вводе и вызове деструктора C++
При вызове функции Sides () которая по сути должна менять переменные члены класса — ничего не происходит C++
C++ Класс - Ошибки при вызове методов: В вызове функции отсутствует список аргументов
Ошибка при вызове функции добавления нового элемента в массив C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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