Составить программу, сравнивающую два любых момента времени по их условному порядковому номеру - C (СИ)

Узнай цену своей работы

Формулировка задачи:

13.13. Известна информация о 25-ти моментах времени одних и тех же суток: часы (значения от 0 до 23) и минуты (от 0 до 59). Составить програм¬му, сравнивающую два любых момента времени по их условному по¬рядковому номеру (определяющую, какой из моментов был в эти сутки раньше).

Решение задачи: «Составить программу, сравнивающую два любых момента времени по их условному порядковому номеру»

textual
Листинг программы
#include <stdio.h>
 
const int size = 25;
 
int main() {
    int moments[size];
    int i;
    for (i = 0; i < size; i++) {
        int hours, minutes;
        scanf("%d%d", &hours, &minutes);
        moments[i] = hours * 60 + minutes; // Количество минут,
                                           // прошедших с начала суток
    }
    int a, b;
    scanf("%d%d", &a, &b); // Порядковые номера моментов, считая с единицы
    a--;
    b--;
    if (moments[a] < moments[b])
        puts("First moment was earlier"); // Первый момент был раньше
    else
    if (moments[a] > moments[b])
        puts("Second moment was earlier"); // Второй момент был раньше
    else
        puts("Moments point to the same time"); // Моменты указывают
                                                // на одно и то же время
    return 0;
}

Объяснение кода листинга программы

  1. Объявлены переменные: const int size = 25; int moments[size]; int i; int a, b;
  2. Заполняется массив moments с помощью цикла for и функции scanf: for (i = 0; i < size; i++) { int hours, minutes; scanf(%d%d, &hours, &minutes); moments[i] = hours * 60 + minutes; }
  3. Считываются порядковые номера моментов a и b с помощью функции scanf: scanf(%d%d, &a, &b);
  4. Порядковые номера моментов a и b уменьшаются на единицу, так как в задаче они начинаются с 1: a--; b--;
  5. Выполняется сравнение моментов с помощью условных операторов if-else и выводится соответствующее сообщение: if (moments[a] < moments[b]) puts(First moment was earlier); else if (moments[a] > moments[b]) puts(Second moment was earlier); else puts(Moments point to the same time);
  6. Возвращается 0, заканчивая работу программы: return 0;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.786 из 5
Похожие ответы