CICLO DO - Inversione cifre

di il
43 risposte

43 Risposte - Pagina 3

  • Re: CICLO DO - Inversione cifre

    Inverti 1230 ... cosa ottieni ?
  • Re: CICLO DO - Inversione cifre

    Qui stiamo parlando di interi e non di stringhe, quindi 321=0321... non capisco dove sia il problema.
  • Re: CICLO DO - Inversione cifre

    Anche 321=00321 oppure 000321

    Il problema è evidente. Per fare bene questo esercizio o si usano le stringhe o si usa la printf per aggiungere gli zeri all'inizio quanso servono
  • Re: CICLO DO - Inversione cifre

    Ovviamente se parliamo di stringhe 321!=00321... tutto dipende dal fine che ci siamo prefissati.

    Per esempio 2,50 e 2,5 sono stringhe diverse, ma dal punto di vista numerico rappresentano la stessa quantità.
  • Re: CICLO DO - Inversione cifre

    Se l'esercizio parla di "invertire le cifre di qualsiasi numero" e quindi presentare a video il risultato, per me è scontato che le cifre vanno presentate tutte, compresi gli zeri non significativi. Scrivere 12, 120, 1200, 120000000 e avere in output sempre 21 non mi pare sia lo scopo dell'esercizio.

    Almeno io la penso così. Quindi modificherei il codice per ottenere la visualizzazione di tutti i caratteri nel posto giusto.

    E' vero anche che è possibile interpretare diversamente l'esercizio, gestendo solo il valore numerico.
    Ma la questione è riuscire a modificare il codice in maniera da ottenere anche l'altra soluzione.

    Il resto è polemica che non mi interessa.

    Lascio comunque la decisione a Mav, che ha aperto il thread e poi è sparito.
  • Re: CICLO DO - Inversione cifre

    Quale polemica?!

    Un saluto a Mav!
  • Re: CICLO DO - Inversione cifre

    Nippolo ha scritto:


    Qui stiamo parlando di interi e non di stringhe, quindi 321=0321... non capisco dove sia il problema.
    Qui nessuno sa cosa esattamente sia richiesto ... gli zeri potrebbero essere richiesti o no. Se dici di non capire dove sia il problema, io la prendo come polemica perché il dubbio è chiaro.

    Nulla di personale eh... attendo mav ...
  • Re: CICLO DO - Inversione cifre

    Ciao a tutti, scusate la mia latitanza.

    Ad un certo punto avete iniziato a parlare in maniera troppo complicata per le mie misere conoscenze e mi sentivo un po' fuori luogo.

    Comunque per quanto riguarda l'esercizio, ha ragione Oregon, chiedeva di invertire tutte le cifre del numero inserito compresi gli eventuali zeri.

    alla fine l'ho risolto in questo modo
    #include <stdio.h>
    int main(void)
    {	
    	int number, ultima_cifra;
    	
    	printf("Enter a number: ");
    	scanf("%d", &number);
    	
    	do {
    		ultima_cifra = number%10;
    		printf("%d", ultima_cifra);
    		number = number/10;
    	}	while(number != 0 && number > 0);
    	
    	return 0;
    }
    Grazie ancora per i consigli e scusate per la mia sparizione.
  • Re: CICLO DO - Inversione cifre

    La condizione nella while la puoi scrivere meglio... ragiona
  • Re: CICLO DO - Inversione cifre

    Tolgo il number > 0, giusto?
  • Re: CICLO DO - Inversione cifre

    Ti basta

    (number)

    Perché?
  • Re: CICLO DO - Inversione cifre

    Perchè dividendo number per 10 continua a fare il ciclo fino a quando non ha più niente da dividere, di conseguenza appena finisce le divisioni finisce il ciclo automaticamente, giusto?
  • Re: CICLO DO - Inversione cifre

    Io ti chiedevo di studiare il perché quello che hai scritto tra parentesi come condizione è equivalente a quello che ti ho scritto io
  • Re: CICLO DO - Inversione cifre

    Non mi viene nessuna idea
Devi accedere o registrarti per scrivere nel forum
43 risposte