Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 22
  1. #11
    vettore?

    quello è solo un array di char

  2. #12
    scusami, ma un vettore è un array :-)

    una stringa è un vettore che contiene dei caratteri, ed il vettore o array che dir si voglia che hai inizializzato te:
    codice:
    char c_num[5]; 
    è un vettore o array di 5 char
    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

  3. #13
    scusa, deformazione professionale ;usando spesso il C++ tendo ad indicare come vettore solo quello della STL :P

  4. #14
    ok nn ti preoccupare, a volte capita di confondersi
    a me ad esempio capita spesso

    cmq grazie per la soluzione!
    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. #15
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    15
    Ciao...
    Scusate se mi intrometto ma ho provato il codice precedente e
    funziona con tutti i numeri costituiti da un numero qualsiasi di cifre tranne con quelli che terminano con degli zeri per esempio
    12340
    12340000
    con questi numeri non funziona, gli zeri non vengono visualizzati,
    ho inserito un controllo if ma non funziona stampa solo il primo zero
    ....
    if ( numero % 10 != 0 ) {

    while (numero != 0)
    {
    t = t * 10 + numero % 10;
    numero /= 10;
    }


    while (t != 0)
    {
    numero = t % 10;
    output = output + numero + " ";
    t /= 10;
    }
    JOptionPane.showMessageDialog( null, "Il numero è\n" + output );
    }

    else {

    while (numero != 0)
    {
    t = t * 10 + numero % 10;
    numero /= 10;
    }


    while (t != 0)
    {
    numero = t % 10;
    output = output + numero + " ";
    t /= 10;
    }
    JOptionPane.showMessageDialog( null, "Il numero è\n" + output + zero);
    }
    ............

    come puo' essere risolto????!!!????

  6. #16
    Originariamente inviato da gandalf45
    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;
    }
    Se sai in principio da quante cifre è formato il tuo numero (oppure non hai problemi a gestire un array allocato a run-time) puoi usare il mio metodo.

  7. #17
    Aggiunge gli zeri in coda al numero.
    codice:
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    int main()
    {
        long int n = 0, t = 0;
        char c[50] = "\0", l, j;
            
        printf("Inserisci un numero intero: ");
        scanf("%d", &n);
            
        itoa(n, c, 10);
        l = strlen(c);
            
        while (n != 0)
        {
    	t = t * 10 + n % 10;
            n /= 10;	
        }
        
        itoa(t, c, 10);
        j = strlen(c);
                    
        while (t != 0)
        {
            n = t % 10;
        	printf("%d ", n);
            t /= 10;	
        }
    
        while(j<l)
        {
            printf("0 ");
            j++;
        }              
    
        system("pause"); 
        return 0;
    }
    ...Terrible warlords, good warlords, and an english song

  8. #18
    codice:
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    
    int main(){
    //Main
    int num, //il numero 
    l_num = 1;   //il numero di cifre che lo compongono
    
    char *c_num; //il buffer dove metteremo il numero
    
    //ti procure il numero nel modo che preferisci
    //in questo caso uso STDIN (standard input, la console)
    scanf("%d",&num);
    
    while(num / (int)pow(10,l_num)) l_num++;    //conto il numero di cifre
    
    printf("\nNum lungo: %d",l_num);
    
    c_num = (char*)malloc(sizeof(char)*(l_num+1));
    
    sprintf(c_num,"%d",num);
    
    for(int z=0; z<l_num; z++)
    	printf("\n%c",c_num[z]);
    
    
    free(c_num);
    
    SYSTEM("PAUSE");
    return 0;
    }
    [editato]
    ups, non avevo visto l'altro post :rollo:

  9. #19
    Originariamente inviato da gandalf45
    codice:
    while(num / (int)pow(10,l_num)) l_num++;    //conto il numero di cifre
    Buona idea!

    io sostituirei il mio codice nel seguente modo
    (evitando così l'utilizzo delle stringhe [come da titolo])
    codice:
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    
    int main()
    {
        long int n = 0, t = 0;
        char l = 1, j = 1;
            
        printf("Inserisci un numero intero: ");
        scanf("%d", &n);
        
        while(n  / (int)pow(10, l)) l++; 
                
        while (n != 0)
        {
    	t = t * 10 + n % 10;
            n /= 10;	
        }
        
        while(t  / (int)pow(10, j)) j++; 
                        
        while (t != 0)
        {
    	n = t % 10;
        	printf("%d ", n);
            t /= 10;	
        }
    
        while(j<l)
        {
            printf("0 ");
            j++;
        }              
    
        system("pause"); 
        return 0;
    }
    ...Terrible warlords, good warlords, and an english song

  10. #20
    ...EDIT

    è ridondante, è sufficiente aggiungere un contatore all'interno del ciclo while (così non serve utilizzare nessuna ulteriore funzione di libreria: vedi pow() )
    codice:
    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        long int n = 0, t = 0;
        char l = 0, j = 0;
            
        printf("Inserisci un numero intero: ");
        scanf("%d", &n);
                                       
        while (n != 0)
        {
    	t = t * 10 + n % 10;
            n /= 10;
            l++;	
        }
        
                        
        while (t != 0)
        {
    	n = t % 10;
        	printf("%d ", n);
            t /= 10;
            j++;	
        }
    
        while(j<l)
        {
            printf("0 ");
            j++;
        }              
    
        system("pause"); 
        return 0;
    }
    ...Terrible warlords, good warlords, and an english song

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 © 2026 vBulletin Solutions, Inc. All rights reserved.