Menu
Coddy logo textTech

Riepilogo - Griglia del calendario

Fa parte della sezione Logica e flusso del percorso Swift di Coddy. Lezione 11 di 56.

challenge icon

Sfida

Medio

Leggi tre numeri interi da tre righe: days (il numero totale di giorni in un mese, da 28 a 31), start_dow (0 = lunedì … 6 = domenica, il giorno della settimana in cui cade il 1°) e cols (il numero di colonne da stampare).

Stampa una griglia del calendario:

  • Riempi la prima riga con elementi -- finché i giorni della settimana non sono allineati (un elemento -- per ogni casella iniziale)
  • Stampa ogni giorno da 1 a days, occupando due caratteri (usa uno spazio iniziale per i giorni a una cifra, ad esempio 1, 10)
  • Usa un singolo spazio tra le caselle di una riga
  • Vai a capo dopo ogni cols elementi (compresi gli elementi di riempimento)

Per l'input 30 / 2 / 7, l'output è:

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

Provalo tu

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

// TODO: crea un array piatto di celle ("--" + stringhe dei giorni),
// poi stampa righe di `cols` celle separate da un singolo spazio

Tutte le lezioni di Logica e flusso

Esercitati da solo: Playground Swift