Programa para comprobar si un Array es Palindrome o no usa STL en C++

Dado un arreglo, la tarea es determinar si un arreglo es un palíndromo o no, usando STL en C++.

Ejemplos:

Input: arr[] = {3, 6, 0, 6, 3}
Output: Palindrome

Input: arr[] = {1, 2, 3, 4, 5}
Output: Not Palindrome

Acercarse:

  • Obtenga el reverso de Array usando el método reverse() , provisto en STL.
  • Inicialice la bandera para desarmar int flag = 0 .
  • Haga un bucle en la array hasta el tamaño n y verifique si la array original y la array invertida son iguales. Si no establece la bandera = 1
  • Después de que el ciclo haya terminado, si la bandera está configurada, imprima «No palíndromo»; de lo contrario, imprima «Palíndrome»

A continuación se muestra la implementación del enfoque anterior:

// C++ program to check if an Array
// is Palindrome or not using STL
  
#include <bits/stdc++.h>
using namespace std;
  
void palindrome(int arr[], int n)
{
    // Initialise flag to zero.
    int flag = 0;
  
    // Create another array
    // to store the original array
    int arr2[n];
    memcpy(arr2, arr, n * sizeof(int));
  
    // Reverse the array
    reverse(arr, arr + n);
  
    // Check if the array is Palindrome
    for (int i = 0; i < n; i++)
        if (arr[i] != arr2[i]) {
            flag = 1;
            break;
        }
  
    // Print the result
    if (flag == 0)
        cout << "Palindrome\n";
    else
        cout << "Not Palindrome\n";
}
  
int main()
{
    // Get the array
    int arr[] = { 1, 2, 3, 2, 1 };
  
    // Compute the size
    int n = sizeof(arr) / sizeof(arr[0]);
  
    palindrome(arr, n);
  
    return 0;
}
Producción:

Palindrome

Artículos relacionados:

Publicación traducida automáticamente

Artículo escrito por Code_r y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *