- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- Aiuto per un programma javascript
-
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>
-
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.
-
È 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!!
-
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?
-
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
-
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]
-
Purtroppo questa versione non funziona proprio, no capisco perchè... Comunque non fa niente, grazie lo stesso!! :DDD
-
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?
-
Appena riprovato... Uso Firefox su Mac... Ma vabbè, non fa niente Grazie per tutto!!!
-
Ok Mistero...