C++プログラムの新しい配列への2つの配列の要素ごとの合計の桁
このチュートリアルでは、2つの配列要素の太陽を見つけて、それらを別々の配列に格納するプログラムを作成します。
2つの配列を指定したので、2つの配列から対応するインデックス要素を追加する必要があります。合計が1桁でない場合は、数値から桁を抽出して、新しい配列に格納します。
例を見てみましょう。
入力
arr_one = {1, 2, 32, 4, 5}
arr_two = {1, 52, 3} 出力
2 5 4 3 5 4 5
問題を解決するための手順を見てみましょう。
-
ダミーデータを使用して2つのアレイを初期化します。
-
新しい配列のサイズがわからないため、ベクトルを使用して結果を格納しています。
-
インデックスが1番目と2番目の配列の長さより小さくなるまで、2つの配列を繰り返します。
-
配列から対応するインデックス要素を追加し、新しい配列に格納します。
-
上記の反復の完了後。残りの要素について、2つの配列を別々に繰り返します。
-
ベクトルから要素を印刷します。
例
コードを見てみましょう。
#include <bits/stdc++.h>
using namespace std;
void pushDigits(int num, vector<int> &result) {
if (num > 0) {
pushDigits(num / 10, result);
result.push_back(num % 10);
}
}
void printVector(vector<int> &result) {
for (int i : result) {
cout << i << " ";
}
cout << endl;
}
void addTwoArrayElements(vector<int> arr_one, vector<int> arr_two) {
vector<int> result;
int arr_one_length = arr_one.size(), arr_two_length = arr_two.size();
int i = 0;
while (i < arr_one_length && i < arr_two_length) {
pushDigits(arr_one[i] + arr_two[i], result);
i++;
}
while (i < arr_one_length) {
pushDigits(arr_one[i++], result);
}
while (i < arr_two_length) {
pushDigits(arr_two[i++], result);
}
printVector(result);
}
int main() {
vector<int> arr_one = {1, 2, 32, 4, 5};
vector<int> arr_two = {1, 52, 3};
addTwoArrayElements(arr_one, arr_two);
return 0;
} 出力
上記のプログラムを実行すると、次の結果が得られます。
2 5 4 3 5 4 5
結論
チュートリアルに質問がある場合は、コメントセクションにそのことを記載してください。
-
C++でソートされた順序で2つのソートされていない配列をマージします。
問題の説明 ソートされていない2つの配列を受け取り、それらをソートされた順序で新しい配列にマージする関数を記述します。 arr1[] = {10, 5, 7, 2} arr2[] = {4, 17, 9, 3} result[] = {2, 3, 4, 5, 7, 9, 10, 17} アルゴリズム 1. Merge two unsorted array into new array 2. Sort newly create array 例 #include <iostream> #include <algorithm> #define SIZE(arr) (size
-
C ++の合計配列パズル?
ここでは、配列に関連する1つの興味深い問題を確認します。 n個の要素を持つ配列があります。 n個の要素の別の配列を作成する必要があります。ただし、2番目の配列のi番目の位置は、i番目の要素を除く最初の配列のすべての要素の合計を保持します。そして、1つの制約は、この問題では減算演算子を使用できないことです。 減算演算を使用できれば、すべての要素の合計を取得し、最初の配列のi番目の要素を減算して、2番目の配列のi番目の場所に格納することで、この問題を簡単に解決できます。 ここでは、毎回要素を追加することでこれを解決し、0..n-1のiについては、位置iの要素を無視します。ポイントを得るためのア