-2
我想要使用二維數組得到帕斯卡的三角形。但它不起作用。 任何人都可以解決這個程序。 在此先感謝。在Pascal的三角形系列在php
<html>
<body>
<div>
<form name="form1" action="pascaltriangle4.php" method="post">
Enter the number of rows in pyramid of stars you wish to see : <input type="text" name="n">
<input type="submit" name="submit" value="submit">
</form>
</div>
<div>
<table>
<?php
if($_POST['submit']==='submit')
{
ini_set('display_errors', 1);
error_reporting(E_ALL);
$n=$_POST['n'];
$arr=array();
//print_r($arr);
for($i=0;$i<=$n;$i++)
{
echo "<tr>";
for($j=0;$j<=$i;$j++)
{
if($j==0)
{
//echo "1";
$arr[$i][$j]=1;
//print_r($arr);
if($n!=$i)
{
echo "<td colspan='".($n-$i)."'></td>";
}
echo "<td>".$arr[$i][$j]."</td>";
echo "<td></td>";
}
elseif($i==$j)
{
//echo "1";
$arr[$i][$j]=1;
//echo $arr;
echo "<td>".$arr[$i][$j]."</td>";
//echo "<td></td>";
}
else
{
$arr[$i][$j]=$arr[$i-1][$j-1]+$arr[$i-1][$j];
echo "<td>".$arr[$i][$j]."</td>";
echo "<td></td>";
}
}echo "</tr>";
}
//echo "<pre>";
//print_r($arr);
//echo "</pre>";
}
?>
</table></div>
<body>
</body>
</html>
提供一些代碼,你面臨的問題點? –
非常簡單:初始化第0行,第2行嵌套循環,並添加前一行的兩個值;大約6行代碼......你有什麼問題? –
我在程序的第43行錯誤了。即「$ arr = $ arr [$ i-1] [$ j-1] + $ arr [$ i-1] [$ j];」。我將它們分配給$ arr。正確的代碼是「$ arr [$ i] [$ j] = $ arr [$ i-1] [$ j-1] + $ arr [$ i-1] [$ j];」。所以這個程序工作正常。感謝您的指導。 –