vero...errore stupido. Comunque il codice funziona finchè faccio fare le combinazioni con k=2 (lunghezza combinazioni di 2 cifre).
Ma se faccio fare k=3 non funziona...
Praticamente come forse avrete notato io faccio fare le combinazioni, ma non mi limito solo a concatenare due elementi, bensì faccio fare la media tra i due valori. Quindi dato il codice:
la parte che fa fare la somma e la divisione tra i due elementi è questa:codice:function getCombinations(arr, n){ var i,j,k,elem,l = arr.length,childperm,ret=[]; if(n == 1){ for(var i = 0; i < arr.length; i++){ for(var j = 0; j < arr[i].length; j++){ ret.push([arr[i][j]]); } } return ret; } else{ for(i = 0; i < l; i++){ elem = arr.shift(); for(j = 0; j < elem.length; j++){ childperm = getCombinations(arr.slice(), n-1); for(k = 0; k < childperm.length; k++){ var elej= elem[j]; var chik= (childperm[k]); var cos= (-1*((-1*elej) + (-1*chik)))/n; ret.push(cos); } } } return ret; } i=j=k=elem=l=childperm=ret=[]=null; } var x = 60; var arr = [["10"],["20"],["35"],["5"]]; var n = 2; var results = getCombinations(arr.slice(),n); document.getElementById("results").innerHTML = "["; for(var i = 0; i < results.length; i++) { if (((x-results[i]) <= 50) && ((x-results[i]) >= 40)) { } document.getElementById("results").innerHTML += "[" + results[i] + "]"; } document.getElementById("results").innerHTML += "]";
codice:var elej= elem[j]; var chik= (childperm[k]); var cos= (-1*((-1*elej) + (-1*chik)))/n; ret.push(cos);
perché da quanto ho capito....
"elem[j]" corrisponde al primo elemento dell'array
"childpermk[k]" non ho ben capito a che corrisponde....
comunque qui sono 2 elementi. E quindi finchè faccio combinazioni con 2 cifre è ok.
quando faccio fare le combinazioni di 3 cifre sorge il problema.... non funziona perché:
perché qui abbiamo due elementi.... quando invece a me serve fare combinazioni con 3 elementi.codice:var elej= elem[j]; var chik= (childperm[k]); var cos= (-1*((-1*elej) + (-1*chik)))/n; ret.push(cos);
Ragion per cui mi e vi chiedo:
il terzo elemento chi sarebbe? ce nel senso come potrei far a dichiarare il terzo elemento ????
Lo so sembra assurdo..... e complicato.
Non ci riuscirò mai....... e non c'è nessuno che possa aiutarmi

Rispondi quotando
