w3resource

C Exercises: Check a given array of integers and return true if every 5 that appears in the given array is next to another 5

C-programming basic algorithm: Exercise-65 with Solution

Write a C program to check a given array of integers and return true if every 5 that appears in the given array is next to another 5.

C Code:

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

// Function prototype for 'test'
int test(int numbers[], int arr_len);

int main(void){
    int arr_size;

    // Declaration and initialization of an integer array 'array1'
    int array1[] = {3, 5, 5, 3, 7};
    arr_size = sizeof(array1)/sizeof(array1[0]);

    // Printing the result of the 'test' function for 'array1'
    printf("%d",test(array1, arr_size));

    // Declaration and initialization of an integer array 'array2'
    int array2[] = {3, 5, 5, 4, 1, 5, 7};
    arr_size = sizeof(array2)/sizeof(array2[0]);

    // Printing the result of the 'test' function for 'array2'
    printf("\n%d",test(array2, arr_size));

    // Declaration and initialization of an integer array 'array3'
    int array3[] = {3, 5, 5, 5, 5, 5};
    arr_size = sizeof(array3)/sizeof(array3[0]);

    // Printing the result of the 'test' function for 'array3'
    printf("\n%d",test(array3, arr_size));

    // Declaration and initialization of an integer array 'array4'
    int array4[] = {3, 5, 5, 5, 5, 5};
    arr_size = sizeof(array4)/sizeof(array4[0]);

    // Printing the result of the 'test' function for 'array4'
    printf("\n%d",test(array4, arr_size));
}

// Definition of the 'test' function
int test(int numbers[], int arr_len)
{
    int flag = 0;

    // Looping through the elements of the array
    for (int i = 0; i < arr_len; i++)
    {
        if (numbers[i] == 5)
        {
            // Checking if adjacent elements are also 5
            if ((i > 0 && numbers[i - 1] == 5) || (i < arr_len - 1 && numbers[i + 1] == 5))
                flag = 1;
            else if (i == arr_len - 1)
                flag = 0;
            else
                return 0;
        }
    }

    // Returning 'flag' indicating if there are adjacent 5s
    return flag;
}

Sample Output:

1
0
1
1

Pictorial Presentation:

C Programming Algorithm: Check a given array of integers and return true if every 5 that appears in the given array is next to another 5

Flowchart:

C Programming Algorithm Flowchart: Check a given array of integers and return true if every 5 that appears in the given array is next to another 5

C Programming Code Editor:

Previous: Write a C program to check a given array of integers and return true if the value 5 appears 5 times and there are  no 5 next to each other.
Next: Write a C program to check a given array of integers and return true if the specified number of same elements appears at the start and end of the given array.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.