行列の各行と各列の合計を見つけるC++プログラム
このチュートリアルでは、特定の行列の各行と各列の合計を見つけるプログラムについて説明します。
このために、たとえばA*B行列が与えられます。私たちのタスクは、マトリックスのすべての要素をトラバースし、マトリックスの各行と各列の合計を見つけることです。
例
#include <iostream> using namespace std; #define m 7 #define n 6 //calculating sum of each row void calc_rsum(int arr[m][n]){ int i,j,sum = 0; for (i = 0; i < 4; ++i) { for (j = 0; j < 4; ++j) { sum = sum + arr[i][j]; } cout << "Sum of the row "<< i << ": " << sum << endl; sum = 0; } } //calculating sum of each column void calc_csum(int arr[m][n]) { int i,j,sum = 0; for (i = 0; i < 4; ++i) { for (j = 0; j < 4; ++j) { sum = sum + arr[j][i]; } cout << "Sum of the column "<< i << ": " << sum <<endl; sum = 0; } } int main() { int i,j; int arr[m][n]; int x = 1; for (i = 0; i < m; i++) for (j = 0; j < n; j++) arr[i][j] = x++; calc_rsum(arr); calc_csum(arr); return 0; }
Sum of the row 0: 10 Sum of the row 1: 34 Sum of the row 2: 58 Sum of the row 3: 82 Sum of the column 0: 40 Sum of the column 1: 44 Sum of the column 2: 48 Sum of the column 3: 52
-
C++のマトリックスで合計が最大の行を検索します
この問題では、サイズN*Nの行列mat[][]が与えられます。私たちのタスクは、マトリックス内で合計が最大の行を見つけることです。 問題を理解するために例を見てみましょう 入力 mat[][] = { 8, 4, 1, 9 3, 5, 7, 9 2, 4, 6, 8 1, 2, 3, 4 } 出力 Row 2, sum 24 説明 Row 1: sum = 8+4+1+9 = 22 Row 2: sum = 3+5+7+9 = 24 Row 3: sum = 2+4+6+8 = 20 R
-
C++で最も深いノードの合計を見つけるプログラム
二分木があるとしましょう。その最も深い葉の値の合計を見つける必要があります。したがって、ツリーが次のような場合- その場合、出力は11になります。 これを解決するには、次の手順に従います- マップmとmaxDepthを定義します 再帰メソッドsolve()を定義します。これはノードとレベルを取り、最初はレベルは0です ノードが存在しない場合は、戻ります maxDepth:=レベルの最大値とmaxDepth ノードの値だけm[レベル]を増やします 解決(ノードの左側、レベル+ 1) 解決(ノードの右側、レベル+ 1) mainメソッドで