Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2018
    Messaggi
    1

    [C] Numerali romani equivalenti di valori decimali

    Salve,

    sono impatanato con l'esercizio in oggetto:

    "Scrivete un programma che stampi una tabella dei numerali romani equivalenti dei numeri decimali nell'intervallo da 1a 100."

    Questo è un esercizio del quarto capitolo del libro "Il linguaggio C - Fondamenti di programmazione" e gli strumenti fin qui introdotti sono tutte le strutture logiche (for, while, switch etc.).

    Presumo che gli operatori filtranti siano % e /, ma non riesco ad inquadrarli nell'algoritmo per la risoluzione di questo esercizio. A meno che piazzi i numeri uno per volta in un interminabile switch.

    Qualcuno riesce a darmi una mano a chiarirmi una volta per tutto la struttura di questo esercizio?

    Grazie mille in anticipo.
    Ultima modifica di Rivac; 27-08-2018 a 15:23

  2. #2
    Utente di HTML.it L'avatar di torn24
    Registrato dal
    Aug 2008
    Messaggi
    551

    Ciao

    Ciao, penso che dovresti avere un ciclo for() che vada da 1 a 100, e poi una funzione che converta i numeri decimali in romani, per poi stamparli.
    Adesso il numero romano è una stringa, quindi mi viene in mente una funzione che ha come parametri un int numero decimale, e un array di char romano[] come output.
    Si possono avere soluzioni diverse a uno stesso problema "migliori o peggiori", adesso non saprei proprio dirti il modo migliore, ma ho trovato un modo abbastanza semplice per la conversione e te lo spiego.

    Adesso la difficoltà dell'esercizio è solo nella funzione di conversione decimali-romani.
    Ti puoi memorizzare in array bidimensionali le stringhe corrispondenti ai numeri romani

    I II III IV V VI VII VIII IX "CIFRE 1-9"
    X XX XXX XL L LX LXX LXXX XC C " VALORI DA DA 10 A 100"

    Tutti i numeri compresi tra 1 e 100 possono essere formati dall'unione di queste stringhe.

    esempio numero decimale 63, calcolo quante decine ci sono dividendo per 10, calcolo quante unità ci sono, concateno le stringhe LX e III e ottengo LXIII

    A te l'implementazione della funzione
    Tecnologia

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.