Problemino con programma per numeri palindromi

di il
20 risposte

Problemino con programma per numeri palindromi

Dopo aver chiesto spiegazioni per un programma che controllava se una parola è palindroma provo a programmare io un programmino per vedere se un numeroè palindromo ma quando lo vado ad eseguire non dà il risultato aspettato. Potreste aiutarmi a trovare gli errori che ho commesso? Grazie in anticipo per l'aiuto.

#include <iostream>
#include <stdlib.h>
using namespace std;

int main()
{
     int n;      //variabile d'appoggio
     int num;     //numero che inserisci l'utente
     int cif;   //singola cifra del numero
     int cont = 0;       //numero al contrario

     cout << "Inserisci un numero positivo: ";
     cin >> num;

     n = num;

     do
     {
         num=num/10;            //scala di una virgola da destra
         cont = cont*10;           //ricompone il numero originale 
        
     } while (num != 0);

     cout << " Il numero al contrario e': " << cont << endl;

     if (n == cont)
         cout << " Il numero e' palindromo\n";
     else
         cout << " Il numero non e' palindromo\n";

    system("pause");
    return 0;
}




20 Risposte

  • Re: Problemino con programma per numeri palindromi

    Ma la variabile

    cont

    quali valori assume lo hai controllato? Esegui tu passo passo e controlla il valore di cont. Spiegalo dettagliatamente nella tua prossima risposta.
  • Re: Problemino con programma per numeri palindromi

    Beh ecco è proprio il punto che ho scrito un pò così...a caso perchè una volta che scalo tutti i numeri dividendo per 10 ad ogni ciclo e una volta scalati tutti i numeri li deve ricordare e poi tornare al numero originale moltiplicando per 10 e poi confrontando i due numeri si ottiene la conferma se è palindromo o no. Questo ragionamento non sono riuscito ad implementarlo, ma almeno spero sia giusto.
  • Re: Problemino con programma per numeri palindromi

    Stai dicendo cose a caso ... e comunque non mi hai risposto sul valore della variabile cont.
  • Re: Problemino con programma per numeri palindromi

    Inizialmente è 0 poi rimane zero perchè è sbagliato il codice, ripeto dal momento che divido per 10 fino alla fine del numero non capisco come proseguire.
  • Re: Problemino con programma per numeri palindromi

    Non è sbagliato il codice, è sbagliato il metodo che avevi pensato che risolvesse. Devi pensare ad un altro metodo.
  • Re: Problemino con programma per numeri palindromi

    Il problema è che non capisco come memorizzare il numero scomposto dividendo per 10 e poi ricomporlo moltipliocando per 10,tra l'altro l'esercizo non prevede l'uso di array o vettori, quindi non mi viene in mente nulla di utile. Qualche suggerimento almeno per la memorizzazione del numero scomposto?
  • Re: Problemino con programma per numeri palindromi

    Perché ti sei fissato con questa "memorizzazione"?
    Ti ho detto che non è il metodo giusto...
    Devi avere una funzione che estrae una qualsiasi cifra. Scrivi questa funzione e poi se ne riparla.
  • Re: Problemino con programma per numeri palindromi

    In che senso estrae una qualsiasi cifra? Il programma deve prima scomporre il numero tutte poi ricostruirlo e confrontare i due numeri per vedere se sono uguali.
  • Re: Problemino con programma per numeri palindromi

    No, non deve fare così, non ti fissare.

    Devi avere una funzione in grado di ottenere una qualsiasi cifra passando per argomento il numero e la posizione della cifra che vuoi estrarre.
    Ad esempio, se il numero inserito è 9876 e chiami la funzione

    estrai_cifra(9876, 0)

    questa ti deve restituire 6

    se la chiami

    estrai_cifra(9876, 3)

    questa ti deve restituire 9.

    CONCENTRATI per ora solo su come scrivere questa funzione e lascia perdere tutto il resto del problema ...
  • Re: Problemino con programma per numeri palindromi

    Premetto che non ho ancora studiato le funzioni ma per fare ciò penso che bisogna dividere tante volte per 10 quanto è il secondo numero nella parentesi.
  • Re: Problemino con programma per numeri palindromi

    Quell'esercizio da dove l'hai preso? Cosa presuppone come conoscenze per essere risolto?
  • Re: Problemino con programma per numeri palindromi

    Nel libro ci sono pochi esercizi quindi ho cercato su internet ma l'esercizio non prevedeva l'uso di funzioni poichè era nell'argomento dei cicli.
  • Re: Problemino con programma per numeri palindromi

    Probabile che utilizzi array ...
  • Re: Problemino con programma per numeri palindromi

    No, ora che ho letto bene vuole che utilizzi gli operatori * / e % con i cicli e strutture selettive. Dovrei combinare questi oppure usare gli array ma anche questi non sono previsti per l'esercizio
Devi accedere o registrarti per scrivere nel forum
20 risposte