1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Gmp

Тема в разделе "С и С++", создана пользователем NewStudent, 29 сен 2011.

Статус темы:
Закрыта.
  1. NewStudent

    NewStudent Гость

    Репутация:
    0
    Вечер добрый, уважаемые форумчане!

    Подскажите, пожалуйста, как выделить память под массив типа int, но его длина должна быть целым длинным числом типа mpz_t ?
    Обычно выделяю так:
    int *M;
    M = new int *[N];
    Но теперь n типа mpz_t. Что тогда делать?
     
  2. rrrFer

    rrrFer Гость

    Репутация:
    0
    наверно у mpz_t должен быть метод, возвращающий хранимое значение типа int, не?
     
  3. NewStudent

    NewStudent Гость

    Репутация:
    0
    Пишу вот так:
    A = new mpz_t [mpz_get_ui(n)];

    А потом в цикле пишу вот так:
    for(mpz_set_ui(i, 0); mpz_cmp_ui(i, m+1)<0; mpz_add_ui(i, i, 1))
    {
    mpz_init(oldA[mpz_get_ui(i)]);

    }

    И у меня зацикливается, как тогда обращаться к элементам массива? Может он приводит к int, и портит само i?
     
  4. rrrFer

    rrrFer Гость

    Репутация:
    0
    не смогу подсказать, т.к. невкурсе что такое mpz_t.
    Но,
    а вы выделяете под массив типа mpz_t:
    попробуйте
    Код:
    A = new int [mpz_get_ui(n)];
    Поидее, при этом вопрос:
    должен отпасть
     
  5. NewStudent

    NewStudent Гость

    Репутация:
    0
    Всё стало понятно, спасибо за помощь!
     
Статус темы:
Закрыта.

Поделиться этой страницей