Inversione caratteri in array

di il
13 risposte

Inversione caratteri in array

Ciao a tutti,
ho alcuni dati scritti in questo modo:
[ [ 9.215623588842393, 45.48600286873571 ], [ 9.215751945599647, 45.486016409859815 ],.....]
ma per utilizzarli li ho bisogno invertiti cioè dove c'è il 9 deve esserci riportato il 45 (per tutti i blocchi tra parentesi quadre)
es
[ [45.48600286873571, 9.215623588842393 ], [ 45.486016409859815, 9.215751945599647 ],.....]

mastico un po' di C e pensavo di utilizzare un programma ideato per invertire le parole di una frase (es ciao a tutti-->tutti a ciao)
ma riscontro problemi nella dichiarazione dell'array in quanto i dati cominciano con 2 parentesi quadre ma per dichiarare gli array occorrono parentesi graffe.
non posso sostituire a mano tutte le parentesi perchè le righe di dati sono molto lunghe, qui ne ho riportato un piccolo pezzettino.

avete qualche idea su come possa procedere?
anche altre idee oltre il C, basta che esista un modo per invertirli...

Grazie

13 Risposte

  • Re: Inversione caratteri in array

    Ma i dati sono in un array di double?
  • Re: Inversione caratteri in array

    I dati sono delle coordinate, fanno parte di un file .Json
    da come la vedo mi sembra un grosso array con dentro tanti altri array che contengono elementi double
  • Re: Inversione caratteri in array

    Visto anche l'altro thread e visto l'obiettivo finale, mi sa che te la devi cavare da solo con tanto tanto studio, non ti si può seguire su un forum con argomenti così vasti.

    Cerca come deserializzare un JSON, linguaggio consigliato Java
  • Re: Inversione caratteri in array

    Vuoi scritto tutto il codice che legge il json? E tu cosa fai?
  • Re: Inversione caratteri in array

    Weierstrass ha scritto:


    Visto anche l'altro thread e visto l'obiettivo finale, mi sa che te la devi cavare da solo con tanto tanto studio, non ti si può seguire su un forum con argomenti così vasti.

    Cerca come deserializzare un JSON, linguaggio consigliato Java
    a settembre inizierò un corso java nel frattempo sta cominciando a familiarizzare con la logica mediante l'utilizzo di applicativi quali app inventor e simili e sto sviluppando un'idea che avevo da un po'.
    non sto chiedendo di spiegarmi filo per segno cosa devo fare ma un aiuto a "che logica usare".
    ho apprezzato i due link che mi hai postato nell'altro posto non li conoscevo quei due algoritmi, Grazie!
  • Re: Inversione caratteri in array

    oregon ha scritto:


    Vuoi scritto tutto il codice che legge il json? E tu cosa fai?
    non mi pare di aver scritto di voler alcun codice già fatto.
    I file .Json già li so leggere e so estrapolare le informazioni che mi interessano.
    nel file infatti so estrapolare correttamente la stringa delle coordinate, il problema è che latitudine e longitudine nel file Json sono invertite e con il post chiedevo semplicemente un aiuto su come possa agire per invertirle, non voglio la pappa pronta.
    So che sono domande un po' vaste ma essendo problemi poco comuni non so dove e cosa cercare
  • Re: Inversione caratteri in array

    Quindi la parte che legge il file json l'hai fatto. Partiamo da quella
  • Re: Inversione caratteri in array

    @Acronlab non e' chiaro il problema:

    PERCHE' vuoi invertire l'ordine delle coordinate?
    PERCHE' ragioni in termini di stringhe e non in termini di vettori?

    Poiche' hai detto che sai leggere un document JSON,

    PERCHE' hai problemi ad invertire le coordinate?

    Ci sono un sacco di PERCHE' che non ci dovrebbero essere per potre affrontare il problema che hai descritto.
    Ti mancano un sacco di conoscenze FONDAMENTALI.

    In pratica, NON HAI STUDIATO
  • Re: Inversione caratteri in array

    migliorabile ha scritto:


    @Acronlab non e' chiaro il problema:

    PERCHE' vuoi invertire l'ordine delle coordinate?
    PERCHE' ragioni in termini di stringhe e non in termini di vettori?

    Poiche' hai detto che sai leggere un document JSON,

    PERCHE' hai problemi ad invertire le coordinate?

    Ci sono un sacco di PERCHE' che non ci dovrebbero essere per potre affrontare il problema che hai descritto.
    Ti mancano un sacco di conoscenze FONDAMENTALI.

    In pratica, NON HAI STUDIATO
    ripeto anche qui, no non ho studiato ancora il java, sto utilizzando app inventor per raggiungere il mio obiettivo, a settembre inizierò un corso specifico per il java ma ormai l'applicazione l'ho iniziata e mi piacerebbe portarla a termine.
    voglio invertire le coordinate perchè sono scritte al contrario, prese così come sono e incollate in google maps mandano in Somalia anzichè Milano.
    ho parlato di stringa perchè è quello che realmente sono riuscito ad estrarre, ho estratto il mega vettore come fosse una stringa ed è proprio il formato che mi occorre .
    app inventor prende la stringa di coordinate così com'è e la legge, generando dei markers su mappa in somalia anzichè Milano.
    per questo motivo cercavo un modo per invertire le coordinate in modo da risolvere il problema.
    Ho provato con il C che è l'unico linguaggio che mastico un po' in quanto l'ho fatto in università ma durante la dichiarazione del vettore va in confusione per via delle parentesi quadre.
  • Re: Inversione caratteri in array

    Ci fai vedere il codice c che legge dal json o no?

    O non c'è nessun codice c? Non ho capito...
  • Re: Inversione caratteri in array

    Scarica Netbeans e inizia da già oggi con Java.
    La parte di inversione della stringa è facile
    
    package javaapplicationswap;
    
    public class JavaApplicationSwap {
        public static void main(String[] args) {
            int i;
            String input = "[ [ 9.215623588842393, 45.48600286873571 ], [ 9.215751945599647, 45.486016409859815 ] , [ 9.315751945599647, 45.586016409859815 ] ]";
            input = input.replace("[", "").replace("]", "").replace(" ", "");      
            String[] s = input.split(","); 
            Double[] posizione = new Double[s.length];
            for(i = 0; i < s.length; i++)
                if(i % 2 == 0)
                    posizione[i] = Double.valueOf(s[i + 1]);
                else
                    posizione[i] = Double.valueOf(s[i - 1]);                       
            String output = "{ { ";
            for(i = 0; i < s.length - 1; i++)
                if(i % 2 == 0)
                    output = output + posizione[i] + ", ";
                else 
                    output = output + posizione[i] + " }, { ";
            output = output + posizione[i] + " } } ";    
            System.out.println(output);            
        }  
    }
    
    A te completare il codice con lettura dei file e salvataggio con coordinate invertite più tutto quello che ti serve. E' pieno di esempi sul forum
  • Re: Inversione caratteri in array

    oregon ha scritto:


    Ci fai vedere il codice c che legge dal json o no?

    O non c'è nessun codice c? Non ho capito...
    non c'è un vero e proprio codice, è una "programmazione" a blocchi.
  • Re: Inversione caratteri in array

    Weierstrass ha scritto:


    Scarica Netbeans e inizia da già oggi con Java.
    La parte di inversione della stringa è facile
    
    package javaapplicationswap;
    
    public class JavaApplicationSwap {
        public static void main(String[] args) {
            int i;
            String input = "[ [ 9.215623588842393, 45.48600286873571 ], [ 9.215751945599647, 45.486016409859815 ] , [ 9.315751945599647, 45.586016409859815 ] ]";
            input = input.replace("[", "").replace("]", "").replace(" ", "");      
            String[] s = input.split(","); 
            Double[] posizione = new Double[s.length];
            for(i = 0; i < s.length; i++)
                if(i % 2 == 0)
                    posizione[i] = Double.valueOf(s[i + 1]);
                else
                    posizione[i] = Double.valueOf(s[i - 1]);                       
            String output = "{ { ";
            for(i = 0; i < s.length - 1; i++)
                if(i % 2 == 0)
                    output = output + posizione[i] + ", ";
                else 
                    output = output + posizione[i] + " }, { ";
            output = output + posizione[i] + " } } ";    
            System.out.println(output);            
        }  
    }
    
    A te completare il codice con lettura dei file e salvataggio con coordinate invertite più tutto quello che ti serve. E' pieno di esempi sul forum
    Perfetto! inizio subito a guardarmi java.
    noto una certa somiglianza con la sintassi del C.

    Grazie mille per l'incipit
Devi accedere o registrarti per scrivere nel forum
13 risposte