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


65. Every 5 is Adjacent to Another

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

For more Practice: Solve these Related Problems:

  • Write a C program to check if every occurrence of 7 in an array is immediately followed or preceded by another 7.
  • Write a C program to verify if all instances of a given number in an array appear in pairs.
  • Write a C program to determine if every odd number in an array has at least one adjacent odd number.
  • Write a C program to check if all occurrences of the number 2 in an array are adjacent to another 2.

Go to:


PREV : Check for 5 Appearing 5 Times Non-Adjacent.
NEXT : Matching Start and End Sequence.

C Programming Code Editor:



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.