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

    ricerca valore massimo in un vettore- errore nel codice

    salve
    a scuola il professore di informatica ci ha fatto scrivere l'esercizio riportato sotto per ricercare il valore massimo in un vettore,ma provandolo a casa non corrisponde al risultato richiesto.ho parlato con il professore e mi ha detto che l'esercizio è giusto così e non ha voluto provarlo insieme. quest'anno devo affrontare la maturità ed, avendo informatica esterna, vorrei avere dei chiarimenti da voi in modo da non fare brutte figure all'esame. molto probabilmente è un errore banale ma da sola non lo sono riuscita ad individuare.
    aspetto un vostro aiuto


    <html>
    <head> <title>ricerca di elementi </title>
    <script>
    function aggiungiInput()
    { var dimensione=document.forms["strumenti"]["txtquanti"].value;

    for (n=0; n<dimensione; n=n+1)
    {
    testo="numero "+n;
    var formNumeri=document.getElementById("numeri");
    var elementoP=document.createElement("P");
    var elementoT=document.createTextNode(testo);
    var elementoI=document.createElement("INPUT");
    formNumeri.appendChild(elementoP);
    elementoP.appendChild(elementoT);
    elementoP.appendChild(elementoI);
    elementoI.type="text";
    elementoI.name="txtnumero"+n;
    }

    }

    function ricerca()

    {
    var numero= new Array();

    var dimensione=document.forms["strumenti"]["txtquanti"].value;
    max=0;
    for (n=0; n<dimensione; n=n+1)
    {
    if (numero[n]>max)
    { max=numero[n]};
    }
    }
    document.write("<p>valore massimo "+max"</p>");

    }
    </script>

    </head>
    <body>

    <form id="strumenti" >
    Inserire <input type="text" name="txtquanti"> elementi di input
    <input type="button" value="aggiungi" onClick="aggiungiInput()">
    </form>

    <form id="numeri" >
    <input type="button" value="ricerca" onClick="ricerca()">
    </form>

    </body>
    </html>

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao, sei sicura di aver trascritto bene il codice?
    Così come è scritto presenta qualche errore sia di logica del funzionamento sia di sintassi.

    Manca un "+" in questa riga:
    codice:
    document.write("<p>valore massimo "+max"</p>");
    e risulta una parentesi graffa di troppo.

    Oltre a questo, nella funzione "ricerca" è stato inizializzato l'array "numero" (che dovrebbe contenere i valori dei singoli input) ma non viene valorizzato da nessuna parte. Chiaramente questo fa restituire un risultato fasullo.

    Controlla meglio.

    PS: quando posti del codice sul forum è opportuno usare gli appositi tag di formattazione.

    EDIT:
    Guardando sul web ho trovato esempi di esercizi simili e ho dedotto che tu abbia dimenticato una riga del genere dentro il for: numero[n]=Number(document.forms["numeri"]["txtnumero"+n].value);

    Per cui correggendo il tuo script, la funzione "cerca" dovrebbe essere così:
    codice:
    function ricerca(){
      var numero= new Array();
      var dimensione=document.forms["strumenti"]["txtquanti"].value;
      max=0;
      for (n=0; n<dimensione; n=n+1){
        numero[n]=Number(document.forms["numeri"]["txtnumero"+n].value);
        if (numero[n]>max){ max=numero[n]};
      }
      document.write("<p>valore massimo "+max+"</p>");
    }
    Ultima modifica di KillerWorm; 25-05-2014 a 22:52 Motivo: aggiunto script
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

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.