C Exercises: Check if an array of integers contains a 3 next to a 3 or a 5 next to a 5 or both
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.
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, 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));
}
// Definition of the 'test' function
int test(int numbers[], int arr_size)
{
int t_num = 0, f_num = 0;
// Looping through the elements of the array
for (int i = 0; i < arr_size - 1; i++)
{
// Checking if the current element and the next element are both 3
if (numbers[i] == 3 && numbers[i + 1] == 3)
t_num = 1;
else
t_num = 0;
// Checking if the current element and the next element are both 5
if (numbers[i] == 5 && numbers[i + 1] == 5)
f_num = 1;
else
f_num = 0;
}
// Using XOR (^) to check if only one of them is true
return t_num ^ f_num;
}
Sample Output:
1 0 1
Pictorial Presentation:
Flowchart:
C Programming Code Editor:
Previous: Write a C program to check if a given array of integers contains no 3 or a 5.
Next: Write a C program to 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.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics