编写程序实现:用rand()函数生成两个矩阵的各个元素,(1)两个矩阵相加后,生成一个新的矩阵.(2)两个矩阵的乘积.void display(int T[][MAXSIZE],int row,int col)这个是什么意思呢?我是初学者,这个都写

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/09 04:45:32

编写程序实现:用rand()函数生成两个矩阵的各个元素,(1)两个矩阵相加后,生成一个新的矩阵.(2)两个矩阵的乘积.void display(int T[][MAXSIZE],int row,int col)这个是什么意思呢?我是初学者,这个都写
编写程序实现:用rand()函数生成两个矩阵的各个元素,
(1)两个矩阵相加后,生成一个新的矩阵.
(2)两个矩阵的乘积.
void display(int T[][MAXSIZE],int row,int col)这个是什么意思呢?我是初学者,这个都写超出能力外.
#include
using namespace std;
int main()
{ int a[2][3];
int i,j;
srand(100);
for(i=0;i

编写程序实现:用rand()函数生成两个矩阵的各个元素,(1)两个矩阵相加后,生成一个新的矩阵.(2)两个矩阵的乘积.void display(int T[][MAXSIZE],int row,int col)这个是什么意思呢?我是初学者,这个都写

(1)两个矩阵相加后,生成一个新的矩阵.

#include <stdio.h>
#include <stdlib.h>       //为rand()及srand()提供函数声明
#include <time.h>
#define MAXSIZE 20
void display(int T[][MAXSIZE], int row, int col)
{
    //函数功能:输出矩阵信息
    int i, j;
                                                                       
    for(i = 0; i < row; i++)
    {
        for(j = 0; j < col; j++)
            printf("%5d", T[i][j]);
        printf("\n");
    }
}
int main()
{
    int A[MAXSIZE][MAXSIZE], B[MAXSIZE][MAXSIZE],C[MAXSIZE][MAXSIZE],
        row, col;
    int i, j;
                                                                       
    /*
    **提示,并接受用户输入的信息
    */
    printf("现在有2个大小相同(同行同列)的矩阵\n");
    printf("矩阵有多少行: ");
    scanf("%d", &row);
    printf("矩阵有多少列: ");
    scanf("%d", &col);
                                                                       
    /*
    **为i行j列的矩阵分配i*j个0到9的随机数 , 并实现两个矩阵的加法
    */
    srand(time(NULL));
    printf("现在分别为2个矩阵随机分配%d个(0~9)随机数", row * col);
    for(i = 0; i < row; i++)
        for(j = 0; j < col; j++)
        {
            //生成随机数
            A[i][j] = rand()/(RAND_MAX/10);
            B[i][j] = rand()/(RAND_MAX/10);
                                                                               
            //实现A+B        
            C[i][j] = A[i][j] + B[i][j];
        }
                                                                           
    /*
    **输出矩阵的信息
    */
    printf("\n矩阵A的信息: \n");
    display(A, row, col);
    printf("\n矩阵B的信息: \n");
    display(B, row, col);
    printf("\n矩阵A+B的信息: \n");
    display(C, row, col);
                                                                           
    return 0;
}



(2)两个矩阵的乘积.

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAXROW 10 + 5
#define MAXCOL 10 + 5
int main()
{
    int A[MAXROW][MAXCOL], B[MAXROW][MAXCOL], C[MAXROW][MAXCOL];
    int i, j, k, A_row, A_col, B_row, B_col;
                                                   
    srand(time(NULL));
                                                   
    printf("请输入第一个矩阵的行和列, 例如9行3列, 可以输入9 3: ");
    scanf("%d%d", &A_row, &A_col);
                                                   
    printf("请输入第二个矩阵的行和列, 例如9行3列, 可以输入9 3: ");
    scanf("%d%d", &B_row, &B_col);
                                                   
    //输入不合法, 结束程序
    if(A_col != B_row)
    {
        printf("因为第一个矩阵的列数和第二个矩阵的行数不相等, 所以它们的乘法是未定义的.\n结束\n");
        return 0;
    }
                                                   
    //插入随机数
    for(i = 0; i < A_row; i++)
        for(j = 0; j < A_col; j++)
            A[i][j] = rand()/(RAND_MAX/10);
                                                   
    for(i = 0; i < B_row; i++)
        for(j = 0; j < B_col; j++)
            B[i][j] = rand()/(RAND_MAX/10);
                                                   
                                                   
    for(i = 0; i < A_row; i++)
    {
        for(j = 0; j < B_col; j++)
        {
            C[i][j] = 0;
            for(k = 0; k < A_col; k++)
                C[i][j] += A[i][k] * B[k][j];
        }
    }
                                                   
    printf("第一个矩阵的数据是: \n");
    for(i = 0; i < A_row; i++)
    {
        for(j = 0; j < A_col; j++)
            printf("%5d", A[i][j]);
        printf("\n");
    }
                                                   
    printf("第二个矩阵的数据是: \n");
    for(i = 0; i < B_row; i++)
    {
        for(j = 0; j < B_col; j++)
            printf("%5d", B[i][j]);
        printf("\n");
    }
                                                   
    printf("两个矩阵相乘后的数据是: \n");
    for(i = 0; i < A_row; i++)
    {
        for(j = 0; j < B_col; j++)
            printf("%5d", C[i][j]);
        printf("\n");
    }
                                                           
    return 0;
}



PS:若有不明白的地方,可以追问

编写程序实现:用rand()函数生成两个矩阵的各个元素,(1)两个矩阵相加后,生成一个新的矩阵.(2)两个矩阵的乘积.void display(int T[][MAXSIZE],int row,int col)这个是什么意思呢?我是初学者,这个都写 c语言,使用随机函数rand()编写一个猜数字的游戏程序使用随机函数rand()编写一个猜数字的游戏程序.由程序随机生成1~1000中的随机数,游戏者输入猜测值以后,如果猜对,显示“太棒了”, 编写一段程序或设计一个函数实现一个方阵以副主对角线进行翻转并利用rand函数随机产生一个5阶方阵进行翻转 编写一个函数实现两个字符串的连接(不使用库函数strcat).这个用C语言怎么写程序啊求详细解释~急! 编写一个程序用单链表存储多项式,并实现两个多项式相加的函数?C/C++语言 1编写一个程序,求三个整数之和.(1)只使用main函数.(2)通过求两个整数之和的函数加以实现. 用汇编语言编写程序实现符号函数y=f(x):-128 编写程序实现下列功能,函数y=x(x 1.用c语言编写程序,实现输入10个数,分别求其最大值、最小值及平均数,要求用函数实现. 用c编写程序,其中利用子函数fun实现计算n(n为函数参数)的阶乘n!在主函数中调用 两个m×n的矩阵,用C++编写程序实现矩阵的加法运算(两个矩阵中的元素一一对应) 编写程序实现下列图形******** 急!高分!请帮我用C语言STATIC函数编一个简单程序要求:使用STATIC函数.形成A line,B line两个函数.在两个函数上用RAND函数形成1~10RAND值10次.两个函数形成的RAND值积累起来.A line有积累效果B line没 用C语言编写程序实现从键盘上任意输入两个整数,输出两个整数的乘积. 20000*rand()/(rand_max+0)和rand()%20000+0这两个出来的结果有什么不同?为什么我在写蒙特卡洛定理求圆周率程序的时候用rand()%2000+0算出来的pai值就略偏大呢? 用matlab编写程序实现f(n)=f(n-1)+f(n-2)(f(1)=1和f(2)=2)函数 编写程序,实现两个集合的交运算(用C语言)1、已知两个整数集合中的数据以递增次序分别存放在数组A,B中,编写程序实现两个集合的交运算(即取两个集合相同的数据元素),并把得到的交 用c++编写程序 定义一个函数,实现把华氏温度转换为摄氏温度,公式如下:c=(f