Цикл for

Статус
В этой теме нельзя размещать новые ответы.

WMix

герр M:)ller
Партнер клуба
последний анализ кода... я вывел все цифорки... вся задачка создать их из последовательности $y
PHP:
for($y=1; $y<=$height; $y++){
	$l = $height-$y;
	$r = $y*2-1;
	echo $y."\t".$l."\t". $r."\t".str_repeat(' ', $l ).str_repeat('*', $r )."\n";
}
возможно это поможет тебе решить 3ю задачу.....
 

WMix

герр M:)ller
Партнер клуба
в третей задаче это выглядит так...

для нечетной высоты
Код:
1	3	1	   *
2	2	3	  ***
3	1	5	 *****
4	0	7	*******
5	1	5	 *****
6	2	3	  ***
7	3	1	   *
для четной высоты
Код:
1	3	2	   **
2	2	4	  ****
3	1	6	 ******
4	0	8	********
5	0	8	********
6	1	6	 ******
7	2	4	  ****
8	3	2	   **
 

USA

Новичок
в 2 цикла и с ошибками уже получилось...(но нужно в 1 да)
 

WMix

герр M:)ller
Партнер клуба
Absinthe
ну почему нельзя просто сказать, "да порою нужен for"?
 

WMix

герр M:)ller
Партнер клуба
в 2 цикла и с ошибками уже получилось...(но нужно в 1 да)
ну уже добьем эти цифорки... важно же научиться а не задачу решить... денег все одно не заплатят... но можешь сказать, я решил ее в 2 цикла! и считаю это достаточным...
платят же за решения а не за красоту решения!
 

WMix

герр M:)ller
Партнер клуба
Absinthe
моей любимой темой по математике были вектора, folgen (последовательности чтоль) и mengen (множества наверное), торчал от lim особенно после того как научился считать 0/0, 0/∞, ∞/0 и ∞/∞. При решении все формулы это обычно ∑ суммы и произведения ∏ (правильно говорю?).. мы это решали голыми циклами!
 

USA

Новичок
Что б нарисовать со 2-го цикла нужно начать с (пробывал задавать эти значения и не получилось)
4 0 7
3 1 5
2 2 3
1 3 1
это как я понимаю, но не вышло как то( экспериментировал и вышло вроде ак бы ромбик ну с дурацкими ошибками
PHP:
$height = 4;
for($y=1; $y<=$height; $y++){
    $l = $height-$y;
    $r = $y*2-1;
    echo $y."\t".$l."\t". $r."\t".str_repeat(' ', $l ).str_repeat('*', $r )."\n";
}

$height = 4;
for($y=3; $y<=$height; $y--){
    $l = $height-$y;
    $r = $y*2-1;
    echo $y."\t".$l."\t". $r."\t".str_repeat(' ', $l ).str_repeat('*', $r )."\n"; 
}
PHP:
1	3	1	   *
2	2	3	  ***
3	1	5	 *****
4	0	7	*******
3	1	5	 *****
2	2	3	  ***
1	3	1	   *
<!--error--><br />
<b>Warning</b>:  str_repeat() [<a href='function.str-repeat'>function.str-repeat</a>]: Second argument has to be greater than or equal to 0 in <b>S:\home\localhost\www\fo\forOMG.php</b> on line <b>14</b><br />
<script language=JavaScript src='/denwer/errors/phperror_js.php'></script>0	4	-1	    
<!--error--><br />
<b>Warning</b>:  str_repeat() [<a href='function.str-repeat'>function.str-repeat</a>]: Second argument has to be greater than or equal to 0 in <b>S:\home\localhost\www\fo\forOMG.php</b> on line <b>14</b><br />
<script language=JavaScript src='/denwer/errors/phperror_js.php'></script>-1	5	-3	     
<!--error--><br />
и браузер аж подвисает )
 

WMix

герр M:)ller
Партнер клуба
как только скажешь я сдаюсь, дам подсказку, как только скажешь, хочу ответ, дам мой ответ
 

WMix

герр M:)ller
Партнер клуба
PHP:
$height = 4;
for($y=3; $y<=$height; $y--){
$y<=$height; это ВСЕГДА происходит поэтому "и браузер аж подвисает"
 

USA

Новичок
ех , с пробелом не выходит как то у меня (
PHP:
$height = 4;
for($y=1; $y<$height; $y++){
    $l = $height-$y;
    $r = $y*2-1;
    echo $y."\t".$l."\t". $r."\t".str_repeat(' ', $l ).str_repeat('*', $r )."\n";
}

$height = 0;
for($y=2; $y>$height; $y=$y--){
    $l = $height+$y;
    $r = $y*2-1;
    
    echo $y."\t".$l."\t". $r."\t".str_repeat(' ', $l ).str_repeat('*', $r )."\n";
PHP:
1	3	1	   *
2	2	3	  ***
3	1	5	 *****
2	2	3	  ***
1	1	1	 *
 

WMix

герр M:)ller
Партнер клуба
да вижу твою ошибку... твой 2й цикл он отрабатывает всего 2 раза... и оба раза на уменьшение, поэтому ты ты и не видешь что при первой итерации это 1 а во 2й это 0
 

WMix

герр M:)ller
Партнер клуба
ХакИрФсимагущий
О сколько нам открытий чудных
Готовят просвещенья дух
И опыт, сын ошибок трудных,
И гений, парадоксов друг,
И случай, бог изобретатель...

(с) А.С.Пушкин
 

ХакИрФсимагущий

[засикречино]
PHP:
        $tstart = microtime(true); 
    for($x=1; $x<=10000000; $x++) {
    }
$tstop = microtime(true);
     print $tstop - $tstart;
     print" > ";
    $tstart1 = microtime(true); 
for($x=1; $x<=10000000; ++$x) {
}
$tstop1 = microtime(true);
     print $tstop1 - $tstart1;
Вывод
0.29041600227356 > 0.21337103843689
Имхо вполне полезная оптимизация если работаете в циклах
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху