• User

    Aiuto per un programma javascript

    Eccomi di nuovo a chiedere il vostro aiuto. Quello di cui ho bisogno è una mano a fare un programma, sempre con vettori array, in cui si inseriscono 10 numeri come vettori, in un form di tipo testo, tramite un bottone, si visualizzano questi 10 numeri (interi e positivi). Poi, tramite un altro form testo oppure una finestra di tipo prompt si inserisce un numero e si dovrebbe visualizzare, premendo un altro bottone, in che posizione si trova tra i 10 numeri inseriti.

    Del tipo:
    inserisco 4, 5, 8, 2, 10, 67, 9, 12, 3, 5 come array. Clicco Un bottone e li visualizzo in un campo testo.
    Poi in un altro campo testo o in una finestra prompt inserisco ad esempio: 8 e clicco un bottone.
    Dovrò visualizzare 3° Posizione, in quanto l'8 è il terzo inserito.
    Con un ulteriore bottone, o lo stesso, dovrei anche contare se si ripete, quindi ad esempio:
    8 ----> click bottone -----> 3° posizione e presente solo 1 volta
    Se il numero da cercare tra i vettori non c'è, deve apparire Non Esiste o qualcosa di simile.

    Ecco ciò che ho fatto finora, non riesco a continuare. Per favore, datemi una mano. Grazie

    <html>
    <head>
    <script language="javascript">
    var V=new Array();
    function carica()
    {
    for(I=0;I<=9;I++)
    {
    V*=prompt("Inserisci un numero")
    };
    };
    function vedi(){
    for(I=0;I<=9;I++)
    {
    visualizza.guarda.value=visualizza.guarda.value + " " + String(V*);
    };
    };
    </script>
    </head>
    <body>
    <form name="add">
    <input type="button" name="plus" value="Carica un vettore" onClick="carica()">
    </form>
    <form name="visualizza">
    <input type="text" name="guarda" value="" size ="50" maxlenght="45">
    <input type="button" name="vedere" value="clic per vedere" onClick="vedi()">
    </form>

    <br>

    <form name="ricerca">
    <input type="text" name="cerca" value="" size ="50" maxlenght="45">
    <input type="button" name="search" value="cerca" onClick="cerca()">
    </form>

    </body>
    </html>


  • ModSenior

    Ciao FoundGhost e ben ritrovato... 😄
    Ho riutilizzato un po del codice dell'altra volta... 😄
    Spero non ti dispiaccia... 🙂

    [php]
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Array</title>
    <style type="text/css">
    html,body
    {
    margin:0px;
    padding:0px;
    background:#AAD4FF;
    }
    #tabella
    {
    margin:50px auto 0px auto;
    padding:0px;
    border-collapse:collapse;
    background:#fff;

            }
            td
            {
                border:4px solid #000000;
                vertical-align:middle;
                text-align:center;
                margin:0px;
                padding:10px;            
            }
            #led
            {
                background:#7FFF55;
                height:50px;
                font-size:20px;
                font-weight:bold;
            }
            .numero
            {
                background:#C3C3C3;
                height:50px;
                width:50px;
                text-align:center;
                margin:auto;
                font-size:20px;
                font-weight:bold;
            }
            .pulsante
            {
                background:#D4FFFF;
                font-weight:bold;
                margin:10px;
                font-size:20px;
            }
            #numero_da_cercare
            { 
                width:50px;
            }
        </style>
        <script type="text/javascript">            
            function ottieniArrayValori()
            {
                var numeri = new Array();
                for(indice=1;indice<=10;indice++)
                {
                    var elemento=document.getElementById("num"+indice);
                    valore=elemento.value;
                    if(valore=="")
                    {
                        elemento.value=0;
                        valore=0;
                    }                    
                    numeri[indice]=valore;
                }
                return numeri;
            }                                
            function azzera()
            {
                for(indice=1;indice<=10;indice++)
                {
                    var elemento=document.getElementById("num"+indice);
                    elemento.value=0;    
                }
                var myDivLed=document.getElementById("divled");
                myDivLed.innerHTML="";
            }
            function visualizza()
            {
                var myDivLed=document.getElementById("divled");
                var stringa="";
                for(indice=1;indice<=10;indice++)
                {
                    var elemento=document.getElementById("num"+indice);
                    valore=elemento.value;
                    if(valore=="")
                    {
                        elemento.value=0;
                        valore=0;
                    }
                    if(stringa=="")
                    {
                        stringa=valore;
                    }
                    else
                    {
                        stringa+=" , " + valore;
                    }                    
                }
                myDivLed.innerHTML=stringa;
            }
            function trova()
            {
                var myDivLed=document.getElementById("divled");
                var myNumero=document.getElementById("numero_da_cercare");
                var valore_numero=myNumero.value;
                var posizione=-1;
                var occorrenze=0;
                for(indice=1;indice<=10;indice++)
                {
                    var elemento=document.getElementById("num"+indice);
                    valore=elemento.value;
                    if(valore=="")
                    {
                        elemento.value=0;
                        valore=0;
                    }
                    if(valore==valore_numero)
                    {
                        posizione=indice;
                        occorrenze=occorrenze+1;                        
                    }
                }
                if(occorrenze>0)
                {
                    myDivLed.innerHTML="Trovato in posizione " + posizione+ ", numero occorrenze : " +occorrenze;
                }
                else
                {
                    myDivLed.innerHTML="Nessuna occorrenza!";
                }
            }
        </script>
    </head>
    <body onload="azzera()">
        <table id="tabella">
            <tr>
                <td><input class="numero" type="text" id="num1" /></td>
                <td><input class="numero" type="text" id="num2" /></td>
                <td><input class="numero" type="text" id="num3" /></td>
                <td><input class="numero" type="text" id="num4" /></td>
                <td><input class="numero" type="text" id="num5" /></td>
                <td><input class="numero" type="text" id="num6" /></td>
                <td><input class="numero" type="text" id="num7" /></td>
                <td><input class="numero" type="text" id="num8" /></td>
                <td><input class="numero" type="text" id="num9" /></td>
                <td><input class="numero" type="text" id="num10" /></td>
            </tr>
            <tr>
                <td id="pulsanti" colspan="10">
                    <input class="pulsante" type="button" value="Visualizza" onclick="visualizza()" />
                    <input class="pulsante" type="button" value="Azzera" onclick="azzera()" />
                    <input class="pulsante" type="text" id="numero_da_cercare" name="numero_da_cercare" />
                    <input class="pulsante" type="button" value="Trova" onclick="trova()" />
                </td>
            </tr>    
            <tr>
                <td id="led" colspan="10"><div id="divled" /></td>
            </tr>
        </table>
    </body>
    

    </html>
    [/php]Per semplicità il programma indica l'ultima occorrenza del numero spero vada bene lo stesso, in caso contrario credo che con una lieve modifica si possa trovare la prima.


  • User

    È perfetto, come sempre! ;D Grazie mille!! Potresti solo, se non è di troppo disturbo, provare a farmelo con semplice codice html/javascript? Più o meno come l'avevo fatto io, senza interfaccia grafica così bella 😄
    Solo se ti va ovviamente! Grazie ancora!! 🙂


  • ModSenior

    Dici mettere in un vettore 10 numeri.
    Poi con un pulsante fa un alert dei 10 numeri per visualizzare, e con un altro un input per domandare l'occorrenza?


  • User

    Più o meno, Fai un tasto per in serire i vettori in input. Sarebbe un ciclo for da 1 a 10 e apre 10 finestre, una alla volta, in cui inserire 10 numeri. Poi un campo testo dove se clicchi un tasto appaiono i 10 numeri scritti. Poi la cosa della posizione la stessa.
    Solo esemplificare il programma. Guarda la parte che ho incollato nel primo post del programma, provala e vedi come è fatta


  • ModSenior

    Una cosa del genere dici?

    [php]
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Array</title>
    <style type="text/css">
    html,body
    {
    margin:0px;
    padding:0px;
    background:#AAD4FF;
    }
    #tabella
    {
    margin:50px auto 0px auto;
    padding:0px;
    border-collapse:collapse;
    background:#fff;

            }
            td
            {
                border:4px solid #000000;
                vertical-align:middle;
                text-align:center;
                margin:0px;
                padding:10px;            
            }
            #led
            {
                background:#7FFF55;
                height:50px;
                font-size:20px;
                font-weight:bold;
            }
            .numero
            {
                background:#C3C3C3;
                height:50px;
                width:50px;
                text-align:center;
                margin:auto;
                font-size:20px;
                font-weight:bold;
            }
            .pulsante
            {
                background:#D4FFFF;
                font-weight:bold;
                margin:10px;
                font-size:20px;
            }
            #numero_da_cercare
            { 
                width:50px;
            }
        </style>
        <script type="text/javascript">    
            var numeri = new Array();        
            function caricaNumeri()
            {                
                for(indice=1;indice<=10;indice++)
                {                
                    numeri[indice]=prompt("Inserisci il numero", "0");
                }    
            }        
            function visualizza()
            {
                var myDivLed=document.getElementById("divled");
                var stringa="";
                for(indice=1;indice<=10;indice++)
                {
                    var valore=numeri[indice];                    
                    if(stringa=="")
                    {
                        stringa=valore;
                    }
                    else
                    {
                        stringa+=" , " + valore;
                    }                    
                }
                myDivLed.innerHTML=stringa;
            }
            function trova()
            {
                var myDivLed=document.getElementById("divled");
                var valore_numero=prompt("Inserisci il numero da cercare", "0");
                var posizione=-1;
                var occorrenze=0;
                for(indice=1;indice<=10;indice++)
                {
                    var valore=numeri[indice];                
                    if(valore==valore_numero)
                    {
                        posizione=indice;
                        occorrenze=occorrenze+1;                        
                    }
                }
                if(occorrenze>0)
                {
                    myDivLed.innerHTML="Trovato in posizione " + posizione+ ", numero occorrenze : " +occorrenze;
                }
                else
                {
                    myDivLed.innerHTML="Nessuna occorrenza!";
                }
            }
        </script>
    </head>
    <body onload="azzera()">
        <table id="tabella">        
            <tr>
                <td id="pulsanti" colspan="10">
                    <input class="pulsante" type="button" value="Carica" onclick="caricaNumeri()" />
                    <input class="pulsante" type="button" value="Visualizza" onclick="visualizza()" />
                    <input class="pulsante" type="button" value="Trova" onclick="trova()" />
                </td>
            </tr>    
            <tr>
                <td id="led" colspan="10"><div id="divled" /></td>
            </tr>
        </table>
    </body>
    

    </html>
    [/php]


  • User

    Purtroppo questa versione non funziona proprio, no capisco perchè... Comunque non fa niente, grazie lo stesso!! :DDD


  • ModSenior

    Strano a me funziona... 🙂
    Con che browser lo stai guardando?
    Io lo ho testato sia con Firefox che con IE e funziona...
    Non è che non hai abilitato in IE l'uso degli Script? 😄


  • User

    Appena riprovato... Uso Firefox su Mac... Ma vabbè, non fa niente 🙂 Grazie per tutto!!! 😄


  • ModSenior

    Ok Mistero... 🙂