Рубрики

Конвертировать данное время в слова

Задано время в формате чч: мм (12-часовой формат) 0 <чч <12, 0 <= мм <60. Задача — преобразовать его в слова, как показано:

Примеры :

Input : h = 5, m = 0
Output : five o' clock

Input : h = 6, m = 24
Output : twenty four minutes past six

Угловые случаи: m = 0, m = 15, m = 30 и m = 45.

6:00 six o'clock
6:10 ten minutes past six
6:15 quarter past six
6:30 half past six
6:45 quarter to seven
6:47 thirteen minutes to seven

Идея состоит в том, чтобы использовать оператор if-else-if для определения времени в словах. В соответствии с приведенным выше примером на основе минут мы можем разделить время в словах на 8, то есть минуты, равные 0, 15, 30, 45, 1, 59 и находящиеся в диапазоне меньше 30 или больше 30. Проверьте значение минут и печатаем соответственно.

Ниже приведена реализация этого подхода:

C ++

// C ++ программа для преобразования времени в слова
#include <bits/stdc++.h>

using namespace std;

  
// Распечатать время словами.

void printWords(int h, int m)

{

    char nums[][64] = { "zero", "one", "two", "three", "four",

                        "five", "six", "seven", "eight", "nine",

                        "ten", "eleven", "twelve", "thirteen",

                        "fourteen", "fifteen", "sixteen", "seventeen",

                        "eighteen", "nineteen", "twenty", "twenty one",

                        "twenty two", "twenty three", "twenty four",

                        "twenty five", "twenty six", "twenty seven",

                        "twenty eight", "twenty nine",

                      };

  

    if (m == 0)

        printf("%s o' clock\n", nums[h]);

  

    else if (m == 1)

        printf("one minute past %s\n", nums[h]);

  

    else if (m == 59)

        printf("one minute to %s\n", nums[(h % 12) + 1]);

  

    else if (m == 15)

        printf("quarter past %s\n", nums[h]);

  

    else if (m == 30)

        printf("half past %s\n", nums[h]);

  

    else if (m == 45)

        printf("quarter to %s\n", nums[(h % 12) + 1]);

  

    else if (m <= 30)

        printf("%s minutes past %s\n", nums[m], nums[h]);

  

    else if (m > 30)

        printf("%s minutes to %s\n", nums[60 - m],

                                     nums[(h % 12) + 1]);

}

  
// Управляемая программа

int main()

{

    int h = 6;

    int m = 24;

  

    printWords(h, m);

    return 0;

}

Джава

// Java-программа для преобразования времени в слова

class GFG

{

      

    // Распечатать время словами.

    static void printWords(int h, int m)

    {

        String nums[] = { "zero", "one", "two", "three", "four",

                            "five", "six", "seven", "eight", "nine",

                            "ten", "eleven", "twelve", "thirteen",

                            "fourteen", "fifteen", "sixteen", "seventeen",

                            "eighteen", "nineteen", "twenty", "twenty one",

                            "twenty two", "twenty three", "twenty four",

                            "twenty five", "twenty six", "twenty seven",

                            "twenty eight", "twenty nine",

                        };

      

        if (m == 0)

            System.out.println(nums[h] + " o' clock ");

      

        else if (m == 1)

            System.out.println("one minute past "

                                            nums[h]);

      

        else if (m == 59)

            System.out.println("one minute to "

                            nums[(h % 12) + 1]);

      

        else if (m == 15)

            System.out.println("quarter past " + nums[h]);

      

        else if (m == 30)

            System.out.println("half past " + nums[h]);

      

        else if (m == 45)

            System.out.println("quarter to "

                                nums[(h % 12) + 1]);

      

        else if (m <= 30)

            System.out.println( nums[m] + " minutes past " +

                                                    nums[h]);

      

        else if (m > 30)

            System.out.println( nums[60 - m] + " minutes to " +     

                                                nums[(h % 12) + 1]);

    }

      

    // Управляемый код

    public static void main(String []args)

    {

        int h = 6;

        int m = 24;

        printWords(h, m);

    }

}

  
// Этот код предоставлен ihritik

python3

# Python3 программа для конвертации
# время в словах

  
# Время печати в словах.

