我需要你的帮助。
我遇到了这个有趣的问题,看起来更像是家庭作业,但它真的很复杂。
我需要填充这个数字数组中的元素,在给定某些数字列表的情况下,我需要将它们放在数组的对角线中,然后用初始数字的填充填充其余的位置,如果我举一个例子,我想我可以更好地解释一下:
数组:7 6 5 4 3 2 1 -1
数组中填充了以下数字:7 6 5 4 3 2 1
La array [n] [m]是:
7 13 18 22 25 27 28
13 6 11 15 18 20 21
18 11 5 9 12 14 15
22 15 9 4 7 9 10
25 18 12 7 3 5 6
27 20 14 9 5 2 3
28 21 15 10 6 3 1
我尝试了很多方法,用c ++:
//Here is the simple thing, setting the diagonals of the array[m][n]
for(int row=0; row < maxNumber; fila++){
for(int column=0; column < maxNumber; column++)
{
if(row == column)
{
matAuto[row][column] = elements[row];
}
}
}
我试图用数组的元素创建一个临时数组,并在循环中根据它们的位置求和数,你知道像冒泡排序(array [m] [n] = listNum [n] + LISTNUM [N + 1]
if(row < column)
{
matAuto[row][column] = elements[row] + elements[row+1];
}
if(row < column)
{
matAuto[row][column] = elements[column] + elements[column+1];
}
if(row < column)
{
matAuto[row][column] = elements[column] + elements[row+1];
}
if(row < column)
{
matAuto[row][column] = matAuto[row][column] + matAuto[row+1][column+1];
}
所以......没什么值得的。
我不知道添加完整代码是否正确,不长,但是好,只是常见的C ++内容,但我用西班牙语得到它,希望它不会让你们感到困惑。
答案 0 :(得分:0)
您只需要解决其中的一半,并通过更改索引在镜像中添加相同的数字。
你可以这样做:
[c] [c + 1]处的索引与对角线平行,偏移量为r。
[c] [c-1]处的索引是行
中的先前值[c + 1] [c + 1]处的索引是
列中的下一个值完成后,通过复制您计算的内容填写另一半。
类似的东西。
答案 1 :(得分:0)
正如@Makketronix所提到的,你可以使用你的两个三角矩阵是对称的这一事实。
SetEnv APPLICATION_ENV development
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
</IfModule>
结果如下: