информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Портрет посетителяВсе любят медГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 С наступающим 
 Серьезная уязвимость в Apache Log4j 
 Крупный взлом GoDaddy 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Ну так и работай 27.05.05 11:12  Число просмотров: 1677
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> Мне необходимо создать массив переменных типа mpz_t, но я
> не знаю как это сделать, и как дальше организовать с
> массивом работу. Может кто уже пробовал раскажите плз по
> подробнее. Мануал по использованию библиотеки порыл, но
> ничего толком не определил (примеров маловато), в
> исходниках искал тоже ни чего понят не смог. Зарание
> спасибо...:)

int i;
mpz_t array[1024];

for (i = 0; i < 1024; i++)
mpz_init(&array[i]);

// bla-bla-bla

for (i = 0; i < 1024; i++)
mpz_clear(&array[i]);

---

За работоспособность примера не ручаюсь - под рукой нет ни самого gmp ни доки по нему. Просто показал сам принцип. Выделяешь массив, инициализируешь все элементы в нем, после окончания работы - разрушаешь все элементы.
<programming>
если кто работал с gmp-lib подскажите 26.05.05 21:32  
Автор: hotice Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Мне необходимо создать массив переменных типа mpz_t, но я не знаю как это сделать, и как дальше организовать с массивом работу. Может кто уже пробовал раскажите плз по подробнее. Мануал по использованию библиотеки порыл, но ничего толком не определил (примеров маловато), в исходниках искал тоже ни чего понят не смог. Зарание спасибо...:)
Ну так и работай 27.05.05 11:12  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> Мне необходимо создать массив переменных типа mpz_t, но я
> не знаю как это сделать, и как дальше организовать с
> массивом работу. Может кто уже пробовал раскажите плз по
> подробнее. Мануал по использованию библиотеки порыл, но
> ничего толком не определил (примеров маловато), в
> исходниках искал тоже ни чего понят не смог. Зарание
> спасибо...:)

int i;
mpz_t array[1024];

for (i = 0; i < 1024; i++)
mpz_init(&array[i]);

// bla-bla-bla

for (i = 0; i < 1024; i++)
mpz_clear(&array[i]);

---

За работоспособность примера не ручаюсь - под рукой нет ни самого gmp ни доки по нему. Просто показал сам принцип. Выделяешь массив, инициализируешь все элементы в нем, после окончания работы - разрушаешь все элементы.
Спасибо...а подскажи 27.05.05 12:17  
Автор: hotice Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Спасибо всё заработало, только вот этот & символ перед указанием элемента не нужен :)

Может ты знаешь как сделать функцию возвращающую переменную типа mpz_t.
Я делаю так:

void test(mpz_t result, mpz_t a);

a если вот так, то прога не работает

mpz_t test(mpz_t a);
//...
mpz_t res; mpz_init (res);
mpz_set (res, test(n));
Вообще то, mpz_t это структура вроде 27.05.05 13:31  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
Даже если ты вернешь и она скопируется, то есть высокая вероятность нарваться на двойную очистку

> void test(mpz_t result, mpz_t a);

Именно так насколько я помню реализованы все gmp-шные функции, возвращающие результат

> a если вот так, то прога не работает
>
> mpz_t test(mpz_t a);
> //...
> mpz_t res; mpz_init (res);
> mpz_set (res, test(n));

Если уж так хочется иметь семантику возврата значения, то почему бы не воспользоваться gmp-шными же C++ обертками?
Вообщем понятно, а как насчёт??? 27.05.05 14:11  
Автор: hotice Статус: Незарегистрированный пользователь
<"чистая" ссылка>
если необходимо передать в функцию массив или наоборот вернуть его. А то что то у меня не получается.
Извиняюсь, что немножко не в тему. А без массива никак не обойтись? 27.05.05 09:27  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
<"чистая" ссылка>
Оно то конечно можно, но если 27.05.05 09:59  
Автор: hotice Статус: Незарегистрированный пользователь
<"чистая" ссылка>
потребуется расширение программы то ни как нельзя. Задача такая 3 одномерных массива - 1 делимые, 2 делители, 3 остатки от деления 1 на 2, в каждом массиве от 2 до n элементов, можно взять просто 15 переменных(то есть 3 массива по 5 элементов) и на этом закончить, но хотелось бы больше.
1






Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2022 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach