C++で行列の平均ベクトルを見つける
次数MxNの行列があるとすると、与えられた行列の平均ベクトルを見つける必要があります。したがって、行列が-
のような場合1 | 2 | 3 |
4 | 5 | 6 |
7 | 8 | 9 |
その場合、平均ベクトルは[4、5、6]です。各列の平均は(1 + 4 + 7)/ 3 =4、(2 + 5 + 8)/ 3 =5、および(3 + 6 + 9 )/ 3 =6
この例から、各列の平均を計算すると平均ベクトルになることが簡単にわかります。
例
#include<iostream> #define M 3 #define N 3 using namespace std; void calculateMeanVector(int mat[M][N]) { cout << "[ "; for (int i = 0; i < M; i++) { double average = 0.00; int sum = 0; for (int j = 0; j < N; j++) sum += mat[j][i]; average = sum / M; cout << average << " "; } cout << "]"; } int main() { int mat[M][N] = {{ 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }; cout << "Mean vector is: "; calculateMeanVector(mat); }
出力
Mean vector is: [ 4 5 6 ]
-
C++のMatrixで特定のペアを検索します
bであることに注意する必要があります。したがって、行列が-のような場合 1 2 -1 -4 -20 -8 -3 4 2 1 3 8 6 1 3 -4 -1 1 7 -6 0 -4 10 -5 1 出力は18になります。これは、mat [4、2] --mat [1、0]=18の差が最大であるためです。 これを解決するために、index(i、j)が(i、j)から(n-1、n-1)までの行列の要素の最大値を格納するように行列を前処理し、その過程でこれまでに見つかっ
-
C++でマトリックスの最後に到達するために必要な最小ステップを見つける
正の整数を持つ2D行列があるとします。マトリックスの最後(右下のセル)に移動するために必要な最小ステップを見つける必要があります。セル(i、j)にいる場合は、セル(i、j + mat [i、j)に移動できます。 ])または(i + mat [i、j]、j)、境界を越えることはできません。したがって、行列が-のような場合 2 1 2 1 1 1 1 1 1 出力は2になります。パスは(0、0)→(0、2)→(2、2)になります。 ここでは、動的計画法を使用してこれを解決します。セル(i、j)にいるとすると、(n-1、n-1)セルに到達し