链接: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.然后再是循环....
""
直至数组的行列其中的一个首尾相等...
相关推荐
在给定的编程问题中,任务是计算一个正方形矩阵的主对角线元素之和以及副对角线上不在主对角线上的元素之和。矩阵是对称的,所以副对角线也是从左上角到右下角的对角线。让我们详细探讨这个问题,并分析给出的解决...
在4×4的矩阵中,主对角线上的元素是第1行第1列、第2行第2列、第3行第3列以及第4行第4列的元素。 #### 副对角线 副对角线是指从右上角到左下角的对角线。对于4×4的矩阵而言,副对角线上的元素为第1行第4列、第2行...
Java 求一个3*3矩阵对角线元素之和,实现的思路主要是利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。也就计算对角线之和。计算对角线之和代码分享: for(int i = 0;i ;i ) { for(int j = 0;j ;j ...
C语言 实现3X3矩阵主对角线和副对角线求和,输入矩阵,输出主对角线和副对角线,欢迎下载,桌面系统VS环境直接运行
本文将详细讨论如何使用C++来求解3x3矩阵的对角线元素之和,通过实例代码和解释帮助读者深入理解这一概念。 首先,我们要知道一个3x3矩阵是一个由3行3列组成的数组,其元素可以表示为矩阵形式: ``` | a11 a12 a13...
C语言程序设计-求5行5列矩阵的主、副对角线上元素之和;注意,两条对角线相交的元素只加一次;例如:主函数中给出的矩阵的两条对角线的和为45;
标题中的任务是使用C语言编写一段程序,该程序将矩阵的上对角线元素加1,下对角线元素减1。这个操作在数学或编程领域中可能用于矩阵的特定变换,例如创建某些特殊矩阵或者作为算法的一部分。下面是对这个程序的详细...
矩阵对角线的和是指主对角线(也称为对角线)和次对角线(也称为副对角线)上元素的总和。本节将详细介绍如何编写一个 Java 程序来计算给定的 N * N 二维矩阵的主对角线和次对角线之和。 首先,理解矩阵的基本概念...
C语言程序设计-在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),然后输出主对角线元素的平方和,并在fun()函数中输出;.c
C语言程序设计-在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),然后输出主对角线元素的积,并在fun() 函数中输出
5. 输出结果:最后,打印出两条对角线的和。 ```cpp cout 主对角线之和: " ; cout 副对角线之和: " ; ``` 在VC6.0或VC2005中编译和运行这段代码,程序将读取二维数组,计算并显示两条对角线的元素和。为了使...
在给定的C++源代码中,程序首先读取输入文件"in.txt",其中包含矩阵的规模、下对角线元素、主对角元素和上对角线元素。然后,程序使用追赶法来解决三对角矩阵方程组,并输出中间方程组的解和最终的方程组解。 在该...
### VB实现数组对角线的积 #### 背景介绍 在计算机编程领域,特别是数值计算、数据处理以及算法实现方面,数组是极其重要的数据结构之一。通过使用数组,可以方便地存储和操作一系列相同类型的数据。在本篇文章中,...
在5x5的矩阵中,有两个对角线:主对角线(从左上到右下)和副对角线(从右上到左下)。对于转置后的矩阵,这两个对角线的元素位置不变。因此,我们分别计算它们的和: ```csharp int mainDiagonalSum = 0, ...
通过本文,我们将详细探讨C语言中二维数组的三种典型应用:初始化二维数组并计算对角线元素之和、生成杨辉三角以及实现矩阵转置。这些操作不仅能够加深对C语言数组的理解,还能训练解决问题的能力,对于提升编程技巧...
最后,我们可以将两个对角线的和输出到控制台或显示在用户界面上: ```vb MsgBox "主对角线之和: " & mainDiagonalSum & vbCrLf & "副对角线之和: " & secondaryDiagonalSum ``` 在这个例子中,`MsgBox`函数用于弹...
在VB(Visual Basic)编程环境中,"方正求对角线之积"是一个涉及矩阵运算的问题,特别是计算主对角线元素的乘积。主对角线是指从左上角到右下角的对角线,而对角线之积则是指这条线上所有元素相乘的结果。在5x5的...
本篇文章将深入探讨如何使用Python二维数组来求解3x3矩阵对角线元素的和。矩阵是对数学运算非常重要的工具,尤其是在线性代数中,它能表示线性变换、系统方程组等。 首先,我们要理解什么是二维数组和矩阵。二维...