﻿ C Program: 5 in an array must be next to another 5 # 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>
int main(void){
int arr_size;
int array1[] = {3, 5, 5, 3, 7};
arr_size = sizeof(array1)/sizeof(array1);
printf("%d",test(array1, arr_size));
int array2[] = {3, 5, 5, 4, 1, 5, 7};
arr_size = sizeof(array2)/sizeof(array2);
printf("\n%d",test(array2, arr_size));
int array3[] = {3, 5, 5, 5, 5, 5};
arr_size = sizeof(array3)/sizeof(array3);
printf("\n%d",test(array3, arr_size));
int array4[] = {3, 5, 5, 5, 5, 5};
arr_size = sizeof(array4)/sizeof(array4);
printf("\n%d",test(array4, arr_size));
}
int test(int numbers[], int arr_len)
{
int flag = 0;

for (int i = 0; i < arr_len; i++)
{
if (numbers[i] == 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;
}
}
return flag;
}
``````

Sample Output:

```1
0
1
1
```

Pictorial Presentation: Flowchart: C Programming Code Editor:

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

﻿

## C Programming: Tips of the Day

Why doesn't a+++++b work?

printf("%d",a+++++b); is interpreted as (a++)++ + b according to the Maximal Munch Rule!.

++ (postfix) doesn't evaluate to an lvalue but it requires its operand to be an lvalue.

! 6.4/4 says the next preprocessing token is the longest sequence of characters that could constitute a preprocessing token"

Ref : https://bit.ly/3fdldUT