عملکرد تابع partial_sum؟ - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

عملکرد تابع partial_sum؟

+1 امتیاز
سلام.
این تابع عملکردش با تابع std::accumulate متفاوته؟ این تابع هدفش چیه؟
سوال شده دی 28, 1393  بوسیله ی hojat1 (امتیاز 875)   12 68 99
دوباره تگ گذاری شد دی 29, 1393 بوسیله ی BlueBlade

1 پاسخ

+2 امتیاز
 
بهترین پاسخ

std::accumulate برای جمع زدن مقادیر یک بازه استفاده میشه .

برای نمونه :

 vector<int> vec ={1,2,3,4};
 int sum = std::accumulate(vec.begin(),vec.end(),0);//10

ولی partial_sum به این شکل عمل می کنه که بازه ها را بصورت بخش به بخش  جمع می کنه و در خروجی ذخیره می کنه . 

مثال :

vector<int> vec={1,2,3,4};
vector<int> out;
std::partial_sum(vec.begin(),vec.end(),std::back_inserter(out));

//
//out[0]=vec[0];
//out[1]=vec[0]+vec[1];
//out[2]=vec[0]+vec[1]+vec[2];
//out[3]=vec[0]+vec[1]+vec[2]++vec[3];

اجرای کد

 

پاسخ داده شده دی 29, 1393 بوسیله ی BlueBlade (امتیاز 15,315)   15 18 89
انتخاب شد اردیبهشت 6, 1394 بوسیله ی hojat1
...