Scindere un numero intero in due in C++ [Risolto]

di Anonimizzato24555 il
4 risposte
Buongiorno a tutti ,
sono nuovo nel forum e questo è il mio è il mio primo post.

Ho un dubbio, come da titolo, su come poter dividere un numero in due interi separati con il C++.
Mi spiego meglio con un esempio inerente all'utilizzo che ne devo fare:
ho una variabile di tipo int con un numero a 4 cifre (es. 1985) e ricavo due interi con due cifre ciascuno (es. 19 e 85).

Io una soluzione l'ho già elaborata, ve la allego di seguito, però ho il dubbio che ci sia una libreria già fatta e pronta con magari una funzione dedicata a ciò.
Ho provato a cercare sia su Google sia su questo forum, ma non ho trovato niente di utile.
#include <iostream>

using namespace std;

int main() {
    int i=1985;
    int secolo, anno;

    anno=i%100;			//85
    secolo=(i-anno)/100;	//1985-85=1900 -> 1900/100=19

    cout<<i<<endl;
    cout<<secolo<<endl;
    cout<<anno<<endl;

    return 0;
}
Io sono ancora un principiante in C++, ho iniziato da poco e sono un autodidatta che si studia la programmazione per hobby, quindi se la soluzione è banale...perdonatemi

Grazie mille.

4 Risposte

  • E' la soluzione ... (e non dipende dal C).
  • In effetti secolo=(i-anno)/100 è perfino ridondante, perché basterebbe secolo=i/100, stante che l'operazione avviene tra int, per cui la parte non intera che risulta dall'operazione viene troncata impietosamente.
  • AldoBaldo ha scritto:


    In effetti secolo=(i-anno)/100 è perfino ridondante, perché basterebbe secolo=i/100, stante che l'operazione avviene tra int, per cui la parte non intera che risulta dall'operazione viene troncata impietosamente.
    Ah si si è vero, giusto!
    Comunque, a parte qualche miglioria, la linea da seguire è questa.
  • Si si
Devi accedere o registrarti per scrivere nel forum
4 risposte