乗算に問題があります2 arrays
。
まず、ユーザーに7
int を入力して最初の配列に格納してもらいたいです。
2番目の配列はconst[] == {2765432};
問題は、両方の配列の各要素をどのように乗算するかです
(つまり)ユーザーの場合input = 6192354
、これは最初に配列に格納され、次に2番目の配列で乗算します。そうなる
6 * 2.. 1 * 7.. 9 * 6..
等..
乗算に問題があります2 arrays
。
まず、ユーザーに7
int を入力して最初の配列に格納してもらいたいです。
2番目の配列はconst[] == {2765432};
問題は、両方の配列の各要素をどのように乗算するかです
(つまり)ユーザーの場合input = 6192354
、これは最初に配列に格納され、次に2番目の配列で乗算します。そうなる
6 * 2.. 1 * 7.. 9 * 6..
等..
まず{2765432}
、7 要素の配列ではありません。単一の整数を保持する1要素の配列ですが2765432
、7要素の多様性を求めているようです。
1 桁の値の配列を取得するには、次のようなものが必要です。
int second[] = {2,7,6,5,4,3,2};
次に、ユーザー値を別の7 要素配列に読み取ったと仮定すると、それは次のように単純です。
for (int i = 0; i < 7; i++)
result[i] = user[i] * second[i];
たとえば、このプログラム:
#include <iostream>
int main() {
int i, user[7], second[] = {2,7,6,5,4,3,2}, result[7];
for (i = 0; i < 7; i++) {
std::cout << "Enter value #" << (i + 1) << ": ";
std::cin >> user[i];
}
for (i = 0; i < 7; i++) {
result[i] = user[i] * second[i];
}
for (i = 0; i < 7; i++) {
std::cout << user[i] << " * " << second[i] << " = " << result[i] << '\n';
}
return 0;
}
実行すると、次のトランスクリプトが生成されます。
Enter value #1: 1
Enter value #2: 3
Enter value #3: 2
Enter value #4: 8
Enter value #5: 4
Enter value #6: 7
Enter value #7: 4
1 * 2 = 2
3 * 7 = 21
2 * 6 = 12
8 * 5 = 40
4 * 4 = 16
7 * 3 = 21
4 * 2 = 8
1 つの数値を入力し、それを 7 桁の配列に分割する必要がある場合は、次のように開始できます。
#include <iostream>
int main() {
int i, val, user[7], second[] = {2,7,6,5,4,3,2}, result[7];
std::cout << "Enter a seven-digit value: ";
std::cin >> val;
for (i = 6; i >= 0; i--) {
user[i] = val % 10;
val /= 10;
}
for (i = 0; i < 7; i++) {
result[i] = user[i] * second[i];
}
for (i = 0; i < 7; i++) {
std::cout << user[i] << " * " << second[i] << " = " << result[i] << '\n';
}
return 0;
}
モジュロと除算を使用して、数字を一度に 1 つずつ配列に抽出しuser
ます。その後、数字を配列に直接入力した場合と同じ状況になります。
使ってみてくださいstd::transform
。次の方法で:
#include <algorithm>
#include <functional>
...
std::transform(user, user + 7*sizeof(user[0]), second, result, std::multiplies<int>());
for(int i =0;i< A.length;i++)
{
A[i] = A[i] * B[i];
}
=
両方の配列が同じサイズであると仮定すると、以下のコードが機能するはずです。それ以外の場合は、別のロジックが必要になります。
for(int i = 0; i < 7; i++)
{
int temp = answer[i] * const[i];
}