Вычислить средний массив из четырех заданных массивов без знака - PullRequest
1 голос
/ 16 июля 2011

Предположим, у меня есть список из четырех беззнаковых массивов символов, которые добавляются в контейнер карты следующим образом:

std::map<std::string, unsigned char*> UCArray;
UCArray.insert(std::make_pair("A1", new unsigned char[10000]));
UCArray.insert(std::make_pair("A2", new unsigned char[10000]));
UCArray.insert(std::make_pair("A3", new unsigned char[10000]));
UCArray.insert(std::make_pair("A4", new unsigned char[10000]));

Я хочу получить массив, заполненный средними значениями на основе UCArray, гдевсе четыре беззнаковых буфера символов инициализируются и заполняются действительными значениями.Я знаю, что могу донести свою точку зрения с помощью двух «для ... петли».Пожалуйста, скажите, есть ли другие эффективные способы сделать это.Заранее спасибо.

1 Ответ

0 голосов
/ 16 июля 2011
for(std::map<std::string, unsigned char*>::const_iterator iter = UCArray.begin();
    iter != UCArray.end(); ++iter)
{
   int nAverage =  std::accumulate(
             iter->second, 
             iter->second+10000, 
             0)  / 10000;
}
...