Ik heb een array met 8 elementen.
De bedoeling is dat de gebruiker kan aangeven hoeveel elementen hij uit die 8 wil halen en hiervan moeten dan alle mogelijke combinaties weergegeven worden.
Ik heb al wel een manier gevonden om dit te realiseren maar deze is zwaar inefficient.
Het moet ook met een functie kunnen maar dat lukt me maar niet.
Inefficiente code:
Code die ik tot nu toe heb, maar niet werkt
Edit: search werkt niet
                                                
                    De bedoeling is dat de gebruiker kan aangeven hoeveel elementen hij uit die 8 wil halen en hiervan moeten dan alle mogelijke combinaties weergegeven worden.
Ik heb al wel een manier gevonden om dit te realiseren maar deze is zwaar inefficient.
Het moet ook met een functie kunnen maar dat lukt me maar niet.
Inefficiente code:
code:
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
 | <?php
error_reporting(E_ALL);
function my_loop($size) {
   $numbers = array('1','5','20','500','2.500','5.000','10.000','2.500.000');
   $count = count($numbers);
   $combinations=0;
   if($size==6) {
      echo "Combinaties van $size<br>\n";
      for($i=0;$i<$count;$i++) {
          for($j=$i+1;$j<$count;$j++) {
              for($k=$j+1;$k<$count;$k++) {
                  for($l=$k+1;$l<$count;$l++) {
                      for($m=$l+1;$m<$count;$m++) {
                          for($n=$m+1;$n<$count;$n++) {
                              echo "$numbers[$i]<br>$numbers[$j]<br>$numbers[$k]<br>$numbers[$l]<br>$numbers[$m]<br>$numbers[$n]<br><br>\n";
                              $combinations++;
                          }
                       }
                   }
               }
           }
       }
    }
   if($size==5) {
      echo "Combinaties van $size<br>\n";
      for($i=0;$i<$count;$i++) {
          for($j=$i+1;$j<$count;$j++) {
              for($k=$j+1;$k<$count;$k++) {
                  for($l=$k+1;$l<$count;$l++) {
                      for($m=$l+1;$m<$count;$m++) {
                          echo "$numbers[$i]<br>$numbers[$j]<br>$numbers[$k]<br>$numbers[$l]<br>$numbers[$m]<br><br>\n";
                          $combinations++;
                      }
                  }
               }
           }
       }
   }
   if($size==4) {
      echo "Combinaties van $size<br>\n";
      for($i=0;$i<$count;$i++) {
          for($j=$i+1;$j<$count;$j++) {
              for($k=$j+1;$k<$count;$k++) {
                  for($l=$k+1;$l<$count;$l++) {
                      echo "$numbers[$i]<br>$numbers[$j]<br>$numbers[$k]<br>$numbers[$l]<br><br>\n";
                      $combinations++;
                  }
               }
          }
      }
   }
   if($size==3) {
      echo "Combinaties van $size<br>\n";
      for($i=0;$i<$count;$i++) {
          for($j=$i+1;$j<$count;$j++) {
              for($k=$j+1;$k<$count;$k++) {
                  echo "$numbers[$i]<br>$numbers[$j]<br>$numbers[$k]<br><br>\n";
                  $combinations++;
              }
          }
      }
   }
   if($size==2) {
      echo "Combinaties van $size<br>\n";
      for($i=0;$i<$count;$i++) {
          for($j=$i+1;$j<$count;$j++) {
              echo "$numbers[$i]<br>$numbers[$j]<br><br>\n";
              $combinations++;
          }
      }
   }
   if($size==1) {
      echo "Combinaties van $size<br>\n";
      for($i=0;$i<$count;$i++) {
          echo "$numbers[$i]<br><br>\n";
          $combinations++;
      }
   }
   echo "Totaal aantal combinaties: $combinations<br><br>\n";
}
my_loop($input);
?> | 
Code die ik tot nu toe heb, maar niet werkt
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 | <?php
function my_loop($size) {
   $numbers = array('1','5','20','500','2.500','5.000','10.000','2.500.000');
   $count = count($numbers);
   $current=0;
   for($i=$current;$i<$count;$i++) {
       echo "$numbers[$i]<br>";
       $current++;
       if($current<=$size) {
       my_loop($size);
       }
   }
}
my_loop($input);
?> | 
Edit: search werkt niet
[ Voor 13% gewijzigd door mrbombastic op 07-04-2004 17:59 ]
Before me there was many, after me there will be none. I'm the one!