Java to JavaScript

Alby2812

Nuovo Utente
18 Nov 2014
4
1
0
Ciao a tutti ho questo codice java che mi fa le permutazoni di due vettori
Codice:
public static void permute(float[] pNum, char [] pChar, int index)
{

if (pNum.length == index) {
LeggiVettore(pNum,pChar);
}
else
{
for (int i = index; i < pNum.length; i++)
{
float[] input = (float[]) pNum.clone();
char temp = (char) input[i];
input[i] = input[index];
input[index] = temp;
char[] input2 = (char[]) pChar.clone();
char temp2 = (char) input2[i];
input2[i] = input2[index];
input2[index] = temp2;
permute(input,input2, index + 1);
}
}
}
Avrei necessità di trasformarlo in JavaScript, io l'ho modificato in questo modo; è corretto?
Codice:
function permute(pNum,pChar,index)
{

if (pNum.length == index) {
LeggiVettore(pNum,pChar);
}
else
{
for (var i = index; i < pNum.length; i++)
{
var input = pNum;
var temp = input[i];
input[i] = input[index];
input[index] = temp;
var input2 = pChar;
var temp2 = input2[i];
input2[i] = input2[index];
input2[index] = temp2;
permute(input,input2, index + 1);
}
}
}
Grazie
 
Ultima modifica di un moderatore:
Ciao, manca la funzione LeggiVettore(), ma , a me sembra funzionare
Codice:
<script>
    function permute(pNum, pChar, index) {

        if (pNum.length == index) {
            LeggiVettore(pNum, pChar);
        } else {
            for (var i = index; i < pNum.length; i++) {
                var input = pNum;
                var temp = input[i];
                input[i] = input[index];
                input[index] = temp;
                var input2 = pChar;
                var temp2 = input2[i];
                input2[i] = input2[index];
                input2[index] = temp2;
                permute(input, input2, index + 1);
            }
        }
    }
    function LeggiVettore(pNum, pChar) {
        document.write("<p>" + pNum + " " + pChar + "</p>");
    }
    var a = [1, 2, 3];
    var b = [2, 3, 4];
    permute(a, b, 0);
</script>
 
Non credo che la conversione sia corretta perchè il rusltato è il seguente:
<p>A,B,C 1,2,3</p>
<p>A,C,B 1,3,2</p>
<p>C,A,B 3,1,2</p>
<p>C,B,A 3,2,1</p>
<p>A,B,C 1,2,3</p>
<p>A,C,B 1,3,2</p>

Le ultime due righe sono sbagliate dovrebbero essere
B,A,C
B,C,A

come mai? sembra che ripeta la riga
 

Discussioni simili