int num[3][4];
for(i=0;i <3;i++)
for(t=0;t <4;t++)
num[i][t] = (i*4)+t+1;
上面代码初始化1到12的二维矩阵,由于数据很规律,很容易得到(i*4)+t+1赋值语句,
一般二维数组的初始化也都是根据实际情况来判断,
比如
1 2 3 4
2 3 4 1
3 4 1 2
4 1 2 3
该矩阵中的数字很规则,在实际解决该问题时,只需要把数值的规律描述出来即可。
实现思路:声明一个变量n,代表矩阵的阶,声明和初始化一个nXn的数组,根据数据的规律,则对应的数值为(行号 + 列号 + 1),当数值比n大时,取和n的余数
根据判断都可以得到赋值语句,可是假如我们的数据很复杂,但从判断很难得到这个初始化赋值语句,那该怎么办,有没有规律可循?
换句话说,对应一个矩阵怎么样用数学归纳法证明矩阵的i行j列的数据等于(i*4)+t+1,或者是(行号 + 列号 + 1)或者是其他的什么东西?
二维数组的初始化!
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答
- wang_jian_bo 2009-05-17 21:07关注
我比较懒不愿意写脚本解释程序,看看高手们如何解决
[code="java"]package com.saturday;import java.lang.reflect.Array;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;public class TestReflax {
private static ScriptEngineManager scriptMgr=new ScriptEngineManager();
private static ScriptEngine scriptEng=scriptMgr.getEngineByName("javascript");public static void main(String[] args){ double[][] matrix=new double[4][4]; String sValExpres="($row+$col+1)<=4?($row+$col+1):($row+$col+1)%4"; setMatrix(matrix,sValExpres); outputMatrix(matrix); } public static void outputMatrix(double matrix[][]){ int nRowC=matrix.length; int nColC=matrix[0].length; for(int i=0;i<nRowC;i++){ for(int j=0;j<nColC;j++){ System.out.print(matrix[i][j]+" "); } System.out.print("\n"); } } public static void setMatrix(double matrix[][],String sValExpres){ int nRowC=matrix.length; int nColC=matrix[0].length; for(int i=0;i<nRowC;i++){ for(int j=0;j<nColC;j++){ matrix[i][j]=getExpressVal(i,j,sValExpres); } } } public static double getExpressVal(int nRow,int nCol,String sValExpres){ double nValue=0; try{ sValExpres=sValExpres.replaceAll("\\$row",nRow+"") .replaceAll("\\$col",nCol+""); nValue=(Double)scriptEng.eval(sValExpres); }catch(Exception ex){ } return nValue; }
}[/code]
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
- ¥15 微信公众号自制会员卡没有收款渠道啊
- ¥15 stable diffusion
- ¥100 Jenkins自动化部署—悬赏100元
- ¥15 关于#python#的问题:求帮写python代码
- ¥20 MATLAB画图图形出现上下震荡的线条
- ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
- ¥15 perl MISA分析p3_in脚本出错
- ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
- ¥15 ubuntu虚拟机打包apk错误