どうも、ちょげ(@chogetarou)です。
配列(array)の全要素に特定の値を足し算する方法を紹介します。
方法
配列(array)の全要素に特定の値を足し算する方法は、2つあります。
for文
ひとつは、for文を使う方法です。
まず、for文で配列をループします。
そして、ループ処理で、配列の要素に「+」で値を足します。
//myArray=対象の配列, T=要素の型, value=値
int length = sizeof(myArray) / sizeof(T);
for (int i = 0; i < length; ++i) {
myArray[i] += value;
}
上記のfor文は、配列の全要素に特定の値を足し算します。
使用例
#include <iostream>
using namespace std;
int main(void){
int nums[6] = { 11, 2, 8, 20, 7, 4 };
int length = sizeof(nums) / sizeof(int);
int value = 10;
for (int i = 0; i < length; ++i) {
nums[i] += value;
}
for(int item: nums) {
cout << item << endl;
}
return 0;
}
出力:
21
12
18
30
17
14
for_each()
もうひとつは、for_each()を使う方法です。
まず、algorithmをインクルードします。
#include <algorithm>
次に、for_each()を呼び出します。
for_each()の第1引数に配列のイテレータの先頭、第2引数に配列のイテレータの末尾を指定します。
for_each()の第3引数に、引数で要素の参照を受け取る関数を指定します。
そして、関数の処理で、引数に「+」で値を足します。
//myArray=対象の配列, T=要素の型, value=足す値
for_each(begin(myArray), end(myArray), [](T& item) { item += value; });
上記のfor_each()は、配列の全要素に特定の値を足し算します。
使用例
#include <iostream>
#include <algorithm>
using namespace std;
int main(void){
int nums[6] = { 11, 2, 8, 20, 7, 4 };
for_each(begin(nums), end(nums), [](int& item) { item += 100; });
for(int item: nums) {
cout << item << endl;
}
return 0;
}
出力:
111
102
108
120
107
104
まとめ
配列(array)の全要素に特定の値を足し算する方法は、次の2つです。
- for文を使う方法
int length = sizeof(myArray) / sizeof(T);
for (int i = 0; i < length; ++i) { myArray[i] += value; }
- for_each()を使う方法
for_each(begin(myArray), end(myArray), [](T& item) { item += value; });
コメント