def printWords(h, m):

    nums = ["zero", "one", "two", "three", "four",

            "five", "six", "seven", "eight", "nine",

            "ten", "eleven", "twelve", "thirteen",

            "fourteen", "fifteen", "sixteen"

            "seventeen", "eighteen", "nineteen"

            "twenty", "twenty one", "twenty two"

            "twenty three", "twenty four"

            "twenty five", "twenty six", "twenty seven",

            "twenty eight", "twenty nine"];

  

    if (m == 0):

        print(nums[h], "o' clock");

  

    elif (m == 1):

        print("one minute past", nums[h]);

  

    elif (m == 59):

        print("one minute to", nums[(h % 12) + 1]);

  

    elif (m == 15):

        print("quarter past", nums[h]);

  

    elif (m == 30):

        print("half past", nums[h]);

  

    elif (m == 45):

        print("quarter to", (nums[(h % 12) + 1]));

  

    elif (m <= 30):

        print(nums[m],"minutes past", nums[h]);

  

    elif (m > 30):

        print(nums[60 - m], "minutes to"

              nums[(h % 12) + 1]);

  
Код водителя

h = 6;

m = 24;

  
printWords(h, m);

  
# Этот код добавлен
# Принчи Сингх

C #

// C # программа для преобразования времени в слова

using System;

  

class GFG

{

      

    // Распечатать время словами.

    static void printWords(int h, int m)

    {

        string [] nums = { "zero", "one", "two", "three", "four",

                            "five", "six", "seven", "eight", "nine",

                            "ten", "eleven", "twelve", "thirteen",

                            "fourteen", "fifteen", "sixteen", "seventeen",

                            "eighteen", "nineteen", "twenty", "twenty one",

                            "twenty two", "twenty three", "twenty four",

                            "twenty five", "twenty six", "twenty seven",

                            "twenty eight", "twenty nine",

                        };

      

        if (m == 0)

            Console.WriteLine(nums[h] + " o' clock ");

      

        else if (m == 1)

            Console.WriteLine("one minute past " + nums[h]);

      

        else if (m == 59)

            Console.WriteLine("one minute to " +

                                nums[(h % 12) + 1]);

      

        else if (m == 15)

            Console.WriteLine("quarter past " + nums[h]);

      

        else if (m == 30)

            Console.WriteLine("half past " + nums[h]);

      

        else if (m == 45)

            Console.WriteLine("quarter to "

                                nums[(h % 12) + 1]);

      

        else if (m <= 30)

            Console.WriteLine( nums[m] + " minutes past " +

                                                    nums[h]);

      

        else if (m > 30)

            Console.WriteLine( nums[60 - m] + " minutes to "

                                            nums[(h % 12) + 1]);

    }

      

    // Управляемый код

    public static void Main()

    {

        int h = 6;

        int m = 24;

        printWords(h, m);

    }

}

  
// Этот код предоставлен ihritik

PHP

<?php
// PHP программа для конвертации
// время в слова

  
// Распечатать время словами.

function printWords($h, $m)

{

    $nums = array("zero", "one", "two", "three", "four",

                  "five", "six", "seven", "eight", "nine",

                  "ten", "eleven", "twelve", "thirteen",

                  "fourteen", "fifteen", "sixteen", "seventeen",

                  "eighteen", "nineteen", "twenty", "twenty one",

                  "twenty two", "twenty three", "twenty four",

                  "twenty five", "twenty six", "twenty seven",

                  "twenty eight", "twenty nine");

  

    if ($m == 0)

        echo $nums[$h], 

             "o' clock\n" ;

  

    else if ($m == 1)

        echo "one minute past "

                $nums[$h], "\n";

  

    else if ($m == 59)

        echo "one minute to "

             $nums[($h % 12) + 1], "\n";

  

    else if ($m == 15)

        echo "quarter past "

             $nums[$h], "\n";

  

    else if ($m == 30)

        echo "half past "

           $nums[$h],"\n";

  

    else if ($m == 45)

        echo "quarter to "

             ($nums[($h % 12) + 1]), "\n";

  

    else if ($m <= 30)

        echo $nums[$m], 

             " minutes past "

               $nums[$h],"\n";

  

    else if ($m > 30)

        echo $nums[60 - $m],

             " minutes to "

             $nums[($h % 12) + 1], "\n";

}

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

$h = 6;

$m = 24;

  

printWords($h, $m);

  
// Этот код предоставлен aj_36
?>


Выход :

twenty four minutes past six

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

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

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

Конвертировать данное время в слова

0.00 (0%) 0 votes