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





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Спасибо...а подскажи 27.05.05 12:17  Число просмотров: 2079
Автор: 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));
<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-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach