-
Notifications
You must be signed in to change notification settings - Fork 0
/
SortArrayBy1s.php
60 lines (59 loc) · 2.79 KB
/
SortArrayBy1s.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?
function SortArrayBy1s($to_do_array_name)
{
print("<br>");
print("<center>\n");
print("<table border=\"0\">\n");
print("<tr>\n");
print("<td align=\"center\" width=\"100\"><b>Index bodu</b></td>");
print("<td align=\"center\" width=\"100\"><b> </b></td>");
print("<td align=\"center\" width=\"100\"><b>Vektor</b></td>");
print("</tr>");
global $$to_do_array_name; //pracujem s globalnym vonkajsim polom
for ($j = 0; $j <= $_POST['num_variables']; $j++) { //najskor vypisujem prvky, ktore maju 0 jednotiek, potom 1 jednotku az do poctu premennych funkcie
$found = 0; //pomocna premenna, ktora sluzi len na zistenie, ci sa nasiel nejaky prvok s hladanym poctom jednotiek, aby sa mohla dat ciara (<hr>) za celou skupinou
for ($k = 0; $k < sizeof($$to_do_array_name); $k++) {
$temp = count_chars(${$to_do_array_name}[$k], 0); //a dam popocitat pocet jednotlivych znakov
if ($temp[49] == $j) { //na 49. mieste pola je ulozeny pocet jednotiek, a ak je zhodny s hladanym poctom jednotiek, vypise sa tento prvok spolu s jeho dekadickou hodnotou
$found = 1; //nasli sme prvok o hladanom pocte jednotiek
$count_x = 0; //popocitame pocet premennych, ktore je mozne vynechat, aby sme vedeli, co vypisat
for ($l = 0; $l < $_POST['num_variables']; $l++) {
if (${$to_do_array_name}[$k][$l] == 'x') {
$count_x++;
}
}
if ($count_x == 0) { //ak implikant neobsahuje premenne, ktore mozeme vynachat, vypiseme aj jeho dekadicku hodnotu
print("<tr>\n");
print("<td align=\"center\">");
print(bindec(${$to_do_array_name}[$k]));
print("</td>");
print("<td align=\"center\">");
print(" - ");
print("</td>");
print("<td align=\"center\">");
print(${$to_do_array_name}[$k]);
print("</td>\n");
print("</tr>\n");
} else {
print("<tr>\n");
print("<td align=\"center\">");
print($k);
print("</td>");
print("<td align=\"center\">");
print(" - ");
print("</td>");
print("<td align=\"center\">");
print(${$to_do_array_name}[$k]);
print("</td>\n");
print("</tr>\n");
}
}
}
if ($found == 1) {
print("<tr><td colspan=\"3\"><hr></td></tr>\n");
}
//nakreslenie ciary za skupinou
}
print("</table>\n");
print("</center>\n");
}