11 Temmuz 2010, Pazar
`std elemanların toplamı::vektör`
Nelerdiriyistd::vector tüm elemanlarının toplamını bulma yolu?
Bir vektör içinde birkaç elemanları ile std::vector<int> vector sanırım. Şimdi tüm elemanların toplamını bulmak istiyorum. Aynı için farklı yolları nelerdir?
CEVAP
11 Temmuz 2010, Pazar
Aslında birkaç yöntem vardır.
int sum_of_elems=0;
1)
for(std::vector<int>::iterator j=vector.begin();j!=vector.end(); j)
sum_of_elems = *j;
2)
sum_of_elems =std::accumulate(vector.begin(),vector.end(),0);//#include <numeric>
3) C 11 (kullanarakLambda)
std::for_each(vector.begin(),vector.end(),[&](int n){
sum_of_elems = n;
});
4) C 11 sadece (önceki yaklaşıma benzer) 12**
std::tr1::function<int()> l=[&]()->int {
sum_of_elems=0;
std::for_each(vector.begin(),vector.end(),[&](int n){
sum_of_elems = n;
});
return sum_of_elems;
};
std::cout<<l(); //prints the sum of elements
5) Kullanarakaralığı tabanlı için(C 11) (Roger Pate için Teşekkürler)
(-std=c 11 seçeneği bile g 4.6 tarafından desteklenmez)
for (int n : vector)
sum_of_elems = n;
Bunu PaylaÅŸ:

R içinde parçalara bölünmüş bir vektör...
Bulma başka bir vektör dönüşünü temsil...
Bir std bir öğeyi bulmak için nasıl::v...
Nasıl bir dize MD5 toplamı almak için?...
Böyle büyük mükafat 6 VEKTÖR görüntü v...