Итоги: Сетка календаря
Часть раздела Логика и управление потоком путешествия по Swift на Coddy — урок 11 из 56.
Задание
СреднеПрочитайте три целых числа из трех строк: 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` ячеек, разделенных одним пробелом
Все уроки раздела Логика и управление потоком
1Строки в деталях
Подсчет и индексыРегистр и удаление пробеловПоиск в строкахРазделение и объединениеЗамена подстрокИтоги — Проверка имени пользователя4Множества
Создание множествОбъединение и пересечениеРазность и симметрическая разностьПодмножество и надмножествоИтоги — Фильтр тегов7Проект — Трекер привычек
Обзор проектаОтметить выполнение10Проект — Движок викторины
Обзор проектаЗадаем вопросы2Диапазоны и шаги
Закрытые и полуоткрытыеШагМетоды диапазоновДиапазоны в SwitchИтоги: Сетка календаря