主题:[讨论]二维数组里面暗藏的相对二维数组的计算
我用C++编写了如下的一段程序:
#include<iostream.h>
void main()
{
//声明变量
int m4,i;
double k;
double a[12][10]={
{2,2,2,2,2,2,2,2,2,2},
{2,2,2,2,2,2,2,2,2,2},
{3,3,3,3,3,3,3,3,3,3},
{4,4,4,4,4,4,4,4,4,4},
{1,1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1,1},
{2,2,2,2,2,2,2,2,2,2},
{5,5,5,5,5,5,5,5,5,5},
{1,1,1,1,1,1,1,1,1,1},
{0,0,0,0,0,0,0,0,0,0},
{2,2,2,2,2,2,2,2,2,2},
{1,1,1,1,1,1,1,1,1,1}
};
for (i=1;i<=11;i++)
{k=a[0][0]*a[i+0][0];
if (k==4)
{
cout<<" a["<<i<<"][0]";
cout<<" i="<<i<<endl;
}
}
}
程序运行一切正常,运行结果如下:
a[1][0] i=1
a[6][0] i=6
a[10[0] i=10
其中 a[1][0]表示 a[1][0]所在位置的元素的值与a[0][0]所在位置的元素的乘积为我预先给定的值k==4 i=1表示 a[1][0]所在位置的元素的行数。
同理 a[6][0]表示 a[6][0]所在位置的元素的值与a[0][0]所在位置的元素的乘积为我预先给定的值k==4 i=6 表示 a[6][0]所在位置的元素的行数。
现在我想请教大家一个问题:运行结果里面有一句话:a[6][0] i=6。
如何将行数i=6变为i=0,相应的该元素的列的值就增加6,也就是行减少多少行,列数就增加多少列。相当于a[6][0]变为了a[0][6],但是a[10][0]
不是变为了a[0][10] ,而是变为了a[4][6],(也就是说,原先a[6][0]的行减少多少行,a[10][0]的行也减少多少行 ,a[6][0]的列 增加多少列 ,
a[10][0]的列 也增加多少列,他们的相对位置没有发生改变)再来计算变换后的两个位置a[0][6]和a[4][6]的乘积。请问,在原程序的基础上该怎
么修改?最好把修改后的原程序发上来,因为我学得不好,要好好学学,谢谢!!
#include<iostream.h>
void main()
{
//声明变量
int m4,i;
double k;
double a[12][10]={
{2,2,2,2,2,2,2,2,2,2},
{2,2,2,2,2,2,2,2,2,2},
{3,3,3,3,3,3,3,3,3,3},
{4,4,4,4,4,4,4,4,4,4},
{1,1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1,1},
{2,2,2,2,2,2,2,2,2,2},
{5,5,5,5,5,5,5,5,5,5},
{1,1,1,1,1,1,1,1,1,1},
{0,0,0,0,0,0,0,0,0,0},
{2,2,2,2,2,2,2,2,2,2},
{1,1,1,1,1,1,1,1,1,1}
};
for (i=1;i<=11;i++)
{k=a[0][0]*a[i+0][0];
if (k==4)
{
cout<<" a["<<i<<"][0]";
cout<<" i="<<i<<endl;
}
}
}
程序运行一切正常,运行结果如下:
a[1][0] i=1
a[6][0] i=6
a[10[0] i=10
其中 a[1][0]表示 a[1][0]所在位置的元素的值与a[0][0]所在位置的元素的乘积为我预先给定的值k==4 i=1表示 a[1][0]所在位置的元素的行数。
同理 a[6][0]表示 a[6][0]所在位置的元素的值与a[0][0]所在位置的元素的乘积为我预先给定的值k==4 i=6 表示 a[6][0]所在位置的元素的行数。
现在我想请教大家一个问题:运行结果里面有一句话:a[6][0] i=6。
如何将行数i=6变为i=0,相应的该元素的列的值就增加6,也就是行减少多少行,列数就增加多少列。相当于a[6][0]变为了a[0][6],但是a[10][0]
不是变为了a[0][10] ,而是变为了a[4][6],(也就是说,原先a[6][0]的行减少多少行,a[10][0]的行也减少多少行 ,a[6][0]的列 增加多少列 ,
a[10][0]的列 也增加多少列,他们的相对位置没有发生改变)再来计算变换后的两个位置a[0][6]和a[4][6]的乘积。请问,在原程序的基础上该怎
么修改?最好把修改后的原程序发上来,因为我学得不好,要好好学学,谢谢!!