w3resource

C Exercises: Check a given array of integers and return true if the given array contains two 5's next to each other, or two 5 separated by one element

C-programming basic algorithm: Exercise-61 with Solution

Write a C program to check a given array of integers. The program will return true if the given array contains two 5's next to each other, or two 5's separated by one element.

C Code:

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

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

int main(void){
    int arr_size;

    // Declaration and initialization of an integer array 'array1'
    int array1[] = {1, 5, 5, 5, 5};
    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[] = {2, 7, 8, 10};
    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, 3, 3, 5, 7, 5};
    arr_size = sizeof(array3)/sizeof(array3[0]);

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

// Definition of the 'test' function
int test(int numbers[], int arr_size)
{
    int len = arr_size;

    // Looping through the elements of the array
    for (int i = 0; i < len - 1; i++)
    {
        // Checking if the current element and the next element are both 5
        if (numbers[i] == 5 && numbers[i + 1] == 5)
            return 1;

        // Checking if the current element, the element after the next one, and the next element are all 5
        if (i + 2 < len && numbers[i] == 5 && numbers[i + 2] == 5)
            return 1;
    }

    // If no consecutive pairs of 5 were found
    return 0;
}

Sample Output:

1
0
1

Pictorial Presentation:

C Programming Algorithm: Check a given array of integers and return true if the given array contains two 5's next to each other, or two 5 separated by one element

Flowchart:

C Programming Algorithm Flowchart: Check a given array of integers and return true if the given array contains two 5's next to each other, or two 5 separated by one element

C Programming Code Editor:

Previous: Write a C program to check if an array of integers contains a 3 next to a 3 or a 5 next to a 5 or both.
Next: Write a C program to check a given array of integers and return true if there is a 3 with a 5 somewhere later in the given array.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://www.w3resource.com/c-programming-exercises/basic-algo/c-programming-basic-algorithm-exercises-61.php