Sunday, 5 October 2025

Array practical 1 a b


1.a
#include 

#define MAX_SIZE 100

void printArray(int arr[], int n) {
    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");
}

void insertBeginning(int arr[], int *n, int element) {
    if (*n >= MAX_SIZE) return;

    for (int i = *n - 1; i >= 0; i--) {
        arr[i + 1] = arr[i];
    }
    arr[0] = element;
    (*n)++;
}

void insertEnd(int arr[], int *n, int element) {
    if (*n >= MAX_SIZE) return;

    arr[*n] = element;
    (*n)++;
}

void insertAtPosition(int arr[], int *n, int element, int position) {
    if (*n >= MAX_SIZE || position < 1 || position > *n + 1) return;

    int index = position - 1;
    for (int i = *n - 1; i >= index; i--) {
        arr[i + 1] = arr[i];
    }
    arr[index] = element;
    (*n)++;
}

void deleteBeginning(int arr[], int *n) {
    if (*n <= 0) return;

    for (int i = 0; i < *n - 1; i++) {
        arr[i] = arr[i + 1];
    }
    (*n)--;
}

void deleteEnd(int arr[], int *n) {
    if (*n <= 0) return;

    (*n)--;
}

void deleteAtPosition(int arr[], int *n, int position) {
    if (*n <= 0 || position < 1 || position > *n) return;

    int index = position - 1;
    for (int i = index; i < *n - 1; i++) {
        arr[i] = arr[i + 1];
    }
    (*n)--;
}

int main() {
    int arr[MAX_SIZE] = {10, 20, 30, 40};
    int n = 4;

    printArray(arr, n);

    insertBeginning(arr, &n, 5);
    printArray(arr, n);

    insertEnd(arr, &n, 50);
    printArray(arr, n);

    insertAtPosition(arr, &n, 25, 4);
    printArray(arr, n);

    deleteBeginning(arr, &n);
    printArray(arr, n);

    deleteEnd(arr, &n);
    printArray(arr, n);

    deleteAtPosition(arr, &n, 3);
    printArray(arr, n);

    return 0;
}
                              

1b
#include 

#define MAX_SIZE 100

void insertElement(int arr[], int *n, int element) {
    if (*n >= MAX_SIZE) {
        printf("Error.\n");
        return;
    }
    arr[*n] = element;
    (*n)++;
}

void deleteElement(int arr[], int *n) {
    if (*n <= 0) {
        printf("Error.\n");
        return;
    }
    (*n)--;
}

void traverseArray(int arr[], int n) {
    if (n <= 0) {
        printf("Empty.\n");
        return;
    }
    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");
}

void reverseArray(int arr[], int n) {
    if (n <= 0) return;

    int start = 0;
    int end = n - 1;
    while (start < end) {
        int temp = arr[start];
        arr[start] = arr[end];
        arr[end] = temp;
        start++;
        end--;
    }
}

void showMenu() {
    printf("\n--- Menu ---\n");
    printf("1. Insert\n");
    printf("2. Delete\n");
    printf("3. Traverse\n");
    printf("4. Reverse\n");
    printf("5. Exit\n");
    printf("Choice: ");
}

int main() {
    int arr[MAX_SIZE];
    int n = 0;
    int choice, element;

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

        switch (choice) {
            case 1:
                printf("Element: ");
                if (scanf("%d", &element) == 1) {
                    insertElement(arr, &n, element);
                }
                break;
            case 2:
                deleteElement(arr, &n);
                break;
            case 3:
                traverseArray(arr, n);
                break;
            case 4:
                reverseArray(arr, n);
                break;
            case 5:
                break;
            default:
                printf("Invalid.\n");
        }
    } while (choice != 5);

    return 0;
}
                  

No comments:

Post a Comment