Рубрики

Проверка Панграм

Дана строка, проверяющая, является ли она панграммой или нет. Панграмма — это предложение, содержащее каждую букву в английском алфавите.

Примеры: быстрая коричневая лиса перепрыгивает через ленивую собаку »- это панграмма [Содержит все символы от 'a' до 'z']
«Быстрая коричневая лиса перепрыгивает через собаку» — это не панграмма [Не содержит всех символов от «а» до «z», поскольку «l», «z», «y» отсутствуют]

Мы создаем массив mark [] логического типа. Мы перебираем все символы нашей строки, и всякий раз, когда мы видим символ, мы помечаем его. Строчные и прописные буквы считаются одинаковыми. Таким образом, «A» и «a» отмечены в индексе 0, а также «Z» и «z» отмечены в индексе 25.

После перебора всех символов мы проверяем, отмечены ли все символы или нет. Если нет, тогда верните false, поскольку это не панграмма, иначе верните true.

C ++

// Программа на C ++, чтобы проверить, является ли данный
// строка является панграммой или нет
#include<bits/stdc++.h>

using namespace std;

  
// Возвращает true, если строка является панграммой, иначе false

bool checkPangram (string &str)

{

    // Создание хеш-таблицы для маркировки символов

    // присутствует в строке

    vector<bool> mark(26, false);

  

    // Для индексации в mark []

    int index;

  

    // Обход всех символов

    for (int i=0; i<str.length(); i++)

    {

        // Если символ в верхнем регистре, вычесть 'A'

        // найти индекс.

        if ('A' <= str[i] && str[i] <= 'Z')

            index = str[i] - 'A';

  

        // Если строчные буквы, вычитаем 'a'

        // найти индекс.

        else if('a' <= str[i] && str[i] <= 'z')

            index = str[i] - 'a';

  

        // Отметить текущий символ

        mark[index] = true;

    }

  

    // Возвращаем false, если какой-либо символ не помечен

    for (int i=0; i<=25; i++)

        if (mark[i] == false)

            return (false);

  

    // Если присутствовали все символы

    return (true);

}

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

int main()

{

    string str = "The quick brown fox jumps over the"

                 " lazy dog";

  

    if (checkPangram(str) == true)

        printf (""%s" is a pangram", str.c_str());

    else

        printf (""%s" is not a pangram", str.c_str());

  

    return(0);

}

Джава

// Java-программа для иллюстрации Pangram

class GFG 

{

  

    // Возвращает true, если строка

    // панграмма иначе ложь

    public static boolean checkPangram (String str)

    {

        // Создать хеш-таблицу для пометки

        // символы присутствующие в строке

        // По умолчанию все элементы

        // знак будет ложным.

        boolean[] mark = new boolean[26];

  

        // Для индексации в mark []

        int index = 0;

  

        // Обход всех символов

        for (int i = 0; i < str.length(); i++)

        {

            // Если символ в верхнем регистре, вычесть 'A'

            // найти индекс.

            if ('A' <= str.charAt(i) && 

                    str.charAt(i) <= 'Z')

                          

                index = str.charAt(i) - 'A';

  

                // Если строчные буквы, вычитаем 'a'

                // найти индекс.

            else if('a' <= str.charAt(i) && 

                        str.charAt(i) <= 'z')

                              

                index = str.charAt(i) - 'a';

  

            // Отметить текущий символ

            mark[index] = true;

        }

  

        // Возвращаем false, если какой-либо символ не помечен

        for (int i = 0; i <= 25; i++)

            if (mark[i] == false)

                return (false);

  

        // Если присутствовали все символы

        return (true);

    }

  

    // Код драйвера

    public static void main(String[] args) 

    {

        String str = "The quick brown fox jumps over the lazy dog";

  

        if (checkPangram(str) == true)

            System.out.print(str + " is a pangram.");

        else

            System.out.print(str+ " is not a pangram.");

  

    }

}

питон

# Программа Python для проверки, если данный
# строка является панграммой или нет

  

def checkPangram(s):

    List = []

    # создать список из 26 символов и установить false для каждой записи

    for i in range(26):

        List.append(False)

          

    # преобразование предложения в нижний регистр и итерация

    # над предложением

    for c in s.lower(): 

        if not c == " ":

            # сделать соответствующую запись True

            List[ord(c) -ord('a')]=True 

              

    # проверить, если какой-либо символ отсутствует, вернуть False

    for ch in List:

        if ch == False:

            return False

    return True

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

sentence = "The quick brown fox jumps over the little lazy dog"

  

if (checkPangram(sentence)):

    print ' " '+ Предложение +'"'

    print "is a pangram"

else:

    print ' " '+ Предложение +'"'

    print "is not a pangram"

  
# Этот код предоставлен датским Mushtaq

C #

// C # Программа для иллюстрации Pangram

using System;

class GFG {

      

    // Возвращает true, если строка

    // панграмма иначе ложь

    public static bool checkPangram (string str)

    {

          

        // Создать хеш-таблицу для пометки

        // символы присутствующие в строке

        // По умолчанию все элементы

        // знак будет ложным.

        bool[] mark = new bool[26];

  

        // Для индексации в mark []

        int index = 0;

  

        // Обход всех символов

        for (int i = 0; i < str.Length; i++)

        {

            // Если символ в верхнем регистре, вычесть 'A'

            // найти индекс.

            if ('A' <= str[i] && 

                    str[i] <= 'Z')

                          

                index = str[i] - 'A';

  

                // Если строчные буквы,

                // вычитаем 'a', чтобы найти

                // показатель.

            else if('a' <= str[i] && 

                        str[i] <= 'z')

                              

                index = str[i] - 'a';

  

            // Отметить текущий символ

            mark[index] = true;

        }

  

        // Возвращаем false, если есть

        // персонаж не помечен

        for (int i = 0; i <= 25; i++)

            if (mark[i] == false)

                return (false);

  

        // Если все символы

        // были представлены

        return (true);

    }

  

    // Код драйвера

    public static void Main() 

    {

        string str = "The quick brown fox jumps over the lazy dog";

  

        if (checkPangram(str) == true)

            Console.WriteLine(str + " is a pangram.");

        else

            Console.WriteLine(str+ " is not a pangram.");

  

    }

}

  
// Этот код предоставлен нитин митталь.


Выход :

 "The quick brown fox jumps over the lazy dog"
 is a pangram

Сложность времени: O (n), где n — длина нашей строки
Вспомогательное пространство — O (1).

Эта статья предоставлена Rachit Belwariar . Если вам нравится GeeksforGeeks и вы хотите внести свой вклад, вы также можете написать статью и отправить ее по почте на contrib@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

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

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

Проверка Панграм

0.00 (0%) 0 votes