Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
34 / 22 / 13
Регистрация: 20.05.2022
Сообщений: 414

Ошибка C3074

14.01.2023, 14:09. Показов 3412. Ответов 33
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хочу создать вектор, и заполнить его значениями. Error C3074 "an array cannot be initialized with a parenthesized initializer"

C++
1
2
3
4
5
6
7
8
9
10
11
12
int main(){
vector<mpz_t> iv;
    iv.resize(5);
    mpz_t tt;
    mpz_init2(tt, 1000);
    for (int i = 0; i < 5; i++)
    {
        mpz_set_str(tt, "ffff", 16);
        iv.push_back(tt);
    }
return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.01.2023, 14:09
Ответы с готовыми решениями:

IIS- asp ошибка: HTTP 500.100 - Внутренняя ошибка сервера - ошибка ASP Internet Information Services
Привет! Конфигурация win2000pro sp2, стандартный IIS, IE 5. При попытке обратиться к сценарию(asp) получаю ошибку: &lt;пропуск&gt;...

Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка записи!
Доброго всем времени суток! подскажи пожалуйста как исправить ошибку: Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове...

Ошибка при добавлении в файл. Ошибка 101: Ошибка записи на диск (Error 101: Disk write error).
Здравствуйте, возникла проблема такого плана. Нужно произвести добавление записи в файл, но после успешного создания и чтения вылазиет...

33
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
14.01.2023, 14:30
JIupToH, mpz_t - это тип массива. С массивами в С\С++ особое отношение, поэтому просто так это не заработает.

В коде на С++ лучше использовать С++обертку - mpz_class.
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
14.01.2023, 14:33
Цитата Сообщение от JIupToH Посмотреть сообщение
mpz_t
Этот тип должен иметь, как минимум, конструктор по умолчанию и так же оператор равно.
И кажется для него не предусмотрен operator=
You cannot assign to mpz_t directly
0
34 / 22 / 13
Регистрация: 20.05.2022
Сообщений: 414
14.01.2023, 15:22  [ТС]
DrOffset, только когда я использую обертку mpz_class, компилятор ругается. "E0020 identifier "mpq_class" is undefined"

Добавлено через 1 минуту
Но вот так когда я задаю переменную, то все работает и выводит значение на экран.
C++
1
2
mpz_t m;        mpz_init2(m, 1000); mpz_set_str(m, "4", 16);
gmp_printf("m:%Zd\n", m);
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
14.01.2023, 15:22
Цитата Сообщение от JIupToH Посмотреть сообщение
только когда я использую обертку mpz_class, компилятор ругается.
Ну документацию получше изучите, тогда и ошибку сможете исправить.
0
34 / 22 / 13
Регистрация: 20.05.2022
Сообщений: 414
14.01.2023, 17:57  [ТС]
DrOffset, а не подскажите еще библиотеки для работы с большими числами, чтоб их можно было развернуть под Visual Studio 2015?
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
14.01.2023, 18:24
JIupToH, попроще ?
Лично не пользовался.
TTMath
TTMath is a small library which allows one to perform arithmetic operations with big unsigned integer, big signed integer and big floating point numbers. It provides standard mathematical operations like adding, subtracting, multiplying, dividing. With the library also goes a mathematical parser to help you solving mathematical expressions.
0
34 / 22 / 13
Регистрация: 20.05.2022
Сообщений: 414
14.01.2023, 22:21  [ТС]
SmallEvil, а там есть возможность работать с векторами? И как ее подключить к проекту?

Добавлено через 2 часа 56 минут
SmallEvil, как я понимаю gmp не может работать с векторами, но можно хранить значения в массиве.
C++
1
2
3
4
5
6
7
mpz_t myBignumArray[100];
for (int i = 0; i < 10; i++)
   {
    mpz_init2(myBignumArray[i], 1000);  
        mpz_set_str(myBignumArray[i], "ef", 16);
    gmp_printf("myBignumArray:%Zx\n", myBignumArray[i]);
   }
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
15.01.2023, 00:02
Цитата Сообщение от JIupToH Посмотреть сообщение
как я понимаю gmp не может работать с векторами, но можно хранить значения в массиве.
Может, я же сказал, используйте mpz_class.

Цитата Сообщение от JIupToH Посмотреть сообщение
а не подскажите еще библиотеки для работы с большими числами, чтоб их можно было развернуть под Visual Studio 2015?
Я так понимаю, это бегство с поля боя?
А как же разобраться в проблеме?
Вы думаете с другой библиотекой не будет проблем? Что будете делать, если там тоже что-то не получится? Искать третий вариант?
2
34 / 22 / 13
Регистрация: 20.05.2022
Сообщений: 414
15.01.2023, 00:56  [ТС]
DrOffset, ну в какой-то момент дал заднюю. Но вот сейчас разобрался как хранить данные в виде массива. Но возникают вопросы как работать с рациональными числами.
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
15.01.2023, 00:59
Цитата Сообщение от JIupToH Посмотреть сообщение
возникают вопросы как работать с рациональными числами.
Это какой-то слишком общий вопрос.
Что конкретно вы хотите сделать?
0
34 / 22 / 13
Регистрация: 20.05.2022
Сообщений: 414
15.01.2023, 01:02  [ТС]
Разделить одно дробное число на другое...
C++
1
2
3
4
5
6
7
8
9
10
mpq_t aa, a1, a2;
    mpq_init(aa);
    mpq_init(a1);
    mpq_init(a2);
    mpq_set_str(aa, "0", 10);
    mpq_set_str(a1, "12.3", 10);
    mpq_set_str(a2, "0.8921", 10);
    gmp_printf("%.3Qd\n", a1);
    mpq_div(aa, a1, a2);
    gmp_printf("the rational is: %.4Qd\n", aa);
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
15.01.2023, 01:39
Цитата Сообщение от JIupToH Посмотреть сообщение
Разделить одно дробное число на другое...
Число нужно задавать дробью.


Function: int mpq_set_str (mpq_t rop, const char *str, int base)

Set rop from a null-terminated string str in the given base.

The string can be an integer like “41” or a fraction like “41/152”. The fraction must be in canonical form (see Rational Number Functions), or if not then mpq_canonicalize must be called.

The numerator and optional denominator are parsed the same as in mpz_set_str (see Assigning Integers). White space is allowed in the string, and is simply ignored. The base can vary from 2 to 62, or if base is 0 then the leading characters are used: 0x or 0X for hex, 0b or 0B for binary, 0 for octal, or decimal otherwise. Note that this is done separately for the numerator and denominator, so for instance 0xEF/100 is 239/100, whereas 0xEF/0x100 is 239/256.

The return value is 0 if the entire string is a valid number, or -1 if not.
https://gmplib.org/manual/Initializing-Rationals

Пользуйтесь документацией!
0
34 / 22 / 13
Регистрация: 20.05.2022
Сообщений: 414
15.01.2023, 14:03  [ТС]
DrOffset, да это я читал, но мне нужен результат не в виде обыкновенной дроби, а виде десятичной дроби. То есть:
https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{1}{2} = 0.5.
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
15.01.2023, 17:41
JIupToH, https://gmplib.org/manual/Floa... -Functions

Пример:

https://wandbox.org/permlink/KlUvGS7cxjYHPx0X
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// link with: gmp gmpxx
 
#include <iostream>
#include <gmpxx.h>
 
int main()
{
    mpq_class a1("3/4");
    mpq_class a2("2/4");
 
    std::cout << a1 << '\n';
    std::cout << a2 << '\n';
 
    mpq_class aa = a1 / a2;
 
    std::cout << "result is: " << mpf_class(aa) << '\n';
}
https://gmplib.org/manual/C_00... -Rationals
https://gmplib.org/manual/C_00... ace-Floats
1
34 / 22 / 13
Регистрация: 20.05.2022
Сообщений: 414
15.01.2023, 18:00  [ТС]
DrOffset, только мне пишет, что identificator "mpz_class" is undefined.
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
15.01.2023, 18:05
Цитата Сообщение от JIupToH Посмотреть сообщение
только мне пишет, что identificator "mpz_class" is undefined.
<gmpxx.h> - подключен?
0
34 / 22 / 13
Регистрация: 20.05.2022
Сообщений: 414
15.01.2023, 18:49  [ТС]
DrOffset, я к проекту подключил статическую библиотеку mpir.lib.
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
15.01.2023, 19:01
JIupToH, я не об этом спросил.
0
34 / 22 / 13
Регистрация: 20.05.2022
Сообщений: 414
15.01.2023, 20:58  [ТС]
DrOffset, нет. Библиотека <gmpxx.h> к проекту не подключена. И когда ее прописываю, то при сборке проекта он такую библиотеку не находит. Я так полагаю мне надо пересобрать свою статическую библиотеку?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.01.2023, 20:58
Помогаю со студенческими работами здесь

Ошибка файловой системы (-1073741819) и ошибка при выполнении приложения-сервера
Ноутбук, windows 8.1 (не новый, лет 6 ему, переходов на другие версии не было) Перестали открываться медиа-файлы (выдает ошибку при...

Ошибка SQL запроса , в базе работает, а через IBQuery в Delphi ошибка
В Combobox загружены имена организаций. Нужно выполнить запрос на вывод всех полей таблицы организаций при выборе имени в Combobox. При...

Ошибка HTTP 500 - внутреняя ошибка сервера при отправке почты.
Я пытаюсь отправить почту и присоединяю к ней письма Вот часть страницы Dim myMail Set myMail = CreateObject('CDONTS.NewMail') ...

Ошибка при повторной сортировке базы данных excel. (Ошибка 0x800A03EC)
Всем здравствуйте. Пишу программку, которая записывает, считывает и всячески работает с определённой базой данных excel. Вообщем,...

ASP: Response.Redirect - не работает, ошибка `500 - Внутренняя ошибка сервера'
Всем привет! Есть в ASP-сраничке такой код: Response.Redirect 'page1.asp?ReturnTo=page2.asp' Эта конструкция работала на IIS 4,...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru