Рубрики

Программа на C, чтобы проверить, является ли данная строка палиндромом

Для заданной строки напишите функцию ac, чтобы проверить, палиндром это или нет.
Строка называется палиндромом, если обратная строка совпадает со строкой. Например, «abba» — это палиндром, а «abbc» — не палиндром.

Алгоритм:
isPalindrome (ул)
1) Найти длину ул. Пусть длина будет п.
2) Инициализируйте низкие и высокие индексы как 0 и n-1 соответственно.
3) Делайте следующее, пока низкий индекс 'l' меньше верхнего индекса 'h'.
… ..A) Если str [l] не совпадает с str [h], вернуть false.
… ..B) Увеличивайте l и уменьшайте h, т. Е. Делайте l ++ и h–.
4) Если мы доберемся сюда, значит, мы не нашли ошибку

Ниже приведена реализация C для проверки, является ли данная строка палиндромной или нет.

#include <stdio.h>
#include <string.h>

  
// Функция для проверки, является ли строка str палиндромом

void isPalindrome(char str[])

{

    // Начинаем с самого левого и правого углов str

    int l = 0;

    int h = strlen(str) - 1;

  

    // Продолжаем сравнивать символы, пока они одинаковые

    while (h > l)

    {

        if (str[l++] != str[h--])

        {

            printf("%s is Not Palindrome", str);

            return;

        }

    }

    printf("%s is palindrome", str);

}

  
// Программа драйвера для проверки вышеуказанной функции

int main()

{

    isPalindrome("abba");

    isPalindrome("abbccbba");

    isPalindrome("geeks");

    return 0;

}

Выход:

abba is palindrome
abbccbba is palindrome
geeks is Not Palindrome

Рекурсивная функция для проверки, является ли строка палиндромом

Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по обсуждаемой теме

Рекомендуемые посты:

Программа на C, чтобы проверить, является ли данная строка палиндромом

0.00 (0%) 0 votes