Rewrite the above code using the struct data type.

EBK JAVA PROGRAMMING
9th Edition
ISBN:9781337671385
Author:FARRELL
Publisher:FARRELL
Chapter8: Arrays
Section: Chapter Questions
Problem 11RQ
icon
Related questions
Question

#include <stdio.h>
#include <stdlib.h>

int MAX_SIZE = 10;
int n = 0; //A counter variable which will keep track of number of elements in arr.

void append(int *arr, int element)
{
    if(n == MAX_SIZE)
    {
        MAX_SIZE = MAX_SIZE * 2;
        int *ptr = (int*)malloc(MAX_SIZE * sizeof(int));
        
        //Copy elements of existing array to a new array
        for(int i=0;i<n;i++)
        {
            ptr[i] = arr[i];
        }
        arr = ptr;
        n++;
    }
    arr[n] = element;
}

int get(int *arr, int index)
{
    return arr[index];
}
int main()
{
    int *arr = (int*)malloc(MAX_SIZE * sizeof(int));
    n = 10; 
    for(int i=0;i<n;i++)
        arr[i] = i+1;
        
    printf("\nArray size: %d", MAX_SIZE);
    printf("\nNumber of elements: %d", n);
    printf("\nArray: ");
    for(int i=0;i<n;i++)
        printf("%d  ", arr[i]);
    
    printf("\n\nAdding an element");
    append(arr, 11);
    printf("\nArray size: %d", MAX_SIZE);
    printf("\nNumber of elements: %d", n);
    
    printf("\nArray: ");
    for(int i=0;i<n;i++)
        printf("%d  ", arr[i]);
    int x = get(arr, 4);
    printf("\n\nElement at index 4: %d", x);
    return 0;
}

Rewrite the above code using the struct data type.

Expert Solution
steps

Step by step

Solved in 4 steps with 2 images

Blurred answer
Knowledge Booster
Functions
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT