Anonymous
как мне обращаться к эллементам этого массива обьектов, например вывести эл. с 3 по 7
Vladislav
Obj a[N];
std::array<Obj, N>
Anonymous
просчётом i?
Dumitru
Anonymous
это считается за генерацию массива обьектов?
Anonymous
unsigned int manyPatientCards; cout « " > Введите кол-во пациентов, что-бы занести их в карту госпиталя: "; cin » manyPatientCards; hospital objPatientCard[manyPatientCards];
Dumitru
std::array<Obj, N>
Кстати, глянь личку
Anonymous
присвоить переменной manyPatientCards первоначальное значение любое?
Anonymous
например 1
Anonymous
Тогда и будет у тебя массив из 1 элемента всегда.
Anonymous
Тебе надо std::vector<hospital>.
Anonymous
но я ведь спрашиваю юзвера сколько необходимо
Anonymous
векторы нельзя юзать :с
Anonymous
Тогда выделяй массив в куче.
Oleh
ребят,есть задача передать в функцию некое математическое выражение.Пр. six(x) + cos(x/2)+ x. Единственное,что приходит в голову это запихнуть его в массив char или же в строку(без разницы). Но после мне нужно будет этот массив преобразовать обратно в полноценное математическое уравнение,которое дает определенный результат. Не понимаю как это можно реализовать,быть может кто-то сталкивался с подобной задачей и у него есть идеи насчет этого ?
Matwey
Дерево построить?
Matwey
Прямо AST
Anonymous
И вызывай.
Matwey
А, я подумал, что ему символьные вычисления нужны...
ovf
да, как же в c++ без call by name из алгола
Oleh
void myfunc(std::function<double(double)> a);
Не понятно как можно в такое выражение записать что-то типа six(x) + cos(x/2)+ x
Anonymous
[](double x) { return sin(x) + cos(x/2) + x; }
Anonymous
Лямбды!
Anonymous
Функторы!
Anonymous
Тыры-пыры!
Anonymous
Если выражение не известно во время комплияции — тут уже надо на коленке парсер писать (или нагуглить, мб есть готовое решение).
ovf
да полно готовых вычислялок арифметических выражений
ovf
но в целом достаточно полезно написать свой
Oleh
спасибо большое за наводки,я честно говоря никогда с этим не сталкивался,буду разбираться )
Matwey
А, я же сказал, что ему AST нужно
Oleh
а это что такое?
Matwey
дерево состоящее из операций
Matwey
ну например sin(x) + cos(x/2) + x
Matwey
корень - "операция +"
Matwey
у неё два потомка
Matwey
sin(x)
Matwey
второй - "операция +"
Matwey
у неё два потомка
Matwey
cos(x/2) и x
Matwey
Соответственно, ты берешь текст и парсишь его в такое дерево
Matwey
А когда хочешь подставить туда x, то обходишь дерево и выполняешь операции все
Matwey
Либо, можешь производную взять от всего выражения
Matwey
Потому-что знаешь правила по которым она берется от сложной функции
Oleh
производная не поможет
Oleh
спасибо
Matwey
почему не поможет? ты её сможешь напечатать потом в текстовом виде
Matwey
это же круто. почти maple
Oleh
просто цели другие.У меня есть нелинейное уравнение и мне нужно найти его корни с помощью различных методов(Ньютона,итераций,проб).Суть в том,чтобы не меняя уравнения получить корни с опред-й точностью.Хочу написать библиотеку,которая на вход может получать любое уравнение и решать его заданным методом.
Александр
Ну или парсером готовым
ovf
а при чём тут лямбда? нужен указатель на функцию (ну или какой-нибудь std::function, т.к. обязательно надо, чтобы код не был валидным кодом на си)
Burado
Ребята, помогите разобраться с libcurl. В конце ничего не выводит.
Burado
Burado
Burado
Не шарю чёт суть этой колбэк функции.
ovf
а можно текст текстом?
ovf
ты прочёл https://curl.haxx.se/libcurl/c/CURLOPT_WRITEFUNCTION.html ?
Egor
Не шарю чёт суть этой колбэк функции.
Вообще это скорее к @supapro (и код хорошо бы всё-таки текстом выкладывать на какой-нибудь pastebin). Конкретно сейчас у вас проблема, что вы изменяете переменную data внутри коллбэка, а это просто указатель. Изменяется сам указатель (локальная переменная), но не данные, на которые он указывает. Более того — я очень сомневаюсь, что curl что-нибудь гарантирует про то, сколько живут данные в ptr после завершения коллбэка. Вам надо взять и самостоятельно перекопировать size * nmemb байт из ptr (кстати, он имеет тип char*, а не void*). А вот куда — это уже ваше дело. Можно вообще забить на последний параметр коллбэка (void *userdata) и создать глобальный массив, в который сложить полученные данные. Если нет причины писать именно на C (а не на плюсах), я бы порекомендовал взять vector<char> или string, передавать в качестве WRITEDATA указатель на них, а в коллбэке делать добавление в конец.
Igor
Йеее! ^^
ovf
конкретно для программы, выводящей в stdout, можно вообще не устанавливать CURLOPT_WRITE*
Egor
Идея хорошая, но имхо всё равно char, потому что исходно на вход мы получаем данные из сишного char*.
ovf
просто если писать код коротко и понятно, то никакого job security
Constantine
просто если писать код коротко и понятно, то никакого job security
нужно писать код коротко, понятно и без документации
Ender
Что говорят утки? curlык, curlык
Vladislav
Что говорят утки? curlык, curlык
Точно утки, не голуби?
Ender
Цапли тогда уже, если тебе так нравится семантика
Ned
Уходите, тов. майор, у нас тут вэпээны и торы
ep
А куда Catch делся? https://github.com/philsquared/Catch.git Его больше нет. Редирект на Catch2. У нас из-за этого сборка сломалась. CMake подтягивал из гита в ExternalProject Фига они смелые, так делать.
ep
Переместили старый проект в ветку Catch1.x. Мда.
Cuno
Рабочая имплементация концептов под линух существует?
Igor
А может кто подсказать, почему вот так вот нельзя? template <class T> template < class Comparator: std::binary_function< T, T, bool > > Пишет "Expecting {"
Burado
Кто какие либы для парсинга json в С юзает?
Berkus
Dropbox/json11
Burado
Спасибо, гляну)