#include #include 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

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
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;
}

 

Make the above code by defining it as struct DynamicArray.

Expert Solution
steps

Step by step

Solved in 4 steps with 3 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY