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

Cプログラミングで実行時に2次元配列を操作する


問題

ランタイムコンパイルを使用して、2次元配列内のすべての要素の合計と積を計算するCプログラムを作成します。

解決策

  • ランタイムのコンパイルまたは初期化は、動的割り当てとも呼ばれます。実行時(実行時)のメモリの割り当ては、動的メモリ割り当てと呼ばれます。

  • 関数calloc()およびmalloc()は、動的メモリの割り当てをサポートします。

このプログラムでは、実行時に2次元配列のすべての要素の合計とすべての要素の積を計算します。

2D配列のすべての要素の合計を計算するためのロジック-

printf("Sum array is : \n");
for(i=0;i<2;i++){
   for(j=0;j<3;j++){
      sum[i][j]=A[i][j]+B[i][j];
      printf("%d\t",sum[i][j]);
   }
   printf("\n");
}

2D配列のすべての要素の積を計算するためのロジック-

printf("Product array is : \n");
for(i=0;i<2;i++){
   for(j=0;j<3;j++){
      product[i][j]=A[i][j]*B[i][j];
      printf("%d\t",product[i][j]);
   }
   printf("\n");
}
}

#include<stdio.h>
void main(){
   //Declaring the array - run time//
   int A[2][3],B[2][3],i,j,sum[i][j],product[i][j];
   //Reading elements into the array's A and B using for loop//
   printf("Enter elements into the array A: \n");
   for(i=0;i<2;i++){
      for(j=0;j<3;j++){
         printf("A[%d][%d] :",i,j);
         scanf("%d",&A[i][j]);
      }
      printf("\n");
   }
   for(i=0;i<2;i++){
      for(j=0;j<3;j++){
         printf("B[%d][%d] :",i,j);
         scanf("%d",&B[i][j]);
      }
      printf("\n");
   }
   //Calculating sum and printing output//
   printf("Sum array is : \n");
   for(i=0;i<2;i++){
      for(j=0;j<3;j++){
         sum[i][j]=A[i][j]+B[i][j];
         printf("%d\t",sum[i][j]);
      }
      printf("\n");
   }
   //Calculating product and printing output//
   printf("Product array is : \n");
   for(i=0;i<2;i++){
      for(j=0;j<3;j++){
         product[i][j]=A[i][j]*B[i][j];
         printf("%d\t",product[i][j]);
      }
      printf("\n");
   }
}

出力

Enter elements into the array A:
A[0][0] :A[0][1] :A[0][2] :
A[1][0] :A[1][1] :A[1][2] :
B[0][0] :B[0][1] :B[0][2] :
B[1][0] :B[1][1] :B[1][2] :
Sum array is :
000
000
Product array is :
000
000

  1. Cプログラミングにおけるポインターの配列とポインターからポインターへの概念を説明する

    ポインタの配列 他のデータ型と同様に、ポインタ配列を宣言することもできます。 宣言 datatype *pointername [size]; たとえば、int * p [5]; //5つの整数要素アドレスを保持できるポインタの配列を表します 初期化 「&」は初期化に使用されます たとえば、 int a[3] = {10,20,30}; int *p[3], i; for (i=0; i<3; i++) (or) for (i=0; i<3,i++) p[i] = &a[i]; p[i] = a+i; アクセス アクセスには間接演算子(*)を使用します。

  2. Linuxシェルスクリプトでの配列の操作–パート8

    配列の概念がなければプログラミング言語を想像することはできません。さまざまな言語間でどのように実装されているかは関係ありません。代わりに、配列は、類似または異なるデータを1つの記号名で統合するのに役立ちます。 ここではシェルスクリプトについて懸念しているので、この記事は、この配列の概念を利用するいくつかのシェルスクリプトを試すのに役立ちます。 アレイの初期化と使用法 新しいバージョンのbashでは、1次元配列をサポートしています。配列はdeclareで明示的に宣言できます シェルビルトイン。 declare -a var ただし、上記のように配列変数を宣言する必要はありません。次