SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Sergio Fernandez

    Sergio Ferna

    1 EKİM 2009
  • Valdorsha

    Valdorsha

    8 Mayıs 2006
  • wwjoshdew

    wwjoshdew

    1 AĞUSTOS 2007