Sunday, 5 October 2025

Array 2


2a
#include 

#define SIZE 3

void readMatrix(int matrix[SIZE][SIZE]) {
    for (int i = 0; i < SIZE; i++) {
        for (int j = 0; j < SIZE; j++) {
            scanf("%d", &matrix[i][j]);
        }
    }
}

void printMatrix(int matrix[SIZE][SIZE]) {
    for (int i = 0; i < SIZE; i++) {
        for (int j = 0; j < SIZE; j++) {
            printf("%d\t", matrix[i][j]);
        }
        printf("\n");
    }
}

void addMatrices(int a[SIZE][SIZE], int b[SIZE][SIZE], int result[SIZE][SIZE]) {
    for (int i = 0; i < SIZE; i++) {
        for (int j = 0; j < SIZE; j++) {
            result[i][j] = a[i][j] + b[i][j];
        }
    }
}

void multiplyMatrices(int a[SIZE][SIZE], int b[SIZE][SIZE], int result[SIZE][SIZE]) {
    for (int i = 0; i < SIZE; i++) {
        for (int j = 0; j < SIZE; j++) {
            result[i][j] = 0;
            for (int k = 0; k < SIZE; k++) {
                result[i][j] += a[i][k] * b[k][j];
            }
        }
    }
}

void transposeMatrix(int a[SIZE][SIZE], int result[SIZE][SIZE]) {
    for (int i = 0; i < SIZE; i++) {
        for (int j = 0; j < SIZE; j++) {
            result[j][i] = a[i][j];
        }
    }
}

void showMenu() {
    printf("\n--- Matrix Menu ---\n");
    printf("1. Addition\n");
    printf("2. Multiplication\n");
    printf("3. Transpose\n");
    printf("4. Exit\n");
    printf("Choice: ");
}

int main() {
    int A[SIZE][SIZE], B[SIZE][SIZE], R[SIZE][SIZE];
    int choice;
    
    printf("Enter matrix A (9 elements):\n");
    readMatrix(A);
    printf("Enter matrix B (9 elements):\n");
    readMatrix(B);

    do {
        showMenu();
        if (scanf("%d", &choice) != 1) {
            while (getchar() != '\n');
            choice = 0;
        }

        switch (choice) {
            case 1:
                addMatrices(A, B, R);
                printf("\nMatrix A + B:\n");
                printMatrix(R);
                break;
            case 2:
                multiplyMatrices(A, B, R);
                printf("\nMatrix A * B:\n");
                printMatrix(R);
                break;
            case 3:
                transposeMatrix(A, R);
                printf("\nTranspose of A:\n");
                printMatrix(R);
                break;
            case 4:
                break;
            default:
                printf("Invalid.\n");
        }
    } while (choice != 4);

    return 0;
}

2b
#include 

#define DEPTH 2
#define ROWS 3
#define COLS 4

int main() {
    int arr[DEPTH][ROWS][COLS];
    int count = 1;

    for (int i = 0; i < DEPTH; i++) {
        for (int j = 0; j < ROWS; j++) {
            for (int k = 0; k < COLS; k++) {
                arr[i][j][k] = count++;
            }
        }
    }

    printf("Three Dimensional Array:\n");
    for (int i = 0; i < DEPTH; i++) {
        printf("--- Depth Layer %d ---\n", i);
        for (int j = 0; j < ROWS; j++) {
            for (int k = 0; k < COLS; k++) {
                printf("%d\t", arr[i][j][k]);
            }
            printf("\n");
        }
    }

    return 0;
}

No comments:

Post a Comment