Door ook maar een klein beetje programmeerinzicht te hebben?quote:Op maandag 7 november 2011 13:10 schreef vlam12 het volgende:
wow! hoe zien jullie zo snel wat de oplossing is?
Inzicht, weten hoe je er door heen moet lopen + ervaring.quote:Op maandag 7 november 2011 13:10 schreef vlam12 het volgende:
wow! hoe zien jullie zo snel wat de oplossing is?
Kan netter ja, maar kan ook nog velen malen uitgebreiderquote:
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 | <?php class ArrayList { private $_Index = -1; private $_InnerList; public function Add($value) { $this->_InnerList[] = $value; } public function Count() { return count($this->_InnerList); } public function Read() { $this->_Index++; if ( $this->_Index == $this->Count() ) { return false; } return true; } public function Item() { if ( $this->_Index < 0 ) { throw new Exception('List not started reading.'); } return $this->_InnerList[$this->_Index]; } } $lineList = new ArrayList(); while ( $lineList->Count() != 10 ) { $numberList = new ArrayList(); while ( $numberList->Count() != ($lineList->Count() + 1) ) { $numberList->Add($numberList->Count()); } $lineList->Add($numberList); } while ( $lineList->Read() ) { $numberList = $lineList->Item(); while ( $numberList->Read() ) { echo $numberList->Item(); } echo "<br />"; } ?> |
Dat kan uitgebreider, je kan bijv $lineList->Count()+1 ook weer in een aparte functie stoppen.quote:Op maandag 7 november 2011 13:23 schreef Pakspul het volgende:
[..]
Inzicht, weten hoe je er door heen moet lopen + ervaring.
[..]
Kan netter ja, maar kan ook nog velen malen uitgebreider
[ code verwijderd ]
Als het je huiswerk is, lever dit in
Nee, want dat heeft geen nut voor dit verhaal. Je gebruikt het alleen hier en de class zou je overal weer kunnen gebruiken (beetje OO denken).quote:Op maandag 7 november 2011 13:26 schreef Luchtkoker het volgende:
[..]
Dat kan uitgebreider, je kan bijv $lineList->Count()+1 ook weer in een aparte functie stoppen.
Kun je heel mooi gebruiken voor lijsten zo te zien?quote:Op maandag 7 november 2011 13:28 schreef GlowMouse het volgende:
jullie zijn bekend met de iterator? http://php.net/manual/en/class.iterator.php
Daar ging het niet om, voor dit verhaal heeft het ook weinig nut om allemaal classes te gaan gebruiken etc, het ging erom dat het uitgebreider kon.quote:Op maandag 7 november 2011 13:32 schreef Pakspul het volgende:
[..]
Nee, want dat heeft geen nut voor dit verhaal. Je gebruikt het alleen hier en de class zou je overal weer kunnen gebruiken (beetje OO denken).
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 | <?php class Console { private static $newLine = "<br />"; public static function Write($value) { echo $value; } public static function WriteLine($value = "") { echo $value; echo self::$newLine; } } class ArrayList { private $_Index = -1; private $_InnerList; public function Add($value) { $this->_InnerList[] = $value; } public function Count() { return count($this->_InnerList); } public function Read() { $this->_Index++; if ( $this->_Index == $this->Count() ) { return false; } return true; } public function Item() { if ( $this->_Index < 0 ) { throw new Exception('List not started reading.'); } return $this->_InnerList[$this->_Index]; } } $lineList = new ArrayList(); while ( $lineList->Count() != 10 ) { $numberList = new ArrayList(); while ( $numberList->Count() != ($lineList->Count() + 1) ) { $numberList->Add($numberList->Count()); } $lineList->Add($numberList); } while ( $lineList->Read() ) { $numberList = $lineList->Item(); while ( $numberList->Read() ) { Console::Write($numberList->Item()); } Console::WriteLine(); } ?> |
Nee, sorry ik vind het geen optiequote:Op maandag 7 november 2011 13:34 schreef Luchtkoker het volgende:
[..]
Daar ging het niet om, voor dit verhaal heeft het ook weinig nut om allemaal classes te gaan gebruiken etc, het ging erom dat het uitgebreider kon.
Het is geen kwestie van "de oplossing zien", het is een kwestie van een oplossing bedenken. Het is geen geheim waar je achter moet zien te komen ofzo, je moet gewoon verzinnen wat je voor instructies zou moeten geven om de gewenste output te krijgen. En aangezien het niet zo'n moeilijk probleem is, duurt het dus ook niet erg lang voordat je een geschikte oplossing hebt verzonnen.quote:Op maandag 7 november 2011 13:10 schreef vlam12 het volgende:
wow! hoe zien jullie zo snel wat de oplossing is?
Ik had denk ik een while(true) gebruikt icm met een for en een for each loop, gewoon, om hem te stangen.quote:Op maandag 7 november 2011 15:01 schreef Pakspul het volgende:
[..]
Als het om een bullshit opdracht gaat dan kun je nooit teveel onnodige loops hebben
1 2 3 4 5 | <?php foreach(range(1,9) as $i) { echo implode(range(1,$i))."\r\n"; } ?> |
quote:Op maandag 7 november 2011 16:07 schreef Scorpie het volgende:
[..]
Ik had denk ik een while(true) gebruikt icm met een for en een for each loop, gewoon, om hem te stangen.
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 | <?php $res = array( '0', '01', '012', '0123', '01234', '012345', '0123456', '01234567', '012345678', '0123456789', ); foreach ($res as $value) { echo $value . "<br />"; } // of! echo current($res); while ($value = next($res) ) { echo $value . "<br />"; } ?> |
quote:Op maandag 7 november 2011 15:01 schreef Pakspul het volgende:
[..]
Als het om een bullshit opdracht gaat dan kun je nooit teveel onnodige loops hebben
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 | <?php $i = 0; while($i != 123456790) { switch($i) { case 0: echo $i . "\n"; break; case 1: echo '0' . $i . "\n"; break; case 12: echo '0' . $i . "\n"; break; case 123: echo '0' . $i . "\n"; break; case 1234: echo '0' . $i . "\n"; break; case 12345: echo '0' . $i . "\n"; break; case 123456: echo '0' . $i . "\n"; break; case 1234567: echo '0' . $i . "\n"; break; case 12345678: echo '0' . $i . "\n"; break; case 123456789: echo '0' . $i . "\n"; break; } $i++; } ?> |
1 2 3 4 5 6 7 8 9 10 | 0 01 012 0123 01234 012345 0123456 01234567 012345678 0123456789 |
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 | <?php $res = array( '0', '01', '012', '0123', '01234', '012345', '0123456', '01234567', '012345678', '0123456789', ); echo current($res); // 0 echo next($res); //01 echo next($res); //012 echo next($res); //0123 echo next($res); //01234 echo next($res); //012345 echo next($res); //0123456 echo next($res); //01234567 echo next($res); //012345678 echo next($res); //0123456789 ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php while(1>2); echo '0 01 012 0123 01234 012345 0123456 01234567 012345678 0123456789'; ?> |
quote:Op maandag 7 november 2011 16:17 schreef Pakspul het volgende:
[..]
while(false);er zit inderdaad een while in
pff, maakt geen eens gebruik van classesquote:Op maandag 7 november 2011 16:20 schreef GlowMouse het volgende:
Die van The_Terminator is het beste.
Ik heb dus serieus een keer met zo'n soort code van iemand anders moeten werken, zag er ongeveer zo uit:quote:Op maandag 7 november 2011 16:20 schreef GlowMouse het volgende:
Die van The_Terminator is het beste.
1 2 3 4 5 6 7 8 9 10 11 | <?php if ( $_GET['actie']==1 ) { $query="SELECT * FROM tabel WHERE kolom=1"; } if ( $_GET['actie']==2 ) { $query="SELECT * FROM tabel WHERE kolom=2"; } if ( $_GET['actie']==3 ) { $query="SELECT * FROM tabel WHERE kolom=3"; } ?> |
Thanks!quote:Op maandag 7 november 2011 16:20 schreef GlowMouse het volgende:
Die van The_Terminator is het beste.
Maar wel meer dan 123 miljoen onnodige loopsquote:Op maandag 7 november 2011 16:22 schreef Pakspul het volgende:
[..]
pff, maakt geen eens gebruik van classes
quote:Op maandag 7 november 2011 16:26 schreef The_Terminator het volgende:
[..]
Thanks!
[..]
Maar wel meer dan 123 miljoen onnodige loops
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 | <?php $output = array(); while(true) { $randnr = rand(0, 123456789); switch ($randnr) { case 0: $first = true; $output[0] = $randnr; break; case 1: $second = true; $output[1] = '0' . $randnr; break; case 12: $third = true; $output[2] = '0' . $randnr; break; case 123: $fourth = true; $output[3] = '0' . $randnr; break; case 1234: $fifth = true; $output[4] = '0' . $randnr; break; case 12345: $sixth = true; $output[5] = '0' . $randnr; break; case 123456: $seventh = true; $output[6] = '0' . $randnr; break; case 1234567: $eighth = true; $output[7] = '0' . $randnr; break; case 12345678: $ninth = true; $output[8] = '0' . $randnr; break; case 123456789: $tenth = true; $output[9] = '0' . $randnr; break; } if ( $first == true && $second == true && $third == true && $fourth == true && $fifth == true && $sixth == true && $seventh == true && $eighth == true && $ninth == true && $tenth == true ) { break; } } echo current($output); // 0 echo next($output); //01 echo next($output); //012 echo next($output); //0123 echo next($output); //01234 echo next($output); //012345 echo next($output); //0123456 echo next($output); //01234567 echo next($output); //012345678 echo next($output); //0123456789 ?> |
Die van jou kan na 10 loops klaar zijnquote:Op maandag 7 november 2011 16:36 schreef Pakspul het volgende:
[..]
[ code verwijderd ]
Minimaal 123456789 loopjes, maar ga er maar vanuit dat het er velen malen meer zullen zijn
kans 1 op 8.22526E+80 dat hij in 10 loops klaar isquote:Op maandag 7 november 2011 16:39 schreef GlowMouse het volgende:
[..]
Die van jou kan na 10 loops klaar zijnsnap niet waarom je de argumenten van rand niet wat ruimer kiest ook
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |