Вадим Ушаков, И вообще, у вас же там компилятор прямо по русски вполне понятно написал, что ему не нравится. В первом случае нет return, во-втором не описан метод/функция haveNext.
Ошибки в Node::find_in_nodes_by_name и QuadNavigation<T>::isFullyConnectedQuad(). Ни тот ни другой код не приведен. Телепаты в отпуске, обновите вопрос.
Дмитрий, Просто на сложении/вычитании/умножении/делении вы это никак не получите.
Можно это даже доказать:
доказательство
Этими четырьмя операциями можно получить только рациональный полином вида F(a,b)/G(a,b).
При подставновке a=0 получим рациональный полином F2(b)/G2(b), который тождественно равен 0 при b<0 и равен b при b>=0. А значит он весь равен 0 всегда, ведь полином F2(b) должен быть тождественно равен 0 на полуоси, но такой только 1 - константа 0.
Армянское Радио теперь привел еще и метод с использованием битовых трюков для, фактически, взятия модуля разности.
Я бы посоветовал, если в коде прямо задан массив, то тупо убрать квадратные скобки и сразу передать в функцию то, что написано как аргументы. Если же там какой-то массив передан по имени, то сарзу подставить индексы. Типа "f(array)" => "f(array[0], array[1], array[2])" И т.д. Но надо знать какие есть у функции аргументы и сколько их.
В противном случае заведите временную переменную, куда присвойте значение того, что там передается и опять же подставьте ее с аргументами.
ImPaha, Нет тут никакой проблемы cin читает число, пропуская пробелы и переводы строк до первой цифры. Ему вообще пофигу - можно в файле хоть сотню строк и тысячу пробелов между числами вставить.
Поэтому конструкция в ответе работает. Сначала прочитается команда (и указатель в cin будет на пробеле после нее), потом прочитается одно число, потом второе (указатель в cin будет на конец строки). На следующей итерации пропустится перевод строки и прочитается следующая команда.
PurgaBot, Откройте ссылку, что я дал про Крамера. Прочтите и поймите. Там дан пример для трех уравнений. Для двух вам надо посчитать определители матрицы 2x2 - это делается перемножением пар элементов по диагоналям и вычитание одного из другого. Все. Формулы из вопроса получаются в одно действие.
Никита, опять же, дело в оптимизаторе. Надо смотреть на дизассемблер. Вызов статического метода не должен чем-то отличаться от вызова простой функции.
Попробуйте скомпилировать с -O0 (g++).
Если разница исчезла - значит опять разделение на файлы не позволило компилятору что-то соптимизировать (заинлайнить вызов). Ну, или вставьте весь класс в тот же самый cpp файл, чтобы избавиться от этой проблемы.
Еще можно попробовать включить link time optimization
hinie, что значит "порядок не менять"? Внутри кадой очереди пользователи идут в исходном порядке? Но по очередям можно распихивать как угодно? Например, первого и третьего в одну кассу, а второго и четвертого - во вторую?
Мирон, Adding template parameter to Test limits the options a lot. What if Test already were a template? When you can't just write C, as it may have more parameters. So you would need to implement a special adapter template for that.
Alternative approach might be to add T as a parameter to the property template, but then it's easier to make an error. Now you need to pass in both C and a correct T to the property template.
Current approach just requires some consistency in each separate C class. Only one place to check things out.
Also it adds an unnecessary verbosity. Why would you need to specify T, if it's fully defined by C?
sitrof, а откуда эти рандомные значения берутся, по вашему? Вы еще и swap делаете. Т.е. там где эти рандомные значения были - там оказывается число из массива.