Week 2 programs for performing read, write, addition and multiplication operations on 2D arrays
#include <stdio.h>
int A[10][10];
int m, n, i, j;
int B[10][10];
int bm;
int written = 0;
void writeArray() {
printf("\\nEnter the number of rows and columns (maximum 10): ");
scanf("%d %d", &m, &n);
if (m <= 10 && n <= 10) {
for (i = 0; i < n; i++) {
for (j = 0; j < m; j++) {
printf("Enter element (%d, %d): ", i, j);
scanf("%d", &A[i][j]);
}
}
written = 1;
printf("\\nArray entered\\n\\n");
} else {
printf("Limit breached, please try again.");
}
}
void readArray() {
if (written) {
for (i = 0; i < n; i++) {
for (j = 0; j < m; j++) {
printf("%d\\t", A[i][j]);
}
printf("\\n");
}
printf("\\nArray printed\\n");
}
else {
printf("\\nConsider writing the array first\\n\\n");
}
}
void addArray() {
if (written) {
printf("\\nEnter the second array");
for (i = 0; i < n; i++) {
for (j = 0; j < m; j++) {
printf("Enter element (%d, %d): ", i, j);
scanf("%d", &B[i][j]);
}
}
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
A[i][j] += B[i][j];
}
}
printf("\\nArray entered\\n\\n");
}
else {
printf("\\nConsider writing the first array first\\n\\n");
}
}
void multiplyArray() {
if (written) {
printf("\\nEnter the number of columns in the second matrix (maximum 10): ");
scanf("%d", &bm);
if (bm <= 10 && n <= 10) {
for (i = 0; i < bm; i++) {
for (j = 0; j < n; j++) {
printf("Enter element (%d, %d): ", i, j);
scanf("%d", &B[i][j]);
}
}
printf("\\nSecond array entered\\n\\n");
int MUL[m][bm], k;
for (i = 0; i < m; i++) {
for (j = 0; j < bm; j++) {
for (k = 0; k < n; k++) {
MUL[i][j] += A[i][k] * B[k][j];
}
}
}
printf("\\nArray multiplication completed\\n\\n");
for (i = 0; i < m; i++) {
for (j = 0; j < bm; j++) {
printf("%d\\t", MUL[i][j]);
}
printf("\\n");
}
} else {
printf("Limit breached, please try again.");
}
}
else {
printf("\\nConsider writing the first array first\\n\\n");
}
}
void userChoice() {
int input;
printf("Enter 1 to write the array\\nEnter 2 to read the array\\nEnter 3 for array addition\\nEnter 4 for array multiplication\\nEnter 6 to terminate the program\\n\\n");
printf("Enter command: ");
scanf("%d", &input);
switch(input) {
case(1):
printf("Writing the array\\n");
writeArray();
userChoice();
break;
case(2):
printf("Reading the array\\n");
readArray();
userChoice();
break;
case(3):
printf("Array addition initiated\\n");
addArray();
userChoice();
case(4):
printf("Array multiplication initiated\\n");
multiplyArray();
userChoice();
case(6):
printf("Terminating Program\\n");
break;
}
}
int main () {
printf("\\n================ 2D Array Operations ================\\n\\n");
userChoice();
return(0);
}
================ 2D Array Operations ================
Enter 1 to write the array
Enter 2 to read the array
Enter 3 for array addition
Enter 4 for array multiplication
Enter 6 to terminate the program
Enter command: 1
Writing the array
Enter the number of rows and columns (maximum 10): 2
3
Enter element (0, 0): 1
Enter element (0, 1): 2
Enter element (0, 2): 3
Enter element (1, 0): 4
Enter element (1, 1): 5
Enter element (1, 2): 6
Array entered
Enter 1 to write the array
Enter 2 to read the array
Enter 3 for array addition
Enter 4 for array multiplication
Enter 6 to terminate the program
Enter command: 4
Array multiplication initiated
Enter the number of columns in the second matrix (maximum
10): 1
Enter element (0, 0): 1
Enter element (0, 1): 2
Enter element (0, 2): 3
Second array entered
Array multiplication completed
8192193
131
Enter 1 to write the array
Enter 2 to read the array
Enter 3 for array addition
Enter 4 for array multiplication
Enter 6 to terminate the program
Enter command: 4
Array multiplication initiated
Enter the number of columns in the second matrix (maximum
10): 3
Enter element (0, 0): 1
Enter element (0, 1): 2
Enter element (0, 2): 3
Enter element (1, 0): 4
Enter element (1, 1): 5
Enter element (1, 2): 6
Enter element (2, 0): 7
Enter element (2, 1): 1
Enter element (2, 2): 4
Second array entered
Array multiplication completed
4201065 25 158
16711747 49 8192259
Enter 1 to write the array
Enter 2 to read the array
Enter 3 for array addition
Enter 4 for array multiplication
Enter 6 to terminate the program
Enter command: 6
Terminating Program