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

    Contare terne in una matrice

    Salve ragazzi io ho creato una matrice con dei numeri casuali e avrei bisogno di contare le terne (tre numeri uguali uno affianco all'altro) che ci sono nella matrice, c'è un modo veloce per farlo??

    la matrice che ho creato è così:

    matrice=new Array(righe)
    for(i=0; i<righe; i++)
    {
    matrice[i]= new Array(colonne)
    }
    //inserisco
    for(r=0; r<matrice.length; r++)
    {
    for(c=0; c<matrice[r].length; c++)
    {
    matrice[r][c]=parseInt(Math.random()*numimm);
    }
    }

  2. #2
    numimm=10



    Allora nessuno ? :S

  3. #3
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Specificare "affianco"
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  4. #4
    per esempio i numeri nella matrice sono:

    123111
    325461
    527689

    i numeri evidenziati in rosso sono le terne che intendo io

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998

    Re: Contare terne in una matrice

    Originariamente inviato da freestyler92
    c'è un modo veloce per farlo??
    No, dovrai crearti un algoritmo apposito
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  6. #6
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Originariamente inviato da freestyler92
    c'è un modo veloce per farlo??
    C'è, ma non mi piacciono le scorciatoie... Cmq, per ogni riga:

    codice:
    tuaRiga = [1, 2, 3, 1, 1, 1]; // immaginiamo sia questa...
    
    cerca = tuaRiga.join("").match(/000|111|222|333|444|555|666|777|888|999/g);
    
    numero += cerca ? cerca.length || 0;
    Magari salvati l'espressione regolare fuori dal ciclo, altrimenti l'interprete dovrà parsarla a ogni giro... Così:

    codice:
    var rPattern = /000|111|222|333|444|555|666|777|888|999/g;
    e dentro il ciclo:

    codice:
    ...
    
    cerca = tuaRiga.join("").match(rPattern);
    
    ...


    P.S. Ovviamente se hai numeri a due cifre tutto il gioco salta e dovrai seguire altre vie.

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da carlomarx
    Cmq, per ogni riga:
    e per le colonne?
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  8. #8
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Originariamente inviato da br1
    e per le colonne?
    Ooops.. era tardi e non mi ero accorto dell'evidenziazione della colonna

    @freestyler92
    Ti toccherà faticare...

  9. #9
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    No, forse c'è addirittura una soluzione senza cicli... ma adesso devo scappare. Più tardi ci penso

  10. #10
    Originariamente inviato da carlomarx
    C'è, ma non mi piacciono le scorciatoie... Cmq, per ogni riga:

    codice:
    tuaRiga = [1, 2, 3, 1, 1, 1]; // immaginiamo sia questa...
    
    cerca = tuaRiga.join("").match(/000|111|222|333|444|555|666|777|888|999/g);
    
    numero += cerca ? cerca.length || 0;
    Magari salvati l'espressione regolare fuori dal ciclo, altrimenti l'interprete dovrà parsarla a ogni giro... Così:

    codice:
    var rPattern = /000|111|222|333|444|555|666|777|888|999/g;
    e dentro il ciclo:

    codice:
    ...
    
    cerca = tuaRiga.join("").match(rPattern);
    
    ...


    P.S. Ovviamente se hai numeri a due cifre tutto il gioco salta e dovrai seguire altre vie.
    Non ho capito benissimo, sopratutto questa parte: "numero += cerca ? cerca.length || 0;"

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