Menu
Coddy logo textTech

Итоги: Сетка календаря

Часть раздела Логика и управление потоком путешествия по Swift на Coddy — урок 11 из 56.

challenge icon

Задание

Средне

Прочитайте три целых числа из трех строк: days (общее количество дней в месяце, от 28 до 31), start_dow (0 = Понедельник … 6 = Воскресенье, день недели, на который выпадает 1-е число) и cols (количество столбцов для вывода).

Выведите календарную сетку:

  • Заполните первую строку записями -- до тех пор, пока день недели не совпадет (один -- на каждый пустой слот в начале)
  • Выведите каждый день от 1 до days, **шириной в два символа** (используйте ведущий пробел для однозначных чисел, например 1, 10)
  • Используйте один пробел между ячейками в строке
  • Переходите на новую строку после каждых cols записей (включая заполнение)

Для входных данных 30 / 2 / 7 результат будет следующим:

-- --  1  2  3  4  5
 6  7  8  9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

Попробуйте сами

let days = Int(readLine()!)!
let startDow = Int(readLine()!)!
let cols = Int(readLine()!)!

// TODO: создать плоский массив ячеек ("--" + строки дней),
// затем вывести строки из `cols` ячеек, разделенных одним пробелом

Все уроки раздела Логика и управление потоком