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

    acquisire valori per un array con il prompt

    Allora, volevo chiedervi come potevo tenere per la seconda funzione ogni singolo valore inserito col prompt. Il numero dei dati inseriti rieco a tenerlo ma non riesco a tenere il valore di tutti i valori dell'array eta[n].La prima funzione è giusta, mentre la seconda penso abbia bisogno di un ciclo per tenere in memoria ogni valore inserito precedentemente.Ho usato un alert per vedere se funzionava ma...niente.
    Se riuscite a farmi questo favore, MI RACCOMANDO SENZA USARE TECNICHE DIVERSE DA QUELLE CHE CONOSCO KE SONO ben o male quelle gia scritte più il for e le proprietà del math, del string. Grazie mille!!!!!!!!
    Mi raccomando lasciarlo così com'è modificando solo la seconda funzione


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head><title>Statistica</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

    <script language="javascript" type="text/javascript">
    var eta = new Array();
    var n;
    function acquisisci()
    {
    eta[n]=prompt("Inserisci l'eta':");
    n=0;
    while(eta[n]!=0){
    n++;
    eta[n]=prompt("Inserisci l'eta':");

    }

    }

    function elaborazione(){
    var dati=window.document.grafico;
    var eta1 = new Array();
    var s=0,min1=0,max1=0,media,n1,i=0;
    n1=n;
    alert(n1);



    while(i<n1){ //ho provato qui ma nn credo sia giusto
    i++;
    eta[i]=parseInt(eta);
    alert(eta[i]);

    }



    s=s+n1;
    if(eta[n]<min1){
    min1=eta[n];
    }
    if(eta[n]<max1){
    max1=eta[n];
    }
    media=s/n1;

    dati.min1.value=min1;
    dati.max1.value=max1;
    dati.n.value=n1;
    dati.media.value=media;
    }

    </script>
    </head>

    <body><h1>Calcoli statistici</h1>
    <form name="grafico">
    <input type="button" name="controllo" onclick="acquisisci()" value="acquisisci">



    <input type="button" name="c2" onclick="elaborazione()" value="elabora">



    <input type="text" name="min1" size="5" >minimo



    <input type="text" name="max1" size="5" >massimo



    <input type="text" name="n" size="5" >numeri inseriti



    <input type="text" name="media" size="5" >media



    <input type="reset" value="pulisci">



    </form>
    </body>
    </html>

  2. #2
    intanto non c'e' bisogno di aumentare un contatore ad ogni iterazione quando inserisci un array.

    infatti se fai
    codice:
    eta.length
    hai gia' il numero di elementi dell'array.

    Inoltre gli array hanno una comoda funzione push() che inserisce un elemento in fondo alla coda.
    Si puo' anche usare il ciclo do-while al posto del semplice while. La prima funzione puo' quindi diventare cosi':

    Codice PHP:
    function acquisisci()
    {
        var 
    eta_temp;
        do
        {
            
    eta_temp prompt("Inserisci l'eta':");
            
    eta.push(eta_temp);
        }  while(
    eta_temp != 0)


    Poi gli array si possono scorrere con un ciclo for

    codice:
        function elaborazione()
        {
            var dati=window.document.grafico;
            var eta1 = new Array();
            var s=0, media, n1;
            min1=eta[0], max1=eta[0]; 
            n1=eta.length;
            alert(n1);
            for(var i =0; i<eta.length; i++)
            {
                eta[i]=parseInt(eta); // PS. perche' questo non lo metti direttamente nella funzione acquisisci?
                alert(eta[i]);
                // da qua in poi per trovare max, min e media
                if(eta[i]>max1)
                    max1 = eta[i];
                if(eta[i]<min1)
                    min1 = eta[i];
                s = s + eta[i];
            }
            media = s / n1;
        }

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.