Visualizzazione dei risultati da 1 a 9 su 9

Discussione: [java] problema array

  1. #1

    [java] problema array

    Innanzitutto chiedo ai mod di eliminare l'altro post che ormai ho risolto. Ora ho un problema con un array. Sarà l'ora ma nn riesco a trovare una soluzione. In pratica ho un array che rappresenta una fila di un pixel di un'immagine in bianco e nero. In pratica i valori possono essere o 0 o 255. Il mio problema è questo. In pratica devo cercare all'interno dell'array una sequenza di x valori uguali con x da scegliere. alla fine mi servirebbe sapere l'inizio e la fine di questa sequenza. come posso fare?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [java] problema array

    Originariamente inviato da gogetassj4dp
    Innanzitutto chiedo ai mod di eliminare l'altro post che ormai ho risolto. Ora ho un problema con un array. Sarà l'ora ma nn riesco a trovare una soluzione. In pratica ho un array che rappresenta una fila di un pixel di un'immagine in bianco e nero. In pratica i valori possono essere o 0 o 255. Il mio problema è questo. In pratica devo cercare all'interno dell'array una sequenza di x valori uguali con x da scegliere. alla fine mi servirebbe sapere l'inizio e la fine di questa sequenza. come posso fare?
    Immagino una sequenza "contigua" dello stesso valore. Hai bisogno di qualche variabile. Una variabile che fa da contatore, una che tiene l'indice di inizio (quello di fine lo puoi poi ricavare). E chiaramente la variabile per l'indice di scansione nell'array.

    quando trovi 2 elementi uguali (all'indice corrente e a quello precedente) incrementi il contatore. Al primo match imposti la variabile di inizio che è l'indice precedente e il contatore a 2. Appena non trovi più un match la sequenza è finita.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    te la butto così l'idea...in pseudo codice...non so nemmeno se funzioni:P
    Codice PHP:
    for (int i=0i<(array_da_testare.length array_dei_tester.length); i++){
        
    System.out.println("Parto dall'elemento"+i);
        
    int scandisco=i;
        for (
    int j=0j<array_dei_tester.lengthj++){
            
    System.out.println("\tConfronto array_da_testare["+scandisco+"] con array_dei_tester["+j+"]");
            
    scandisco++;
        }

    prova ad avviarlo e vedi se fa al caso tuo....idee migliori al momento non me ne vengono

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  4. #4
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    te la butto così l'idea...in pseudo codice...non so nemmeno se funzioni:P
    Non è pseudocodice... e credo che quanto scritto da andbin meriti una lettura più attenta.
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  5. #5
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    lo sò...poi l'ho fatto con java...e non ho cancellato quanto avevo già scritto nella textarea del forum
    io l'ho fatto così! si può migliorare molto probabilmente ma mi funziona.
    credo che cmq il suo problema fosse nella scansione degli array...
    Codice PHP:
            int[] array_da_testare = new int[]{53298412,5};
            
    int[] array_da_tester = new int[]{845};
            
    boolean trovato false;
            for (
    int i=0; (i<array_da_testare.length array_da_tester.length) && !trovatoi++){
                
    int scandisco=i;
                
    boolean flag false;
                
    int corrispondenze 0;
                for (
    int j=0; (j<array_da_tester.length && !flag); j++){
                    if(
    array_da_testare[scandisco] != array_da_tester[j]){
                        
    flag true;
                        }
                    else{
                        
    corrispondenze++;
                        
    scandisco++;
                    }
                    if (
    corrispondenze == array_da_tester.length){
                        
    trovato=true;
                        
    System.out.println("Ho trovato una corrispondenza!");
                        
    System.out.println("Inizio: "+i);
                        
    System.out.println("Fine: "+(i+array_da_tester.length-1));
                    }
                }
            } 

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da oronze
    int[] array_da_testare = new int[]{5, 3, 2, 9, 8, 4, 12, 6 ,5};
    int[] array_da_tester = new int[]{8, 4, 5};
    Scusa ma .. io da quanto ho capito, non vuole cercare la occorrenza di un array in un altro array ma una sequenza di n valori uguali!
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    Originariamente inviato da andbin
    Scusa ma .. io da quanto ho capito, non vuole cercare la occorrenza di un array in un altro array ma una sequenza di n valori uguali!
    allora non ho capito nulla io
    vabbè, poco male....al massimo può usare il mio script con un inutilissimo spreco di risorse

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  8. #8
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Già che ci sono, esprimo anch'io un mio dubbio:

    Il mio problema è questo. In pratica devo cercare all'interno dell'array una sequenza di x valori uguali con x da scegliere
    Quel valore x è definito a priori oppure deve essere deciso in fase di esecuzione?
    Per me non sarebbe insensato se x dovesse essere un valore tale che:
    - sia all'interno di un certo range
    - renda massima la lunghezza della sequenza xxxxxxx

    Nel qual caso basterebbe aggiungere una variabile per ricordarsi a quale valore x corrisponde la sequenza massima più lunga.
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  9. #9
    innazitutto grazie a tutti per le risposte. Cmq nn devo trovare l'occorrenza di un array in un altro ma una sequenza uguale all'interno dello stesso. In teoria la sequenza dovrebbe essere variabile, nel senso che devo trovare la sequenza massima uguale. però ora nel mio programma mi sono limitato ad un numero fisso. cmq grazie a tutti per gli aiuti, vedo cosa riesco a ricavare e al massimo chiedo ulteriore aiuto. grazie mille ancora

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