Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1

    [C] separare cifre numero

    ciao a tutti,
    devo fare un esercizio in C che dato un numero intero di 4 cifre le ristampi separate da uno spazio. il problema č che non posso usare nč vettore nč particolari comandi, posso usare solo i confronti ed i comandi base...
    non ci riesco proprio a farmi venire in mente un modo semplice...

  2. #2
    codice:
    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        int n = 1234, t=0;
        
        while (n != 0)
        {
            t = t * 10 + n % 10;
    	n /= 10;	
        }
        
        while (t != 0)
        {
            n = t % 10;
            printf("%d ", n);
            t /= 10;	
        }
          
        system("pause"); 
        return 0;
    }
    ...Terrible warlords, good warlords, and an english song

  3. #3
    grazie per aver risposto, ho guardato il codice e non ho capito bene cosa fa questo:
    codice:
    t = t * 10 + n % 10;
    	n /= 10;
    me lo spiegheresti ? moltiplica per dieci il numero e ci somma il numero modulo 10 ?

  4. #4
    non proprio, in realtā prima t viene moltiplicato per 10 e poi ci viene sommato n modulo 10.
    Anche io sono curioso di capire come funziona il prog che ha postato Johnny
    http://www.mangaitalia.net/

    questo č un cazzo metallizzato a quattro ruote e noi due siamo i coglioni che se lo portano dietro - da Bad Boys con Will Smith and Martin Lawrance di John Whoo

  5. #5
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012
    Il primo ciclo semplicemente inverte le cifre di n e scrive il numero risultante in t.
    Il secondo ciclo scrive le cifre di t.

    Senza usare questo metodo le cifre apparirebbero invertite.

  6. #6
    ho provato a fare il calcolo a mano, ma mi esce solo il primo numero, cioč 4 facendo:

    t = 0 + 1234 % 10 = 4;

    ma gli altri non mi escono...

    potreste postarmi le operazioni che vengono compiute ? anche solo il secondo passaggio...
    http://www.mangaitalia.net/

    questo č un cazzo metallizzato a quattro ruote e noi due siamo i coglioni che se lo portano dietro - da Bad Boys con Will Smith and Martin Lawrance di John Whoo

  7. #7
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012
    Tu hai fatto sono un calcolo, mentre dovresti farti tutto il ciclo!

    Esegui questo che ti spiega bene:
    codice:
    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        int n = 1234, t=0;
    	printf("Numero di partenza: %d\n", n);
        
        while (n != 0)
        {
    		printf("L'ultima cifra di n e' n modulo 10, cioe' %d\n", n%10);
            t = t * 10 + n % 10;
    		printf("Ora t vale %d\n", t);
    		printf("Elimino l'ultima cifra di n facendo n diviso 10\n");
    		n /= 10;	
    		printf("Ora n vale %d\n", n);
        }
        printf("Ora scrivo t cifra per cifra, a partire dall'ultima\n");
    	printf("Cosi' sara' come scrivere le cifre di n in ordine\n");
        while (t != 0)
        {
    		printf("Ultima cifra di t: %d\n", t%10);
            n = t % 10;
            //printf("%d ", n);
            t /= 10;	
    		printf("Divido t per 10, cioe' tolgo l'ultima cifra. Ora t vale %d\n", t);
        }
          
        system("pause"); 
        return 0;
    }

  8. #8
    ok ho capito!
    avevi ragione, avrei dovuto seguire tutto il ciclo, in effetti ora si capisce benissimo!!!

    grazie
    http://www.mangaitalia.net/

    questo č un cazzo metallizzato a quattro ruote e noi due siamo i coglioni che se lo portano dietro - da Bad Boys con Will Smith and Martin Lawrance di John Whoo

  9. #9
    Un altro modo:
    codice:
    #include <stdio.h>
    int main()
    {
    int num=2364;
    char c_num[5]; //4 numeri + carattere nullo di fine stringa
    
    sprintf(c_num,"%d",num);//copia il numero nel buffer
    
    printf("\n%c %c %c %c",c_num[0],c_num[1],c_num[2],c_num[3]);
    
    return 0;
    }

  10. #10
    di questo metodo ero giā al corrente, solo che l'esercizio richiedeva di trovare la soluzione solo con i comandi base, senza vettore e tutto il resto...
    http://www.mangaitalia.net/

    questo č un cazzo metallizzato a quattro ruote e noi due siamo i coglioni che se lo portano dietro - da Bad Boys con Will Smith and Martin Lawrance di John Whoo

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.