The program has the following output:
1 2 3 4 5 6
1 1 1 1 1 1
1 3 5 7 9 11
1 2 6 12 20 30
See also the example of converting relative values into absolute values, and vice versa, in the next
subsection.
Example of Converting Relative Values into Absolute Values
The following example demonstrates how to use partial_sum() and adjacent_difference()
to convert a sequence of relative values into a sequence of absolute values, and vice versa:
// algo/relabs1.cpp
#include "algostuff.hpp"
using namespace std;
int main()
{
vector coll = { 17, -3, 22, 13, 13, -9 };
PRINT_ELEMENTS(coll,"coll: ");
// convert into relative values
adjacent_difference (coll.cbegin(), coll.cend(), // source
coll.begin()); // destination
PRINT_ELEMENTS(coll,"relative: ");
// convert into absolute values
partial_sum (coll.cbegin(), coll.cend(), // source
coll.begin()); // destination
PRINT_ELEMENTS(coll,"absolute: ");
}
The program has the following output:
coll: 17 -3 22 13 13 -9
relative: 17 -20 25 -9 0 -22
absolute: 17 -3 22 13 13 -9
โปรแกรมมีผลลัพธ์ต่อไปนี้:
1 2 3 4 5 6
1 1 1 1 1 1
1 3 5 7 9 11
1 2 6 12 20 30
ดูตัวอย่างของการแปลงค่าสัมพัทธ์ เป็นค่าสัมบูรณ์ และในทางกลับกัน ใน
subsection
ตัวอย่างการแปลงค่าสัมพัทธ์เป็นค่า
ตัวอย่างต่อไปนี้สาธิตวิธีการใช้ partial_sum() และ adjacent_difference()
แปลงลำดับของค่าที่สัมพันธ์กันเป็นลำดับของค่า และในทางกลับกัน:
/ / algo/relabs1.cpp
#include "algostuff.hpp"
ใช้ namespace มาตรฐาน
int main()
{
coll เวกเตอร์ < int > = {17, -3, 22, 13, 13, -9 };
PRINT_ELEMENTS (coll, " coll: ");
/ / แปลงเป็นค่าสัมพัทธ์
adjacent_difference (coll.cbegin(), coll.cend(), / / แหล่ง
coll.begin()) / / ปลายทาง
PRINT_ELEMENTS (coll, "ญาติ: ");
/ / แปลงค่า
partial_sum (coll.cbegin(), coll.cend(), / / แหล่ง
coll.begin()) / / ปลายทาง
PRINT_ELEMENTS (coll, "สัมบูรณ์: ");
}
โปรแกรมมีผลลัพธ์ต่อไปนี้:
coll: 17 13 13 22-3-9
ญาติ: 17 -20 25-9 0-22
แน่นอน: 17 13 13 22-3-9
การแปล กรุณารอสักครู่..