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

Cの奇数正方行列の中央の行と列の積


行と列が等しく、長さが奇数であるmat [row] [column]の正方形の行列が与えられた場合、行と列の数は奇数でなければなりません。つまり、で割り切れません。 2、タスクは、そのマトリックスの中央の行と中央の列の積を見つけることです。

下の図のように-

Cの奇数正方行列の中央の行と列の積

制約

  • 行列は正方行列でなければなりません。

  • 列と行の長さは奇数である必要があります。

入力

mat[][] = {{1, 2, 3},
{4, 5, 6},
{7, 8, 9}}

出力

Product of middle row = 120
Product of middle column = 80

説明

Product of middle row = 4 * 5 * 6 = 120
Product of middle column = 2 * 5 * 8 = 80

入力

mat[][] = {{3, 5, 0},
{1, 2, 7},
{9, 0, 5}}

出力

Product of middle row = 14
Product of middle column = 0

説明

Product of middle row = 1 * 2 * 7 = 120
Product of middle column = 5 * 2 * 0 = 0

問題を解決するために以下で使用するアプローチは次のとおりです

  • 行列mat[][]を入力として受け取ります。

  • 中央の行と中央の列からマトリックスをトラバースします

  • 中央の行と中央の列の積を計算し、結果を返します。

アルゴリズム

Start
In function int product(int mat[][MAX], int n)
   Step 1→ Declare and initialize rproduct = 1, cproduct = 1
   Step 2→ Loop For i = 0 and i < n and i++
      Set rproduct = rproduct * mat[n / 2][i]
      Set cproduct = cproduct * mat[i][n / 2]
   Step 3→ Print "Product of middle row: rproduct “
   Step 4→ Print "Product of middle column: cproduct”
In function int main()
   Step 1→ Declare and initialize mat[][MAX] {
      { 1, 2, 3 },
      { 4, 5, 6 },
      { 7, 8, 9 } }
   Step 2→ Call product(mat, MAX)
Stop

#include <stdio.h>
#define MAX 3
int product(int mat[][MAX], int n){
   int rproduct = 1, cproduct = 1;
   //We will only check the middle elements and
   //find their products
   for (int i = 0; i < n; i++) {
      rproduct *= mat[n / 2][i];
      cproduct *= mat[i][n / 2];
   }
   // Printing the result
   printf("Product of middle row: %d\n", rproduct);
   printf("Product of middle column: %d\n", cproduct);
   return 0;
}
// Driver code
int main(){
   int mat[][MAX] = {
      { 1, 2, 3 },
      { 4, 5, 6 },
      { 7, 8, 9 } };
   product(mat, MAX);
   return 0;
}

出力

上記のコードを実行すると、次の出力が生成されます-

Product of middle row: 120
Product of middle column: 80

  1. MicrosoftExcelで行と列をフリーズする方法

    より大きなExcelスプレッドシートで作業している多くのユーザーは、特定のデータを何度も何度もチェックして比較します。データは、スプレッドシートのタイプに応じて行または列になります。これにより、ユーザーの作業が少し難しくなり、時間がかかる可能性があります。ただし、フリーズ機能を使用すると、この問題の解決に役立てることができます。 Excelのフリーズ機能を使用すると、ユーザーはスプレッドシートの行または列をフリーズできます。行または列をフリーズすると、下にスクロールすると常に表示されます。 この記事では、Excelで行と列を簡単にフリーズできる方法について説明します。この記事に含まれている

  2. Excel での列の幅と行の高さの自動調整

    Excel のグリッドのような外観は、ワークシートに格納されたデータのニーズに合わせてカスタマイズされたインターフェイスを作成する可能性がなければ、静的に見えることがあります。 これはある程度正しいですが、Microsoft は、セル内のデータのサイズに合わせて列の幅と行の高さを即座にカスタマイズする機能を Excel に組み込みました。 Excel の AutoFit 機能を使用して、列と行のサイズをワークシートのデータのサイズに自動的に変更する方法を学びます。 Excel で列の幅と行の高さを変更する前に Excel で作成できる列と行の大きさには制限があります。値がゼロの列の幅と行