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>
int main(void){
    int arr_size;
    int array1[] = {3, 5, 5, 3, 7};
    arr_size = sizeof(array1)/sizeof(array1[0]);
    printf("%d",test(array1, arr_size));
    int array2[] = {3, 5, 5, 4, 1, 5, 7};
    arr_size = sizeof(array2)/sizeof(array2[0]);
    printf("\n%d",test(array2, arr_size));
    int array3[] = {3, 5, 5, 5, 5, 5};
    arr_size = sizeof(array3)/sizeof(array3[0]);
    printf("\n%d",test(array3, arr_size));
    int array4[] = {3, 5, 5, 5, 5, 5};
    arr_size = sizeof(array4)/sizeof(array4[0]);
    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:

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:

Contribute your code and comments through Disqus.

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.



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