gpt4 book ai didi

c - 如何在C程序中将矩阵的第一列元素复制到第二列

转载 作者:行者123 更新时间:2023-11-30 20:35:48 25 4
gpt4 key购买 nike

如何在C程序中将矩阵的第一列元素复制到第二列

输入

2 3 4
5 6 7
7 8 9

输出

2 2 3 3 4 4
5 5 6 6 7 7
7 7 8 8 9 9

最佳答案

如果数组是预定义的,那么代码可以如下所示

#include <stdio.h>

#define M 3
#define N 3

int main( void )
{
int a[M][N] =
{
{ 2, 3, 4 },
{ 5, 6, 7 },
{ 7, 8, 9 }
};

int b[M][2*N];

for ( size_t m = 0; m < M; m++ )
{
for ( size_t n = 0; n < N; n++ ) printf( "%d ", a[m][n] );
printf( "\n" );
}
printf( "\n" );

for ( size_t n = 0, i = 0; n < N; n++ )
{
for ( size_t j = 0; j < 2; j++, i++ )
{
for ( size_t m = 0; m < M; m++ ) b[m][i] = a[m][n];
}

}

for ( size_t m = 0; m < M; m++ )
{
for ( size_t n = 0; n < 2 * N; n++ ) printf( "%d ", b[m][n] );
printf( "\n" );
}
printf( "\n" );

return 0;
}

程序输出为

2 3 4 
5 6 7
7 8 9

2 2 3 3 4 4
5 5 6 6 7 7
7 7 8 8 9 9

也就是说,您必须使用循环“手动”复制列。

否则,您需要动态分配第二个数组或使用可变长度数组。

关于c - 如何在C程序中将矩阵的第一列元素复制到第二列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37764378/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com