Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 初始化二维数组,然后对其进行转置_C_Arrays_Loops_For Loop_2d - Fatal编程技术网

C 初始化二维数组,然后对其进行转置

C 初始化二维数组,然后对其进行转置,c,arrays,loops,for-loop,2d,C,Arrays,Loops,For Loop,2d,这里是初学者,我想用C编写一个程序,用该行的值初始化8 x 10矩阵a[8][10]的每一行(第一行包含所有0,第二行包含所有1等) 打印完这个矩阵后,我想对它进行转置,生成第二个矩阵B[10][8] 我试图使用嵌套for循环,但我似乎无法接近答案 GSL-GNU科学图书馆可能会有所帮助 这里有一个类似的例子,GSL-GNU科学图书馆可能会有所帮助 这里有一个类似的示例如果您想在自己的代码中实现这一点,下面是一个示例: #include<stdio.h> #define ROW

这里是初学者,我想用C编写一个程序,用该行的值初始化8 x 10矩阵a[8][10]的每一行(第一行包含所有0,第二行包含所有1等)

打印完这个矩阵后,我想对它进行转置,生成第二个矩阵B[10][8]


我试图使用嵌套for循环,但我似乎无法接近答案

GSL-GNU科学图书馆可能会有所帮助


这里有一个类似的例子,GSL-GNU科学图书馆可能会有所帮助


这里有一个类似的示例

如果您想在自己的代码中实现这一点,下面是一个示例:

#include<stdio.h>

#define ROWS 8
#define COLS 10

int main(int argc, char *argv[])
{
    int A[ROWS][COLS];
    int B[COLS][ROWS];
    int i,j;

    /*populate*/
    for (i=0; i<ROWS; i++)
    {
        for (j=0; j<COLS; j++)
        {
            A[i][j] = 2*i + j;
        }
    }

    /*display*/
    printf("=== Original matrix === \n");

    for (i=0; i<ROWS; i++)
    {
        for (j=0; j<COLS; j++)
        {
            printf("%3d  ", A[i][j]);
        }
        printf("\n");
    }


    /*transpose*/
    for (i=0; i<ROWS; i++)
    {
        for (j=0; j<COLS; j++)
        {
            B[j][i] = A[i][j];
        }
    }


    /*display*/
    printf("\n\n=== Transposed matrix === \n");

    for (i=0; i<COLS; i++)
    {
        for (j=0; j<ROWS; j++)
        {
            printf("%3d  ", B[i][j]);
        }
        printf("\n");
    }

    return 0;
}
#包括
#定义第8行
#定义COLS 10
int main(int argc,char*argv[])
{
int A[行][COLS];
int B[COLS][ROWS];
int i,j;
/*填充*/

对于(i=0;i如果您想在自己的代码中实现这一点,下面是一个示例:

#include<stdio.h>

#define ROWS 8
#define COLS 10

int main(int argc, char *argv[])
{
    int A[ROWS][COLS];
    int B[COLS][ROWS];
    int i,j;

    /*populate*/
    for (i=0; i<ROWS; i++)
    {
        for (j=0; j<COLS; j++)
        {
            A[i][j] = 2*i + j;
        }
    }

    /*display*/
    printf("=== Original matrix === \n");

    for (i=0; i<ROWS; i++)
    {
        for (j=0; j<COLS; j++)
        {
            printf("%3d  ", A[i][j]);
        }
        printf("\n");
    }


    /*transpose*/
    for (i=0; i<ROWS; i++)
    {
        for (j=0; j<COLS; j++)
        {
            B[j][i] = A[i][j];
        }
    }


    /*display*/
    printf("\n\n=== Transposed matrix === \n");

    for (i=0; i<COLS; i++)
    {
        for (j=0; j<ROWS; j++)
        {
            printf("%3d  ", B[i][j]);
        }
        printf("\n");
    }

    return 0;
}
#包括
#定义第8行
#定义COLS 10
int main(int argc,char*argv[])
{
int A[行][COLS];
int B[COLS][ROWS];
int i,j;
/*填充*/

for(i=0;这是一个很大的帮助,谢谢。我正在尝试更改for循环,以便使第一行全部为0,然后下一行全部为1等。在for循环中,我可以实现这一点,对吗?感谢againTo这样做,在填充循环中,您需要一个[i][j]=我;正如您所评论的那样尝试过。这很好,非常感谢。这是一个很大的帮助,谢谢您。我正在尝试更改for循环,以便使第一行全部为0,然后下一行全部为1等。在for循环中,我可以实现这一点。谢谢againTo这样做,在填充循环中,您需要一个[i][j]如你所说,我刚试过。太好了,非常感谢。