PDA

View Full Version : Piccolo aiuto per "mini programmino"


Franzu23
11-05-2012, 19:46
Ragazzi, intanto buonasera.
Sto iniziando a utilizzare il linguaggio C, ma il prof che a scuola ci insegna queste cose non è dei migliori, per cui mi trovo a dover (VOLER) realizzare dei piccoli programmini per imparare i linguaggi di programmazione (studio informatica).
Questo è il programmino che dovrebbe consentire di ordinare dei numeri che vengono inseriti... Ma ha qualche problema nel dare i risultati!! Chi potrebbe aiutarmi?

<html>
<head>
<title> Numeri </title>
</head>
<SCRIPT LANGUAGE=javascript>
function numeri(){
var num = new Array();
var i;
var m;
var b;

for(i=0;i<9;i++)
{
num[i]=prompt("digita numero: ");
}

for(m=0;m<8;m++)
{
for(i=0;i<8;i++)
{
if(num[i]*1>num[i+1]*1)
{
b=num;
num[i]=num[i+1];
num[i+1]=b;
}
}
}

for(i=0;i<9;i++)
{
document.write(num[i]+"<br>");
}
}

</script>

<body onload="numeri()">

<div> </div>
</body>
</html>


Grazie..

ESSE-EFFE
11-05-2012, 19:54
Ma quello non è C, è Javascript...

Franzu23
11-05-2012, 20:02
...avrò capito male (o il prof avrà sbagliato)!!... a me è stato detto C non Java, chiedo scusa..
Mi potreste aiutare comunque?

pabloski
11-05-2012, 20:09
Non è java, è javascript!!!! Comunque quell'algoritmo di ordinamento da dov'è uscito? Non capisco poi che senso abbia moltiplicare per 1 gli elementi dell'array nell'if.

ESSE-EFFE
11-05-2012, 20:10
Ti avranno anche detto C, ma mi pare che "LANGUAGE=javascript" parli da solo no? (attenzione che Javascript != Java).

Per il problema dell'ordinamento, quello che vedo mi sembra una specie di bubble-sort. Solo che non devi usare due cicli come ora, ne basta uno, ma devi continuare a ripeterlo (while) finchè i numeri non sono in ordine (cioè finchè fai un ciclo senza effettuare scambi).

ESSE-EFFE
11-05-2012, 20:12
Non capisco poi che senso abbia moltiplicare per 1 gli elementi dell'array nell'if.
Forse per forzare Javascript ad effettuare il confronto tra numeri (a me è venuto in mente quello, non so se serva in questo caso).

ESSE-EFFE
11-05-2012, 20:19
Forse per forzare Javascript ad effettuare il confronto tra numeri (a me è venuto in mente quello, non so se serva in questo caso).

In effetti provando sembra che funzioni anche senza.

Attenzione a questa riga:
b=num;
che deve ovviamente essere:
b=num[i];

Franzu23
11-05-2012, 20:21
il PROF ci ha detto "per essere sicuri che sia un valore numerico"!!!
E sempre lui ci ha dato questo schema con 2 cicli... come faccio a dirgli while (e la condizione che i numeri siano ordinati)??

Franzu23
11-05-2012, 20:25
Grazie ESSE-EFFE..
Così torna giusto!