Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [C++] Numeri romani

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    118

    [C++] numeri romani

    Devo fare un programmino che mi analizzi un numero compreso tra 0 e 3999 e lo trasformi nel corrispondente numero romano. Da fare concettualmente è facile, un paio di funzioncine e via.... però ho un problema di ordine diverso. Preso un numero maggiore di 100 (es. 130) come posso operare singolarmente sulle cifre 1, 3, 0??? Non ditemi che devo prima convertire in string e poi riconvertire le singole sottostringe in int!! (se purtroppo questo è l'unico metodo, mi dite la funzione opposta a atoi).
    Thx

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    423

    Re: [C++] numeri romani

    Originariamente inviato da conqueror
    Devo fare un programmino che mi analizzi un numero compreso tra 0 e 3999 e lo trasformi nel corrispondente numero romano. Da fare concettualmente è facile, un paio di funzioncine e via.... però ho un problema di ordine diverso. Preso un numero maggiore di 100 (es. 130) come posso operare singolarmente sulle cifre 1, 3, 0??? Non ditemi che devo prima convertire in string e poi riconvertire le singole sottostringe in int!! (se purtroppo questo è l'unico metodo, mi dite la funzione opposta a atoi).
    Thx
    La funzione opposta ad atoi (se ti serve) è itoa.
    Altrimenti c'è un modo più semplice.
    3921 =
    3 * 1000 +
    9 * 100 +
    2 * 10 +
    1
    Quindi:
    PrimaCifra = Numero/1000;
    SecondaCifra = (Numero/100)%10;
    TerzaCifra = (Numero/10)%10;
    QuartaCifra = Numero%10;
    Semplice e rapido.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    118
    grz mille, penso di aver risolto tutto ora. (ci avevo anche pensato a fare numero/1000, ma poi nn riuscivo a capire come ottenere per es. le centinaia. il %10 è fondamentale)

    Grazie ancora.

    Ciao


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.