C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

多次元配列を使用して2つの行列を追加するC++プログラム


行列は、行と列の形式で配置された長方形の数値配列です。

マトリックスの例は次のとおりです。

以下に示すように、4*3マトリックスには4行3列があります-

3 5 1
7 1 9
3 9 4
1 6 7

多次元配列を使用して2つの行列を追加するプログラムは次のとおりです。

#include <iostream>
using namespace std;
int main() {
   int r=2, c=4, sum[2][4], i, j;
   int a[2][4] = {{1,5,9,4} , {3,2,8,3}};
   int b[2][4] = {{6,3,8,2} , {1,5,2,9}};
   cout<<"The first matrix is: "<<endl;
   for(i=0; i<r; ++i) {
      for(j=0; j<c; ++j)
      cout<<a[i][j]<<" ";
      cout<<endl;
   }
   cout<<endl;
   cout<<"The second matrix is: "<<endl;
   for(i=0; i<r; ++i) {
      for(j=0; j<c; ++j)
      cout<<b[i][j]<<" ";
      cout<<endl;
   }
   cout<<endl;
   for(i=0;i<r;++i)
   for(j=0;j<c;++j)
   sum[i][j]=a[i][j]+b[i][j];
   cout<<"Sum of the two matrices is:"<<endl;
   for(i=0; i<r; ++i) {
      for(j=0; j<c; ++j)
      cout<<sum[i][j]<<" ";
      cout<<endl;
   }
   return 0;
}

出力

The first matrix is:
1 5 9 4
3 2 8 3

The second matrix is:
6 3 8 2
1 5 2 9

Sum of the two matrices is:
7 8 17 6
4 7 10 12

上記のプログラムでは、最初に2つの行列aとbが定義されています。これは次のように表示されます。

int a[2][4] = {{1,5,9,4} , {3,2,8,3}};
int b[2][4] = {{6,3,8,2} , {1,5,2,9}};
cout<<"The first matrix is: "<<endl;
for(i=0; i<r; ++i) {
   for(j=0; j<c; ++j)
   cout<<a[i][j]<<" ";
   cout<<endl;
}
cout<<endl;
cout<<"The second matrix is: "<<endl;
for(i=0; i<r; ++i) {
   for(j=0; j<c; ++j)
   cout<<b[i][j]<<" ";
   cout<<endl;
}

2つの行列は、ネストされたforループを使用して追加され、結果は行列sum[][]に格納されます。これは、次のコードスニペットに示されています。

for(i=0;i<r;++i)
for(j=0;j<c;++j)
sum[i][j]=a[i][j]+b[i][j];

2つの行列の合計が取得された後、画面に印刷されます。これは次のように行われます-

cout<<"Sum of the two matrices is:"<<endl;
for(i=0; i<r; ++i) {
   for(j=0; j<c; ++j)
   cout<<sum[i][j]<<" ";
   cout<<endl;
}

  1. 接続行列を使用してグラフを表現するC++プログラム

    グラフの接続行列は、メモリに保存するグラフの別の表現です。この行列は正方行列ではありません。接続行列の次数はVxEです。ここで、Vは頂点の数、Eはグラフのエッジの数です。 この行列の各行に頂点を配置し、各列にエッジを配置します。エッジe{u、v}のこの表現では、列eの場所uとvに対して1でマークされます。 隣接行列表現の複雑さ 接続行列表現は、計算中にO(Vx E)のスペースを取ります。完全グラフの場合、エッジの数はV(V-1)/2になります。したがって、接続行列はメモリ内でより大きなスペースを取ります。 入力 出力 E0 E1 E2

  2. 隣接行列を使用してグラフを表現するC++プログラム

    グラフの隣接行列は、サイズV x Vの正方行列です。Vは、グラフGの頂点の数です。この行列では、各辺にV個の頂点がマークされています。グラフにiからjの頂点までのエッジがある場合、i thの隣接行列に 行とjth 列は1(または加重グラフの場合はゼロ以外の値)になります。それ以外の場合、その場所は0を保持します。 隣接行列表現の複雑さ 隣接行列表現はO(V 2 )計算中のスペースの量。グラフに最大数のエッジと最小数のエッジがある場合、どちらの場合も必要なスペースは同じになります。 入力 出力 0 1 2 3 4 5