HackerRank 1D Arrays Solution in C

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. When you have finished with the array, use free(arr) to deallocate the memory.

In this challenge, create an array of size  dynamically, and read the values from stdin. Iterate the array calculating the sum of all elements. Print the sum and free the memory where the array is stored.

While it is true that you can sum the elements as they are read, without first storing them to an array, but you will not get the experience working with an array. Efficiency will be required later.

Input Format

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

Constraints


Output Format

Print 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 1D Arrays Solution in C (Sample-1)

#include <stdio.h>

int main() {
    int n;
    scanf("%d", &n);  // Read number of elements

    long long int sum = 0;
    int temp;

    for (int i = 0; i < n; i++) {
        scanf("%d", &temp);  // Read each element
        sum += temp;         // Add to sum
    }

    printf("%lld\n", sum);   // Print the sum
    return 0;
}

HackerRank 1D Arrays Solution in C (Sample-2)

#include <stdio.h>

int main() {
    int n;
    scanf("%d", &n);

    int arr[n];
    int max;

    for (int i = 0; i < n; i++) {
        scanf("%d", &arr[i]);
        if (i == 0 || arr[i] > max) {
            max = arr[i];
        }
    }

    printf("%d\n", max);
    return 0;
}

HackerRank 1D Arrays Solution in C (Sample-3)

#include <stdio.h>

int main() {
    int n, even = 0, odd = 0;
    scanf("%d", &n);
    int arr[n];

    for (int i = 0; i < n; i++) {
        scanf("%d", &arr[i]);
        if (arr[i] % 2 == 0)
            even++;
        else
            odd++;
    }

    printf("Even: %d\nOdd: %d\n", even, odd);
    return 0;
}

Post a Comment

0 Comments