C行列の境界要素の合計を出力するプログラム
行列が与えられた場合、行列の境界要素を印刷し、それらの合計を表示する必要があります。
例
以下のマトリックスを参照してください-
与えられたマトリックス
1 2 3 4 5 6 7 8 9
境界マトリックス
1 2 3 4 6 7 8 9
境界要素の合計:1 + 2 + 3 + 4 + 6 + 7 + 8 + 9 =40
境界行列の合計を見つけるためのロジック 次のとおりです-
for(i = 0; i<m; i++){ for(j = 0; j<n; j++){ if (i == 0 || j == 0 || i == n – 1 || j == n – 1){ printf("%d ", mat[i][j]); sum = sum + mat[i][j]; } else printf(" "); } printf("\n"); }
プログラム
以下は、行列の境界要素の合計を出力するCプログラムです。 −
#include<stdio.h> #include<limits.h> int main(){ int m, n, sum = 0; printf("\nEnter the order of the matrix : "); scanf("%d %d",&m,&n); int i, j; int mat[m][n]; printf("\nInput the matrix elements\n"); for(i = 0; i<m; i++){ for(j = 0; j<n; j++) scanf("%d",&mat[i][j]); } printf("\nBoundary Matrix\n"); for(i = 0; i<m; i++){ for(j = 0; j<n; j++){ if (i == 0 || j == 0 || i == n – 1 || j == n – 1){ printf("%d ", mat[i][j]); sum = sum + mat[i][j]; } else printf(" "); } printf("\n"); } printf("\nSum of boundary is %d", sum); }
出力
上記のプログラムを実行すると、次の結果が得られます-
Enter the order of the matrix : 3 3 Input the matrix elements : 1 2 3 4 5 6 7 8 9 Boundary Matrix : 1 2 3 4 6 7 8 9 Sum of boundary is 40
-
コーナー要素とその合計をCプログラムの2次元行列に出力します。
サイズが2X2の配列を考えると、配列に格納されているすべてのコーナー要素の合計を出力することが課題になります。 行「r」と列「c」が0から行と列を開始する行列mat[r][c]を想定すると、そのコーナー要素は次のようになります。 mat [0] [0]、mat [0] [c-1]、mat [r-1] [0]、mat[r-1][c-1]。ここでのタスクは、これらのコーナー要素を取得し、それらのコーナー要素を合計することです。つまり、mat [0] [0] + mat [0] [c-1] + mat [r-1] [0] + mat [r-1] [c-1]、結果を画面に印刷します。 例 Input
-
Cプログラムで、配列内の最後に出現する要素を相対的な順序で出力します。
要素を含む配列a[]が与えられ、タスクは、リスト内の指定された要素の最後の出現を出力することです。ここでは、重複する要素を削除するだけでなく、配列内の要素が最後に発生したときの順序を維持する必要があります。 6つの要素の配列があり、いくつかの重複する値、つまり{1,3、2、3、1、2}も含まれているため、結果は312の形式になります。 例 Input: a[]={4,2,2,4,1,5,1} Output : 2 4 5 1 アルゴリズム START Step 1-> Declare function void printelements(int a[], int n) &nbs