Menu
CoddyTech

Rangkuman: Kisi Kalender

Termasuk bagian Logika dan Alur dalam perjalanan Swift di Coddy. Pelajaran 11 dari 56.

challenge icon

Tantangan

Sedang

Baca tiga bilangan bulat dari tiga baris: days (jumlah hari dalam sebulan, 28 hingga 31), start_dow (0 = Senin … 6 = Minggu, hari dalam seminggu saat tanggal 1 jatuh), dan cols (jumlah kolom yang akan dicetak).

Cetak kisi kalender:

  • Isi baris pertama dengan entri -- hingga posisi hari dalam seminggu sesuai, satu -- untuk setiap slot di awal
  • Cetak setiap hari dari 1 hingga days, dengan lebar dua karakter (gunakan spasi di depan untuk hari satu digit, misalnya 1, 10)
  • Gunakan satu spasi di antara sel dalam satu baris
  • Pindah ke baris baru setelah setiap cols entri, termasuk isian

Untuk input 30 / 2 / 7, outputnya adalah:

-- --  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

Coba sendiri

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

// TODO: buat array datar berisi sel ("--" + string hari),
// lalu cetak baris yang masing-masing berisi `cols` sel, dipisahkan oleh satu spasi

Semua pelajaran di Logika dan Alur

Latihan sendiri: Playground Swift