i need help in super permutation
i have 3 letters long string “fhd” i want to write each ones alternate in sindhi language but problem is that sindhi language has multiple alternates of each of above letter
so i have 3 list boxes one for each letter’s alternates in sindhi each one for sindhi alterate letters and sounds of each string letter from “fhd”
f listbox have 3 items (alternate of f) which are ف، ڦ، په so list one represents alternates of F which are`=ف، ڦ، په items
list two have ح، ه، ھ alternate of h
list 3 have د، ڏ، ڊ alternates of D
the goal is to produce as many words as possible all containing three sindhi alternate letters containing 3 sindhi letters as alternate of english ‘fhd’
what my path is write first alternate of f all the times list box f (first listbox) item counts
and in second side all other letters should be represented once
for h=0 to len {fahad}
first set as a=ف b=ه c=د second set as a=ف b=ح c=ڊ third set as a=ف b=ه c=ڏ، the words we made are فهد فحڊ فهڏ
you note ف is repeated all the three times till the third letter alternate of d د، ڊ، ڏis written all three times
the second bunch of words should be ڦهد ڦحڊ ڦهڏ here also second alternate of f ڦ is repeated all three times as usage of alternate of D ڊ، ڏ، د now the second letter h’s alternate (which are two) each shold be reapated three times i mean the focus is second letter h’s alternates فهد ڦهڊ فهڏ
then second alternate of have three times repeated
فحد ڦحڊ فحڏ
then first alternate of d=د فهد ڦحد فهد
then second alternate of d=ڊ،
فهڊ ڦحڊ فهڊ then third alternate of d=ڏ
فهڏ ڦحڏ ڦهڏ
actually i want to build roman translitration in this case there are more then one alterates of single english letter
i have database of sindhi words in back ground where i want to query all fhd’s sindhi alternate words which one would be ok written in db that one replaced in sentences the word list which can be made as alternates of fhd should be
فهد فحڊ فهڏ
ڦحد ڦهڊ ڦحڏ
فهد ڦهڊ فهڏ
ڦحد فحڊ ڦحڏ
فهد ڦحد فهد
ڦحڊ فهڊ ڦحڊ
فهڏ ڦحڏ فهڏ this is the list i want to get, who can help me how to do it programettiaclly
i have done little plane but seems not working, can any or many may convert idea into real php programmng
this is the programing i have done for populating listboxes
<?php global $servername; global $username; global $password; global $dbname; $servername = "localhost"; $username = "root"; $password = ""; $dbname = "tsrs"; ////////////////////// global $q; $q=array(); ////////////////////// for ($n=0; $n<=strlen("fahad"); $n++){ $i=substr("fahad", $n, 1); //echo $i; ///////////////////// $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } mysqli_set_charset($conn,"utf8"); $sql = "SELECT * FROM duplicate WHERE engletter='$i' order by id"; $result = $conn->query($sql); global $m; $m=1; if ($result->num_rows > 0) { $altrntcount=$result->num_rows; while($row = $result->fetch_assoc()) { $q[$n][$m]=$row['sinletter'] ; echo $q[$n][$m]."<BR>"; $m=$m+1; } } } echo "<form>"; for ($n=0; $n<=strlen("fahad"); $n++){ $list[$n]="list".$n; echo $list[$n]; echo " <select name="".$list[$n]."">"; for ($m=0; $m<=$altrntcount; $m++){ if ($q[$n][$m]<>""){ echo "<option value="".$q[$n][$m]."">".$q[$n][$m]."</option>"; } } echo "</select>"; } echo "</form>"; ?> here is the further idea way but needs logical help to run for n-0 to len(fhd) for x=0 to 5 loop...... the maximum alternates of any english letter in sindhi are 5 for w=0 to len(fhd) for m-0 to 5 looop if m=>list(w).countitems then h=0 word(q)(c)=word(q)(c)+list(w).selectedindex=h h=h+1 end if //m=m+1 w=w+1 loop loop if m=>5 then x=x+1 end if if w=>len(fhd) n=n+1 end if if x=>list(n).countitems then p=0 word(q)=word{q}+list(n).selectedindex=p p=p+1 end if loop loop
Advertisement
Answer
press submit button Twice or three time, how to solve it its an other matter but i have found all permutations of word “fahad” string in sindhi alternate
<?php global $servername; global $username; global $password; global $dbname; $servername = "localhost"; $username = "root"; $password = ""; $dbname = "tsrs"; ////////////////////// global $q; $q=array(); ////////////////////// for ($n=0; $n<=strlen("fahad"); $n++){ $i=substr("fahad", $n, 1); //echo $i; ///////////////////// $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } mysqli_set_charset($conn,"utf8"); $sql = "SELECT * FROM duplicate WHERE engletter='$i' order by id"; $result = $conn->query($sql); global $m; $m=0; if ($result->num_rows > 0) { $altrntcount=$result->num_rows; while($row = $result->fetch_assoc()) { $q[$n][$m]=$row['sinletter'] ; echo $q[$n][$m]."<BR>"; $m=$m+1; } } } echo "<form method='post'>"; for ($n=0; $n<=strlen("fahad")-1; $n++){ $list[$n]="list".$n; echo $list[$n]; echo " <select name="".$list[$n]."" id="".$list[$n]."">"; for ($m=0; $m<=$altrntcount-1; $m++){ if ($q[$n][$m]<>""){ echo "<option value="".$q[$n][$m]."">".$q[$n][$m]."</option>"; } } echo "</select>"; }?> <input type="text" name="leng" id="leng" value="1" ><input type='submit' name='submit'></form> <?php if(isset($_POST['submit'])){ for($i=0; $i<=strlen("fahad")-1; $i++){ //echo $list[$i]; for ($x=0; $x<= $_POST['leng']+1; $x++){ ?> <script> document.getElementById("leng").value = document.getElementById("<?php echo $list[$i]; ?>").length; </script> <?php echo $i."-i: I : ".$x.": X <BR>"; echo $q[$i][$x]; } } echo "<h1>".($_POST['leng'])."zzz</h1>"; echo "-----<BR><BR><BR>++++++"; } ?> <?php global $q; //$arrStart = array( //array('ف', 'ڦ', 'په'), // array('ح', 'ه'), //array('د', 'ڊ','ڏ') //); //$arrStart= $q[$i][$x]; $arrPositions = array(); $arrResult = array(); //get a starting position set for each sub array for ($i = 0; $i < count($q); $i++) $arrPositions[] = 0; //repeat until we've run out of items in $q[0] while (array_key_exists($arrPositions[0], $q[0])) { $arrTemp = array(); $blSuccess = true; //go through each of the first array levels for ($i = 0; $i < count($q); $i++) { //is there a item in the position we want in the current array? if (array_key_exists($arrPositions[$i], $q[$i])) { //add that item to our temp array $arrTemp[] = $q[$i][$arrPositions[$i]]; } else { //reset this position, and raise the one to the left $arrPositions[$i] = 0; $arrPositions[$i - 1]++; $blSuccess = false; } } //this one failed due to there not being an item where we wanted, skip to next go if (!$blSuccess) continue; //successfully adding nex line, increase the right hand count for the next one $arrPositions[count($q) - 1]++; //add our latest temp array to the result $arrResult[] = $arrTemp; } print_r($arrResult); if(isset($_POST['submit'])){ for($i=0; $i<=count($arrResult)-1; $i++){ //echo $list[$i]; ?> <script> document.getElementById("leng").value = document.getElementById("<?php echo $list[$i]; ?>").length; </script> <?php for ($x=0; $x<= $_POST['leng']+2; $x++){ //echo $i."-i: I : ".$x.": X <BR><BR><BR>"; echo $arrResult[$i][$x]; } echo "<BR><BR>"; } echo "<h1>".($_POST['leng'])."zzz</h1>"; echo "-----<BR><BR><BR>++++++"; } ?>