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.



Follow us on Facebook and Twitter for latest update.