Ragazzi, aiuto!!
![]()
![]()
ho la neccessità di creare un funzione che calcoli tutte le possibili permutazioni (senza ripetizioni) di un input (una serie di numeri, o una serie di lettere o parole...)
per es:
input: abc
output: abc,acb,bca,bac,cab,cba
un mio amico mi ha fornito il codice in ASP, sto tentando di tradurlo in PHP ma mi continua a dare errore...
potreste darmi una mano?
il codice in ASP è il seguente:
io l'ho "tradotto" così: (ovviamente sbagliato)codice:Function permuta(matrice() As String, pre As String) As String Dim num_elementi As Integer Dim iteratore, iteratore2 As Integer Dim creatore As Integer Dim newMatrice() As String Dim appoggio As String num_elementi = UBound(matrice) +1 If num_elementi = 1 Then Appoggio = pre & matrice(0) & “;” Else ReDim newMatrice(num_elementi – 2) For iteratore = 0 To num_elementi – 1 creatore = 0 For iteratore2 = 0 To num_elementi – 1 If iteratore2 <> iteratore Then newMatrice(creatore) = matrice(iteratore2) creatore = creatore + 1 End If Next appoggio = appoggio & permute (newMatrice, pre & matrice(iteratore)) Next End If permuta = appoggio End Function
Grazie cmq a tutti in anticipo...codice:function permuta($matrice,$pre) { $num_elementi=strlen($matrice); if ($num_elementi==1) { $appoggio="$pre"."$matrice[0]".";"; } else { for ($iteratore=0; $iteratore<=$num_elementi-1;$iteratore++){ $creatore=0; for ($iteratore2=0;$iteratore2<=$num_elementi-1;$iteratore2++) { if ($iteratore2!=$iteratore) { $newmatrice[$creatore]=$matrice[$iteratore2]; $creatore++; } } if (isset($appoggio)) $appoggio=$appoggio.permuta($newmatrice,$pre.$matrice[$iteratore]); else $appoggio=permuta($newmatrice,$pre.$matrice[$iteratore]); } } return $appoggio; }

Ragazzi, aiuto!!
Rispondi quotando
