Я кодирую некоторую программу, которая среди многих других операций имеет тот, который из двух неупорядоченных массивов делает одно упорядоченное и перечисляет все элементы этих двух массивов в один конкретный, и до сих пор я отлично справлялся, однако я застрял в тривиальной проблеме, и дело в том, что я не могу найти, что, черт возьми, не так с этим кодом (возможно, это потому, что я так сонлив/устал/и т.д. ... Любой помощь приветствуется.Общая функция для слияния массива объектов
template < typename T>
void meltTwoRustyArraysAndProduceShinyOne(const T* a, int na, const T* b, int nb, T*& c, int& nca
{
c = new T[nc=na+nb];
int ia = 0, ib =0, ic = 0;
while (ia<in || ib < nb)
c[ic++] = ia==na ? b[ib++] : b==nb ? a[ia++] : a[ia]<b[ib] ? a[ia++] : b[ib++];
}
Спасибо заранее.
Так в чем же проблема? Какой результат он производит и что он должен производить? То, что многие тройные операторы подряд просто просят отладить ад. – Yuushi
Это так, но так мы здесь и здесь, hursh и не пощадим, чтобы отлаживать. :P. Так или иначе, у меня есть решение этой проблемы, мне кажется, что это было, как я ожидалось, очень тривиальная проблема, вызванная усталостью. :) –