Contar palabras palíndromo en una oración

Dada una string str y la tarea es contar las palabras palíndromo presentes en la string str .
Ejemplos: 
 

Input : Madam Arora teaches malayalam
Output : 3
The string contains three palindrome words (i.e.,
Madam, Arora, malayalam) so the count is three.

Input : Nitin speaks malayalam
Output : 2
The string contains two palindrome words (i.e.,
Nitin, malayalam) so the count is two.

La función countPalin() cuenta el número de palabras del palíndromo extrayendo cada palabra de la string y pasándola a la función checkPalin() . Se agrega un espacio adicional en la string original para extraer la última palabra. 
La función checkPalin() comprueba la palabra palíndromo. Devuelve 1 si la palabra es palíndromo; de lo contrario, devuelve 0. Se asegura de que las strings vacías no se cuenten como palíndromo, ya que el usuario puede ingresar más de un espacio entre o al principio de la string. 
 

C++

/*C++ program to count number of palindrome
words in a sentence*/
#include <bits/stdc++.h>
using namespace std;
 
// Function to check if a word is
// palindrome
bool checkPalin(string word)
{
    int n = word.length();
    transform(word.begin(), word.end(), word.begin(), ::tolower);
 
    for (int i = 0; i < n; i++,n--)
    if (word.at(i) != word.at(n - 1))
        return false;    
    return true;
}
 
// Function to count palindrome words
int countPalin(string str)
{        
    // to check last word for palindrome
    str = str + " ";
     
    // to store each word
    string word = "";
    int count = 0;
    for (int i = 0; i < str.length(); i++)
    {
        char ch = str.at(i);
         
        // extracting each word
        if (ch != ' ')
            word = word + ch;
        else {
            if (checkPalin(word))
                count++;
            word = "";
        }
    }
     
    return count;
}
     
// Driver code
int main()
{
     
    cout<<countPalin("Madam Arora teaches malayalam")<<endl;
                 
    cout<<countPalin("Nitin speaks malayalam")<<endl;
}
 
// This code is contributed by nidhi16bcs2007

Java

/*Java program to count number of palindrome
words in a sentence*/
class GFG {
     
    // Function to check if a word is
    // palindrome
    static boolean checkPalin(String word)
    {
        int n = word.length();
        word = word.toLowerCase();
        for (int i=0; i<n; i++,n--)
           if (word.charAt(i) != word.charAt(n - 1))
              return false;      
        return true;
    }
     
    // Function to count palindrome words
    static int countPalin(String str)
    {       
        // to check last word for palindrome
        str = str + " ";
         
        // to store each word
        String word = "";
        int count = 0;
        for (int i = 0; i < str.length(); i++)
        {
            char ch = str.charAt(i);
             
            // extracting each word
            if (ch != ' ')
                word = word + ch;
            else {
                if (checkPalin(word))
                    count++;
                word = "";
            }
        }
         
        return count;
    }
     
    // Driver code
    public static void main(String args[])
    {
        System.out.println(countPalin("Madam "
                  + "Arora teaches malayalam"));
                   
        System.out.println(countPalin("Nitin "
                        + "speaks malayalam"));
    }
}

Python3

# Python3 program to count number of
# palindrome words in a sentence
 
# Function to check if a word is palindrome
def checkPalin(word):
    if word.lower() == word.lower()[::-1]:
        return True
 
# Function to count palindrome words
def countPalin(str):
    count = 0
     
    # splitting each word as spaces as
    # delimiter and storing it into a list
    listOfWords = str.split(" ")
 
    # Iterating every element from list
    # and checking if it is a palindrome.
    for elements in listOfWords:
        if (checkPalin(elements)):
             
            # if the word is a palindrome
            # increment the count.
            count += 1
    print (count)
 
# Driver code
countPalin("Madam Arora teaches malayalam")
countPalin("Nitin speaks malayalam")
 
# This code is contributed
# by Ronit Shrivastava.

C#

// C# program to count number of
// palindrome words in a sentence
using System;
 
class GFG
{
 
// Function to check if a word is
// palindrome
public static bool checkPalin(string word)
{
    int n = word.Length;
    word = word.ToLower();
    for (int i = 0; i < n; i++,n--)
    {
    if (word[i] != word[n - 1])
    {
        return false;
    }
    }
    return true;
}
 
// Function to count palindrome words
public static int countPalin(string str)
{
    // to check last word for palindrome
    str = str + " ";
 
    // to store each word
    string word = "";
    int count = 0;
    for (int i = 0; i < str.Length; i++)
    {
        char ch = str[i];
 
        // extracting each word
        if (ch != ' ')
        {
            word = word + ch;
        }
        else
        {
            if (checkPalin(word))
            {
                count++;
            }
            word = "";
        }
    }
 
    return count;
}
 
// Driver code
public static void Main(string[] args)
{
    Console.WriteLine(countPalin("Madam " +
               "Arora teaches malayalam"));
 
    Console.WriteLine(countPalin("Nitin " +
                      "speaks malayalam"));
}
}
 
// This code is contributed by Shrikant13

Javascript

<script>
 
/*Javascript program to count number of palindrome
words in a sentence*/
 
// Function to check if a word is
// palindrome
function checkPalin(word)
{
    var n = word.length
    word = word.toLowerCase();
 
    for (var i = 0; i < n; i++,n--)
    if (word[i] != word[n - 1])
        return false;    
    return true;
}
 
// Function to count palindrome words
function countPalin( str)
{        
    // to check last word for palindrome
    str = str + " ";
     
    // to store each word
    var word = "";
    var count = 0;
    for (var i = 0; i < str.length; i++)
    {
        var ch = str[i];
         
        // extracting each word
        if (ch != ' ')
            word = word + ch;
        else {
            if (checkPalin(word))
                count++;
            word = "";
        }
    }
     
    return count;
}
     
// Driver code
document.write( countPalin("Madam Arora teaches malayalam") + "<br>");
             
document.write( countPalin("Nitin speaks malayalam"));
 
// This code is contributed by itsok.
</script>
Producción: 

3
2

 

https://youtu.be/z

-5HChTA0ME
 

Publicación traducida automáticamente

Artículo escrito por AnmolAgarwal 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 *