链接:http://www.iteye.com/topic/1134016
题1:二维数组(N*N),沿对角线方向,从右上角打印到左下角如N=4:
4*4数组 写道
{ 1 2 3 4 }
{ 5 6 7 8 }
{ 9 10 11 12 }
{13 14 15 16 }
{ 5 6 7 8 }
{ 9 10 11 12 }
{13 14 15 16 }
要求打印出 写道
4
3 8
2 7 12
1 6 11 16
5 10 15
9 14
13
3 8
2 7 12
1 6 11 16
5 10 15
9 14
13
03 02 13 01 12 23 00 11 22 33 10 21 32 20 31 30
程序:
public class Tst { public static void main(String[] args) { int[][] arr = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {13, 14, 15, 16}}; /** * */ for(int sum=0; sum<=7; sum++) { for(int i=0; i<=3; i++) { for(int j=0; j<=3; j++) { if( i + j == sum) System.out.print(i +""+ j + " "); } } System.out.println(); } /* 00 01 10 02 11 20 03 12 21 30 13 22 31 23 32 33 */ System.out.println("************************************"); for(int tmp=-3; tmp<=3; tmp++) { for(int i=0; i<=3; i++) { for(int j=0; j<=3; j++) { if( i-j == tmp) System.out.print(i +""+ j + " "); } } System.out.println(); } } }
输出结果 写道
00
01 10
02 11 20
03 12 21 30
13 22 31
23 32
33
************************************
03
02 13
01 12 23
00 11 22 33
10 21 32
20 31
30
01 10
02 11 20
03 12 21 30
13 22 31
23 32
33
************************************
03
02 13
01 12 23
00 11 22 33
10 21 32
20 31
30
实际上就是两个对角线方式的输出:关键代码是
关键 写道
if( i + j == sum)
and
if( i-j == tmp)
找到i和j的关系。总共循环的次数。
如:
i+j
0 00
1 01 10
2 02 11 20
3 03 12 21 30
4 13 22 31
5 23 32
6 33
************************************
i-j
-3 03
-2 02 13
-1 01 12 23
0 00 11 22 33
1 10 21 32
2 20 31
3 30
and
if( i-j == tmp)
找到i和j的关系。总共循环的次数。
如:
i+j
0 00
1 01 10
2 02 11 20
3 03 12 21 30
4 13 22 31
5 23 32
6 33
************************************
i-j
-3 03
-2 02 13
-1 01 12 23
0 00 11 22 33
1 10 21 32
2 20 31
3 30
2, 矩阵螺旋输出。http://www.cnblogs.com/wangyile/archive/2009/07/24/1530253.html
""
1.要旋转.所以要分四个方向.
2:每一圈都比上一圈小一格.
既然有了规律..自然算法也就出现了...
一个二维数组.
先是从行填写,方向是从小到大.然后是列填写,方向也是从小到大.
然后又是行填写,方向是从大到小,
最后是列填写,方向是从大到小.
下一圈,数组的行列,头部尾部都会比前面小1.然后再是循环....
""
直至数组的行列其中的一个首尾相等...
相关推荐
Java 求一个3*3矩阵对角线元素之和,实现的思路主要是利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。也就计算对角线之和。计算对角线之和代码分享: for(int i = 0;i ;i ) { for(int j = 0;j ;j ...
设计一个程序,求一个4*4矩阵的对角线之和(注意包括主对角线和副对角线)?
C语言 实现3X3矩阵主对角线和副对角线求和,输入矩阵,输出主对角线和副对角线,欢迎下载,桌面系统VS环境直接运行
请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。示例 1:输出:25解释:对角线的和为:1 + 5 + 9 + 3 + 7 = 25请注意,
C语言程序设计-求5行5列矩阵的主、副对角线上元素之和;注意,两条对角线相交的元素只加一次;例如:主函数中给出的矩阵的两条对角线的和为45;
C语言程序设计-在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),然后输出主对角线元素的积,并在fun() 函数中输出
C语言程序设计-在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),然后输出主对角线元素的平方和,并在fun()函数中输出;.c
用VB语言实现5*5的数组左上右下对角线的积
题目:求一个3*3矩阵对角线元素之和。 程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。 def two_dimensionalArray(self): '二维数组实现求三阶矩阵的对角线元素之和' sum = 0 matrix = [...
vc6.0,vc2005下调试通过,求数组两对角线元素之和.
1、由键盘对4×4的二维数组初始化,计算其两条对角线元素之和并输出。 2、通过二维数组实现杨辉三角的前10行并输出。杨辉三角形式请参考教材P153。 3、将M×N的矩阵转置成N×M的矩阵并输出。
简单的C#自动生成5x5矩阵并转置后求其对角线和程序源代码 课程需求
以主对角线为对称矩阵MATLAB代码使用Jacobi特征值方法进行奇异值分解 说明 matlab的此存储库中暗含了奇异值分解。 给定的算法可以将输入作为图像文件和简单的矩阵格式。 与内建的matlab函数[U,S,V] = svd(A)的...
# 题目: # 求一个3*3矩阵主对角线元素之和。 # 分析: # 利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。
取次对角线数据matlab代码libigl-一个简单的C ++几何处理库 开始使用: git clone --recursive https://github.com/libigl/libigl.git libigl是一个简单的C ++几何处理库。 我们具有广泛的功能,包括构造稀疏的离散...
今天小编就为大家分享一篇C语言实现3*3数组对角线之和示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
对于对称矩阵 A,A(:)(完全“矢量化”)包含的信息比严格必要的要多,因为矩阵完全由对称性和下三角部分决定,即 n(n+1) /2 主对角线上和下方的条目。 使用包构建的半向量化如下: > A(itril(size(A))), 对称 n×n ...
从键盘上输入矩阵的阶数n(n),然后按以下规律形成二维数组Anxn:A中第一行元素为1,2,……n;第二行元素为n+1,n2,...(2)A的两条对角线元素之和sum2。 要求:将形成的二维数组Anxn和计算结果(1)(2)显示在屏幕上。
求一个3×3矩阵对角线元素之和 。 任务分析 利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。 示例代码 main() { float a[3][3],sum=0; int i,j; printf("please input rectangle element:\n"); for(i=0;i...