# Working with two-dimensional array at runtime in C programming

CServer Side ProgrammingProgramming

## Problem

Write a C program to calculate sum and product of all elements in two-dimensional array using run time compilation.

## Solution

• Runtime compilation or initialization is also called as dynamic allocation. Allocation of memory at the time of execution (run time) is known as dynamic memory allocation.

• The functions calloc() and malloc() support allocating of dynamic memory.

In this program, we will calculate the sum of all elements and product of all elements of two-dimensional array at run time.

Logic for computing sum of all elements in 2D array −

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");
}

Logic for computing product of all elements in 2D array −

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");
}
}

## Example

Live Demo

#include<stdio.h>
void main(){
//Declaring the array - run time//
int A,B,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");
}
}

## Output

Enter elements into the array A:
A :A :A :
A :A :A :
B :B :B :
B :B :B :
Sum array is :
000
000
Product array is :
000
000