C语言矩阵数字填充

Python012

C语言矩阵数字填充,第1张

最好是用指针,不过如果只做这一个事情的话就用下面的最简单的办法

#incluce <iostream>

using namespqce std

int main()

{

int M, N

cout<<"input the dim M:"<<endl

cin>>M

cout<<"input the dim N:"<<endl

cin>>N

int mat[M][N]

for(int i=0i<Mi++)

for(int j=0j<Nj++)

mat[i][j]=i*N+j+1

cout<<"construction completed"<<endl

return 0

}

#include <stdio.h>

void transpose(int a[2][3], int b[3][2])

{

    int i, j

    for(i=0i<2i++)

        for(j=0j<3j++)

            b[j][i] = a[i][j]

}

void multiple(int a[2][3], int b[3][2], int c[2][2])

{

    int i,j,ci,cj

    for(ci=0ci<2ci++)

    {

        for(cj=0cj<2cj++)

        {

            for(j=0j<3j++)

                c[ci][cj] += a[ci][j] * b[j][cj]

        }

    }

}

void printMatrix2x3(int m[2][3])

{

    int i, j

    for(i=0i<2i++)

    {

        for(j=0j<3j++)

            printf("%4d", m[i][j])

        printf("\n")

    }

}

void printMatrix3x2(int m[3][2])

{

    int i, j

    for(i=0i<3i++)

    {

        for(j=0j<2j++)

            printf("%4d", m[i][j])

        printf("\n")

    }

}

void printMatrix2x2(int m[2][2])

{

    int i, j

    for(i=0i<2i++)

    {

        for(j=0j<2j++)

            printf("%4d", m[i][j])

        printf("\n")

    }

}

void scanMatrix2x3(int m[2][3])

{

    int i, j

    for(i=0i<2i++)

    {

        for(j=0j<3j++)

            scanf("%d", &m[i][j])

    }

}

int main()

{

    int a[2][3]

    int b[3][2] = {0}

    int c[2][2] = {0}

    scanMatrix2x3(a)

    printf("Matrix A:\n")

    printMatrix2x3(a)

    printf("\nMatrix B:\n")

    printMatrix3x2(b)

    transpose(a,b)

    multiple(a,b,c)

    printf("\nMatrix A:\n")

    printMatrix2x3(a)

    printf("\nMatrix B:\n")

    printMatrix3x2(b)

    printf("Matrix C:\n")

    printMatrix2x2(c)

    return 0

}