COME SI SCRIVE QUESTO CODICE?? grzie

di il
13 risposte

COME SI SCRIVE QUESTO CODICE?? grzie

Mi servirebbe fare in modo che quando inserisco un numero (Cout<<"inserisci numero")per esempio inserisco 12345..vorrei che ad ogni numero venga assegnata una variabile..quindi 1=a,2=b ecc..si puo fare??
grz

13 Risposte

  • Re: COME SI SCRIVE QUESTO CODICE?? grzie

    Vuoi inserire 5 numeri diversi?
    Utilizza un vettore di 5 elementi ed esegui l'input in un ciclo.
  • Re: COME SI SCRIVE QUESTO CODICE?? grzie

    Si, con un vettore sarebbe funzionale, ma non comodo (per quello che immagino voglia fare info3000).
    Ricordo che nelle prime settimane di scuola mi insegnarono a "scompattare" un numero a più cifre in cifre più piccole. Uhm, provo un attimo poi ti dico.
  • Re: COME SI SCRIVE QUESTO CODICE?? grzie

    oregon ha scritto:


    Vuoi inserire 5 numeri diversi?
    Utilizza un vettore di 5 elementi ed esegui l'input in un ciclo.
    il numero delle cifre puo anche cambiare..quindi anche 11212 oppure 12345678..dipende dai numeri inseriti..come posso fare?
  • Re: COME SI SCRIVE QUESTO CODICE?? grzie

    Ecco, questo sarebbe il codice (io uso C, ma puoi facilmente tradurlo in c++).
    #include <stdio.h>

    main()
    {
    int num, a, b, c, d;
    scanf("%d",&num);
    a=num/1000;
    num=num-(a*1000);
    b=num/100;
    num=num-(b*100);
    c=num/10;
    num=num-(c*10);
    d=num/1;
    printf("a=%d, b=%d, c=%d, d=%d",a,b,c,d);

    }

    Così riesci a "scompattare" il numero.
    Se poi vuoi variare, chiedi all'inizio la lunghezza oppure calcola la lunghezza del numero e poi fai agire di conseguenza. Ovviamente ti ho dato il codice con tutti i passaggi, ma puoi facilmente farlo con un for.
  • Re: COME SI SCRIVE QUESTO CODICE?? grzie

    mooncroc ha scritto:


    Si, con un vettore sarebbe funzionale, ma non comodo
    Scusa ma sarebbe "comodo" con delle variabili e non con un vettore? Stai scherzando ?
  • Re: COME SI SCRIVE QUESTO CODICE?? grzie

    Dipende da cosa deve fare. Se sono tutti valori tra loro, come dire, indifferenti, imho è più comodo usare delle variabili.
  • Re: COME SI SCRIVE QUESTO CODICE?? grzie

    indifferenti
    Nel caso specifico non lo sono (sono tutte cifre di un unico numero) ma, in generale, chi lavora in C da almeno due settimane, non può suggerire di usare più variabili al posto di un vettore ... il codice diventa assurdo, lunghissimo e contorto.

    Del resto l'hanno inventato appositamente gli array ...
  • Re: COME SI SCRIVE QUESTO CODICE?? grzie

    Cmq nel mio caso mi servirebbe che se scrivo per esempio 1214,
    ad 1 verrebbe assegnata la variabile A,a 2 la variabile b..ecc
    quindi:
    A=1
    B=2
    C=1
    D=4
    ogni variabile a me serve per..se A è uguale a 1 allora scrivi "uno"..se A è uguale a 2 allora scrivi "due" ecc (questo so farlo..solo che non so fare come assegnare la variabile ai numeri :/)
  • Re: COME SI SCRIVE QUESTO CODICE?? grzie

    Non serve avere più variabili diverse, ripeto, lo fai con i vettori e tratti gli elementi di un vettore come se fossero singole variabili. Per la suddivisione del numero puoi operare con il codice che ti è stato suggerito sostituendo gli elementi del vettore alle variabili.

    Se poi non vuoi seguire il suggerimento, okay ...
  • Re: COME SI SCRIVE QUESTO CODICE?? grzie

    oregon ha scritto:


    Non serve avere più variabili diverse, ripeto, lo fai con i vettori e tratti gli elementi di un vettore come se fossero singole variabili. Per la suddivisione del numero puoi operare con il codice che ti è stato suggerito sostituendo gli elementi del vettore alle variabili.

    Se poi non vuoi seguire il suggerimento, okay ...
    voglio seguirlo...pero non ho capito come si fa. cmq ho scritto il codice suggerito pero se ad esempio scrivo 123456789..esce scritto a=123456 b=7 c=8 d=9
  • Re: COME SI SCRIVE QUESTO CODICE?? grzie

    Ovviamente perché avrai più cifre e il codice dovrebbe allungarsi per gestire le altre variabili.
    Per questo devi usare un vettore, nel limite dei valori interi.
    Studia questo codice d'esempio
    
    	int num, ix=0;
    	int cif[9] = {0};
    
    	scanf("%d", &num);
    
    	while(num)
    	{
    		cif[ix++]=num % 10;
    		num /= 10;
    	}
    
    	while(ix--)
    		printf("%d ", cif[ix]);
    
  • Re: COME SI SCRIVE QUESTO CODICE?? grzie

    Info3000 ... come è finita? Apri le discussioni e non si sa come vanno a finire?
  • Re: COME SI SCRIVE QUESTO CODICE?? grzie

    oregon ha scritto:


    info3000 ... come è finita? Apri le discussioni e non si sa come vanno a finire?
    ho fatto diversamente cambiando proprio funzioni..grz lo stesso
Devi accedere o registrarti per scrivere nel forum
13 risposte