Convertire stringa in array numerico

di il
8 risposte

Convertire stringa in array numerico

Ho un problema,,, Non riesco a convertire una stringa in un array numerico.. ho provato con la funzione atoi ,ma atoi converte la stringa in un intero ad esempio se io inserisco 1234 con con atoi riesco ad avere l' intero 1234... ma siccome mi servono le singole cifre 1, 2 ,3 ,4 mi servirebbe l'array di interi e non l'intero...Comunque la stringa la sto passando al programma con argv[]..
Grazie in anticipo

8 Risposte

  • Re: Convertire stringa in array numerico

    In input hai più valori come

    10 20 30

    o hai una sola stringa

    1234

    e vuoi ottenere le singole cifre?

    E usi una string di C++ o un array di char del C ?
  • Re: Convertire stringa in array numerico

    Io dovrei far partire il programma da riga di comando cosi... ad esempio ./out (che e l 'eseguibile del programma) e poi 1234 5678 ...Poi queste due stringhe le dovrei convertire in due vettori numerici , perche mi servono per fare il prodotto scalare...quindi una volta convertite devo fare 1*5 + 2*6 + 3*7 ecc ...
    Il mio problema sta proprio nel convertire la stringa passata all'inizio in un vettore...
  • Re: Convertire stringa in array numerico

    Alloca dinamicamente un vettore in base alla lunghezza della stringa in input. Poi con un ciclo per ogni carattere della stringa converti il carattere sottraendo 48 dal suo valore ascii. Prova a scrivere il codice e ne parliamo.
  • Re: Convertire stringa in array numerico

    Perché due cicli? Ne basta uno ...
  • Re: Convertire stringa in array numerico

    Ho scritto questo
    int parser(int argc, char *argv[]) {
    
    
            int i = 0, a,vet1[4];
    
    
            for(i = 0; i < 4; i++) {
    
                    a = argv[1][i] - 48;
                    printf(" %d\n", a);
                    vet1[i] = a;
            }
    
    }
    
    Pero cosi ho un problema,.. essendo questa una funzione del main io la richiamo tante volte quanti sono gli argomenti...solo che in questo modo funziona solo con argv[1] come posso fare per farla valere sempre?
  • Re: Convertire stringa in array numerico

    Non ho capito ... cosa intendi?

    Vuoi scrivere una funzione da richiamare? Passale la stringa dell'argomento ...
  • Re: Convertire stringa in array numerico

    Nel senso io dovrei inserire due argomenti argv[1] e argv[2] e la funzione che ho fatto dovrebbe funzionare per entrambi ma non è cosi...perche la prima volta che chiamo la funzione dal main funziona perche c' è argv[1](Nel codice che ho messo) ma la seconda volta che richiamo la funzione non va bene piu perche c'e sempre argv[1]..Non mi viene in mente nessuna modifica da fare per far si che sia utilizzabile per piu argomenti
  • Re: Convertire stringa in array numerico

    Non ho capito ... mi sembra che ti basterebbe scrivere

    argv[j]

    in cui j va da 1 a 2 ... ma mi sembra troppo semplice ... forse mi sfugge qualcosa del tuo problema.
Devi accedere o registrarti per scrivere nel forum
8 risposte