किसी भी आकार n की arr [] सरणी को देखते हुए, हमारा कार्य यह पता लगाना है कि सरणी पैलिंड्रोम है या नहीं। पैलिंड्रोम एक अनुक्रम है जिसे पीछे और आगे की तरह पढ़ा जा सकता है, जैसे:मैडम, नमन, आदि।
तो एक सरणी की जांच करने के लिए पैलिंड्रोम है या नहीं, इसलिए हम एक सरणी को पीछे और आगे से पार कर सकते हैं जैसे -

उदाहरण
Input: arr[] = {1, 0, 0, 1}
Output: Array is palindrome
Input: arr[] = {1, 2, 3, 4, 5}
Output: Array is not palindrome नीचे उपयोग किया गया दृष्टिकोण इस प्रकार है -
हम सरणी को शुरू से अंत तक पार करेंगे जब तक कि वे दोनों बराबर न हों और जांच करें कि क्या प्रारंभ से तत्व अंत से तत्व के समान है, फिर सरणी पैलिंड्रोम है अन्यथा सरणी पैलिंड्रोम नहीं है।
एल्गोरिदम
Start
In function int pallindrome(int arr[], int n)
Step 1-> initialize i, j, flag and assign flag as 0
Step 2-> Loop For i = 0, j=n-1 and i< n/2, j>=n/2 and i++, j--
If arr[i]!=arr[j] then,
Set flag as 1
Break
End If
End Loop
Step 3-> If flag == 1 then,
Return 0
Step 4-> Else
Return 1
End function
In function int main(int argc, char const *argv[])
Step 1-> Declare and initialize arr[] as {1, 0, 2, 3, 2, 2, 1}
Step 2-> Declare and initialize n as sizeof(arr)/sizeof(arr[0])
Step 3-> If pallindrome(arr, n) then,
Print "Array is pallindrome "
End if
Step 4-> Else
Print "Array is not pallindrome "
Return 0
End main
Stop उदाहरण
#include <stdio.h>
int pallindrome(int arr[], int n) {
int i, j, flag = 0;
for(i = 0, j=n-1; i< n/2, j>=n/2; i++, j--) {
if(arr[i]!=arr[j]) {
flag = 1;
break;
}
}
if (flag == 1)
return 0;
else
return 1;
}
int main(int argc, char const *argv[]) {
int arr[] = {1, 0, 2, 3, 2, 2, 1};
int n = sizeof(arr)/sizeof(arr[0]);
if(pallindrome(arr, n)) {
printf("Array is pallindrome\n");
}
else
printf("Array is not pallindrome\n");
return 0;
} आउटपुट
यदि उपरोक्त कोड चलाया जाता है तो यह निम्न आउटपुट उत्पन्न करेगा -
Array is not palindrome