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

    [C] Array di cifre

    Vi espongo il dubbio,
    Devo dare in input un numero naturale e rappresentarlo tramite array:
    quindi se in input schiaffo 343, l'array dovrà contenere i numeri "tre" "quattro" e "tre" in varie "caselle" dll'array. Dovrà essere quindi un array di cifre che rappresenta il numero.
    Come posso fare?

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    ti fai dare in input il numero come stringa, calcoli la sua lunghezza crei un array con quella lunghezza, scorri la stringa ed ogni numero lo metti in una cella dell'array

  3. #3
    scusa ma se io faccio dare in input 300 e lo faccio leggere come stringa, non me lo legge come elemento unico formato da tre caratteri?

  4. #4
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565
    fai una cosetta del genere

    codice:
    //Supponiamo un numero di 4 cifre, ogni cifra max 4 lettere. stringa è il numero preso da input.
    char p[4][4];
    for (int i = 0; i < strlen(stringa); i++)
    {
         switch(stringa[i])
           {
              case 0:
               strcpy(p[i]),"zero");
              case 1:
                //e continui cosi
           }
    }
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  5. #5
    scusate ma sono molto nuovo del C io ho fatto questa piccola cosa per verificare se copia bene i caratteri nell'array, quindi ho provato a stamparne uno a caso dell'array

    codice:
    #include <stdio.h>
    #include <string.h>
    
    main(){
    int i;
    char numero1[19];
    int array_num[20];
    
    printf("Inserisci il primo numero\n");
    scanf("%d",numero1);
    
    for(i=0; numero1[i]!=' \0 '; i++);   
    array_num[i]=numero1[i];
    
    printf("\n%d\n", array_num[0]);
    
    
    getchar;
    getchar;
    }
    purtroppo non va...potreste dirmi dove ho sbagliato?

  6. #6
    Mamma mia ! VVoVe: Ma che hai scritto ?
    codice:
    #include <stdio.h>
    #include <string.h>
    
    #define MAX_ARRAY 8
    
    int main()
    {
    	int  len, i;
    	int  array_num[MAX_ARRAY];
    	char str[MAX_ARRAY];
    
    	printf("Inserisci il primo numero\n");
    	scanf("%s", str);
    
    	for( len=0; str[len]>='0' && str[len]<='9' && len<MAX_ARRAY; len++)
    		array_num[len]=str[len]-'0';
    
    	printf("\n\nMostro contenuto array\n");
    	for( i=0; i<len; i++)
    		printf("%d,", array_num[i]);
    	printf("\n");
    	getchar();
    	return 0;
    }
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  7. #7
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565
    Ma il mio codice va bene oppure no?
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  8. #8
    Il tuo codice potrebbe andare, (anche se mancano i break )
    ma credo che l'array debba essere di interi, non di stringhe ...
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  9. #9
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565
    già.
    si dovevano quindi mettere gli apici giusto?
    codice:
    case '0':
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  10. #10
    Si, ma intendevo l'array finale dove inserire le cifre, credo, debba essere di interi.
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

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.