Cアレイが回文であるか、再帰を使用していないかを確認するプログラム
配列arr[n]が与えられ、nは配列のあるサイズである場合、タスクは、配列が回文であるか、再帰を使用していないことを確認することです。回文は、MADAM、NAMANなどのように、同じように前後に読み取ることができるシーケンスです。
したがって、配列が回文であるかどうかを確認するために、-
のように配列を前後にトラバースできます。
再帰では、開始値と終了値を等しくなるまで変更する必要があります。または、開始値と終了値が等しくない場合は、終了して、指定された配列が回文ではないことをfalseに返します。
例
Input: arr[] = { 2, 3, 4, 3, 2}
Output: Yes, the array is Palindrome
Explanation: the array is identical from start (2, 3, 4, 3, 2) and end (2, 3, 4, 3, 2).
Input: arr[] = {1, 2, 3, 4}
Output: No, the array is not Palindrome
Explanation: The array is not identical from start (1, 2, 3, 4) and end (4, 3, 2, 1). 以下で使用されるアプローチは次のとおりです −
次の手順を再帰的に実行します-
- arr[start]がarr[end]と等しいことを確認し、
を開始します。 - インクリメントは1で始まり、デクリメントは1で終わります。
- 手順1に進みます。
アルゴリズム
Start
In function int palindrome(int arr[], int start, int end)
Step 1-> If start >= end then,
Return 1
Step 2-> If arr[start] == arr[end] then,
Return palindrome(arr, start + 1, end - 1)
Step 3-> Else {
Return 0
In fucntion int main()
Step 1-> Declare and initialize an array arr[]
Step 2-> Declare and initialize n = sizeof(arr) / sizeof(arr[0]
Step 3-> If palindrome(arr, 0, n - 1) == 1 then,
Print "Yes, the array is Palindrome”
Step 4-> Else
Print "No, the array is not Palindrome”
Stop 例
#include <stdio.h>
// Recursive pallindrome function that returns 1 if
// palindrome, 0 if it is not
int palindrome(int arr[], int start, int end) {
// base case
if (start >= end) {
return 1;
}
if (arr[start] == arr[end]) {
return palindrome(arr, start + 1, end - 1);
} else {
return 0;
}
// Driver code
int main() {
int arr[] = { 1, 2, 0, 2, 1 };
int n = sizeof(arr) / sizeof(arr[0]);
if (palindrome(arr, 0, n - 1) == 1)
printf("Yes, the array is Palindrome\n");
else
printf("No, the array is not Palindrome\n");
return 0;
} 出力
上記のコードを実行すると、次の出力が生成されます-
Yes, the array is Palindrome
-
アレイが回文であるかどうかをチェックするCプログラム
任意のサイズnの配列arr[]が与えられた場合、私たちのタスクは、配列が回文であるかどうかを確認することです。回文は、MADAM、NAMANなどのように、同じように前後に読み取ることができるシーケンスです。 したがって、配列が回文であるかどうかを確認するために、-のように配列を前後にトラバースできます。 例 Input: arr[] = {1, 0, 0, 1} Output: Array is palindrome Input: arr[] = {1, 2, 3, 4, 5} Output: Array is not palindrome 以下で使用されるアプローチは次のとおりです
-
アレイが回文であるかどうか、またはC++でSTLを使用していないかどうかを確認するプログラム
n個の整数の配列arr[n]が与えられた場合、タスクは配列が回文であるかどうかを見つけることです。 C++でSTLを使用して指定されたタスクを実行する必要があります。 C ++には、STL(標準テンプレートライブラリ)の機能があります。これは、データ構造と、スタック、キュー、リストなどのいくつかの機能を提供するために使用されるC ++テンプレートクラスのセットです。これらを使用するには、知識が必要です。テンプレートクラスの。 回文は、シーケンスの前または後ろから同じように読み取られるシーケンスです。回文の簡単な例としては、-MADAM、RACECARなどがあります。配列は、以下の例のような