Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Ricerca di Stringa dentro ad una matrice

    Salve ragazzi ho un altro problema, ho la mia matrice quadrata della quale conosco la dimensione e gli elementi caricati all'interno.
    Come posso fare per scorrerla e trovare la stringa da cercare?

    la matrice contiene un carattere soltanto es:

    v[0][0] = "a"
    v[0][1] = "b"
    v[1][0] = "c"
    v[1][1] = "d"

    ho provato a fare una cosa del genere....

    codice:
    for (int i = 0; i < dimensionematrice ; i++) {// ciclo righe
     for (int j = 0; j < dimensionematrice; j++) {// ciclo colonne  
    for (int k = 0; k < y.length(); k++) { 	
    if (paroladacercare.charAt(k) + "" == arr[i][j]) {  
    	System.out.println(paroladacercare);  
    						} 
    } 				
    } 
    			}
    Grazie

  2. #2
    codice:
    public class matrix {
    	public static void main(String args[]){
    		char [][]m = new char[2][2];
    		m[0][0] = 'a';
    		m[0][1] = 'b';
    		m[1][0] = 'c';
    		m[1][1] = 'd';
    		String serch = "bc";
    		int k = 0;
    		boolean found = false;
    		for (int i = 0; i < m.length; i++){
    			for (int j = 0; j < m[i].length; j++){
    				if(k < serch.length()){
    					if (serch.charAt(k) == m[i][j]){
    						k++;
    					}
    					else{
    						k = 0;
    					}
    				}
    				else
    					found = true;
    			}
    			System.out.print("\n");
    		}
    		System.out.print(found);
    	}
    }
    ecco a te, ovviamente può essere ottimizzato! ma non mi ci sono applicato molto!

    Se vuoi, prova a farlo con la ricorsione!

  3. #3
    così non funziona, mi restituisce una serie di spazi, e poi sempre false per ogni elemento della array list.

  4. #4
    Mi correggo, funziona perfettamente avevo messo male un po' di cose.... grazie mille

    (colpa della tarda ora, chiedo venia )

    PS: se volessi cercare per obliquo? esempio...

    ho una matrice:

    qwert
    asdfg
    zxcvb

    e voglio trovare "zse"?

  5. #5
    fai la stessa cosa solo che la ricerca la sposti su diagonale e non su riga

  6. #6
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: Ricerca di Stringa dentro ad una matrice

    Originariamente inviato da Fixxxer393

    codice:
    for (int i = 0; i < dimensionematrice ; i++) {// ciclo righe
     for (int j = 0; j < dimensionematrice; j++) {// ciclo colonne  
    for (int k = 0; k < y.length(); k++) { 	
    if (paroladacercare.charAt(k) + "" == arr[i][j]) {  
    	System.out.println(paroladacercare);  
    						} 
    } 				
    } 
    			}
    Correttezza dell'algoritmo a parte, gli array hanno il campo length, usa quello al posto di dimensionematrice. La riga paroladacercare.charAt(k) + "" == arr[ i ][ j ] non ha alcun senso (le stringhe non si confrontano con == ma con equals. Rivedi l'indentazione, non si capisce nulla
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  7. #7
    Originariamente inviato da Dr_House
    fai la stessa cosa solo che la ricerca la sposti su diagonale e non su riga
    ho provato a fare così:


    codice:
    int a = 0; 						
    boolean found = false;
    for (int i = m.length; i == 0; i--){ 	
    for (int j = m[i].length; j == 0; j--){ 
    if(a < paroladacercare.length()){
    if (paroladacercare.charAt(k3) == m[i+a][j-a]){ 
    k3++;														}								else{ 										
    k3 = 0; 									} 								} 								
    else 	
    				
    found = true; 						
    } 						
    } 						
    if (found == true){System.out.print("trovato " + "\n"); 						}
    così ho cercato di trovare trovare una stringa verso l'alto e verso sinistra esempio:

    A O O E K
    P L A S D
    D A F I W
    A S D F C


  8. #8
    ok, ho risolto grazie mille lo stesso

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.