求助:C语言用一段内存(一维的)保存一个矩阵,把这个矩阵转置,不使用另一段内存
来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/01 06:43:53
求助:C语言用一段内存(一维的)保存一个矩阵,把这个矩阵转置,不使用另一段内存
就是不能在开辟一段内存,否则很容易,要直接在自己身上两两交换,比如
012
345
原来是012345,变成031425,要找一个,对任意m*n的矩阵都适用的交换流程,
悬赏可以加
就是不能在开辟一段内存,否则很容易,要直接在自己身上两两交换,比如
012
345
原来是012345,变成031425,要找一个,对任意m*n的矩阵都适用的交换流程,
悬赏可以加
不能在开辟一段内存tangram_guid_1356919761478
那么你一维数组放在哪里?
因为矩阵肯定是申请好的……
而且你这里的规则不是很复杂
for (i = 0, length = 0; i < n; i ++)
{
for ( j = 0; j < m ; j ++)
{
out[length ++ ] = in [j][i];
}
}
这样就可以实现了
但是我不太能理解的是,如果你的out没有申请,那么你要放在哪里?
再问: 当然是申请好的,我现在的问题是,交换流程,比如我举得例子012 345 可以这样交换 第一轮;1和3交换,2和4交换,结果是034125 第二轮 4和1交换 结果就是031425 现在要的是 对任意m* n的矩阵,交换轮数及每轮的交换法则,和m,n之间的关系和规律
再答: sorry, 矩阵太小了,二维的话,我只能看到你是为了拉成一条矩阵,就是我写的那样的规律 如果你要扩展,那么至少还要多出一行,否则没有办法推断的 我现在看到的是 原矩阵 0 [0, 0] [0, 1] .. [0, n] m [m, 0] [m, 1] .. [m, n] 变形后 0 [0, 0] [1, 0] ... [m, 0] 1 [1, 0] [1, 1] ... [m, 1] n [n, 0] [n, 1] .... 你这种变形,感觉上像是矩阵旋转,你要做矩阵旋转吗?
再问: 转置呀,维数在输出的时候可以设置,不用担心,现在就是要一个交换的法则,通用的
再答: 以前有写过,不过是3维的,后来发现directx有矩阵旋转的函数,就没有再弄了 http://zh.wikipedia.org/wiki/%E5%8F%98%E6%8D%A2%E7%9F%A9%E9%98%B5#.E6.97.8B.E8.BD.AC 你自己看一下,因为是90度的旋转,所以应该是很好求的
再问: 额,算了我看看另一题随机发牌,主要网上太多方法又复杂,循环次数又多,你不说写过能不能想起来?不能的话算了 我已经晕了,算了给你吧....这个东西还要角度,,,,更加不好弄
那么你一维数组放在哪里?
因为矩阵肯定是申请好的……
而且你这里的规则不是很复杂
for (i = 0, length = 0; i < n; i ++)
{
for ( j = 0; j < m ; j ++)
{
out[length ++ ] = in [j][i];
}
}
这样就可以实现了
但是我不太能理解的是,如果你的out没有申请,那么你要放在哪里?
再问: 当然是申请好的,我现在的问题是,交换流程,比如我举得例子012 345 可以这样交换 第一轮;1和3交换,2和4交换,结果是034125 第二轮 4和1交换 结果就是031425 现在要的是 对任意m* n的矩阵,交换轮数及每轮的交换法则,和m,n之间的关系和规律
再答: sorry, 矩阵太小了,二维的话,我只能看到你是为了拉成一条矩阵,就是我写的那样的规律 如果你要扩展,那么至少还要多出一行,否则没有办法推断的 我现在看到的是 原矩阵 0 [0, 0] [0, 1] .. [0, n] m [m, 0] [m, 1] .. [m, n] 变形后 0 [0, 0] [1, 0] ... [m, 0] 1 [1, 0] [1, 1] ... [m, 1] n [n, 0] [n, 1] .... 你这种变形,感觉上像是矩阵旋转,你要做矩阵旋转吗?
再问: 转置呀,维数在输出的时候可以设置,不用担心,现在就是要一个交换的法则,通用的
再答: 以前有写过,不过是3维的,后来发现directx有矩阵旋转的函数,就没有再弄了 http://zh.wikipedia.org/wiki/%E5%8F%98%E6%8D%A2%E7%9F%A9%E9%98%B5#.E6.97.8B.E8.BD.AC 你自己看一下,因为是90度的旋转,所以应该是很好求的
再问: 额,算了我看看另一题随机发牌,主要网上太多方法又复杂,循环次数又多,你不说写过能不能想起来?不能的话算了 我已经晕了,算了给你吧....这个东西还要角度,,,,更加不好弄
c语言~使用函数 完成3×3矩阵转置,输入一矩阵,输出其转置矩阵.
列矩阵怎么定义……一个一维数组,在C语言里面怎么把他定义成列矩阵呢?额,我表示一个二维数组怎么把它转置,我会.你知道线性
如果一个矩阵和它的转置相乘为单位矩阵,这个矩阵是什么矩阵?
C语言 定义一个二维数组来存放一个矩阵,然后将矩阵转置输出
C语言中内存的分配方式有哪3种,用文字或表达式列出各自的一个例子
C语言:输入一个2*3的整数矩阵和一个3*2的整数矩阵,使用指针数组实现这两个矩阵的相乘.程序如下:
用C语言写一个两个矩阵相乘的函数
C语言 矩阵转置编写程序 将4*4大小的矩阵转置 矩阵的数据:1234567890121234越简单越好··还有一个:输
R语言新手求助:现在有一个矩阵,我想把第二列的数字大于10的那些行抽出来做一个新矩阵,代码怎么写?
C语言编程实现2*3的矩阵转置
matlab中如何把一个矩阵的元素调用在另一矩阵中
MATLAB 中计算矩阵的循环里 想加一段语句保存所得矩阵 怎么加 用什么语句