Универсальная функция для слияния массива объектов - PullRequest
0 голосов
/ 09 февраля 2012

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

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

Заранее спасибо.

1 Ответ

2 голосов
/ 09 февраля 2012

Часть с "b == nb? B [ia ++]" неверна. Измените его на "b == nb? A [ia ++]"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...