1D Arrays in C step by step hackerrank solution


Hackerrank Solution - 1D Arrays in C:

Welcome back, Guys!!
In this post, we will solve 1D Arrays in C  Hackerrank problem.
It is a medium level problem using concept of Array...



The problem statement is as follows:

An array is a container object that holds a fixed number of values of a single type. To create an array in C, we can do int arr[n];. Here, arr, is a variable array which holds up to  integers. The above array is a static array that has memory allocated at compile time.
A dynamic array can be created in C, using the malloc function and the memory is allocated on the heap at runtime. To create an integer array,  of size , int *arr = (int*)malloc(n * sizeof(int)), where  points to the base address of the array.
In this challenge, you have to create an array of size  dynamically, input the elements of the array, sum them and print the sum of the elements in a new line.

Input Format
The first line contains an integer, .
The next line contains  space-separated integers.

Constraints
1<= n<= 1000
1<= ai <= 1000

Output Format
Print in a single line the sum of the integers in the array.

Sample Input 0
6
16 13 7 2 1 12

Sample Output 0
51

Sample Input 1
7
1 13 15 20 12 13 2

Sample Output 1
76


Hackerrank Solution - 1D Arrays in C Solution Code:
 Since this problem deals with creation of dynamic array using  malloc  function and suming the integers stored in the array. I advice to use calloc as it initialize the value to 0 and can be of great help. I haven't use these function in my solution but if your using it dont forget to use relloc as well.

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

int main() {

   int n,i,sum=0;
    scanf("%d",&n);
    int a[n];
// or you can use malloc and calloc function as well...

    for(i=0;i<n;i++)
    {
        scanf("%d ",&a[i]);
    }
    for(i=0;i<n;i++)
    {
        sum=sum+a[i];
    }
    printf("%d",sum);
    return 0;
}


Please read the code and try to anyalise each step properly.
Feel free to post your thoughts and doubts in the comment section below.
See you in the next post.

Post a Comment

2 Comments