2012-02-08 2 views
0

Я кодирую некоторую программу, которая среди многих других операций имеет тот, который из двух неупорядоченных массивов делает одно упорядоченное и перечисляет все элементы этих двух массивов в один конкретный, и до сих пор я отлично справлялся, однако я застрял в тривиальной проблеме, и дело в том, что я не могу найти, что, черт возьми, не так с этим кодом (возможно, это потому, что я так сонлив/устал/и т.д. ... Любой помощь приветствуется.Общая функция для слияния массива объектов

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++]; 
} 

Спасибо заранее.

+0

Так в чем же проблема? Какой результат он производит и что он должен производить? То, что многие тройные операторы подряд просто просят отладить ад. – Yuushi

+0

Это так, но так мы здесь и здесь, hursh и не пощадим, чтобы отлаживать. :P. Так или иначе, у меня есть решение этой проблемы, мне кажется, что это было, как я ожидалось, очень тривиальная проблема, вызванная усталостью. :) –

ответ

2

часть с "Ь == пь? б [И. ++]" неверна. Измените его на "б == Н.Б.? а [И. ++]"

+0

Lol, в этом была проблема! :) Спасибо чувак. –

+0

Добро пожаловать! – rasmus

Смежные вопросы