动态数组.cpp

来自「动态产生任意维数的矩阵」· C++ 代码 · 共 54 行

CPP
54
字号
#include <stdio.h>
#include <malloc.h>
void main()
{
  int i,j,k;
  float **p1,**p2,**p3;
  int n;
  printf("请输入矩阵的维数:");
  scanf("%d",&n);
  p1=(float **)malloc((sizeof(int)) *n);
  for(i=0;i<n;i++)
  {
	  *(p1+i)=(float *)malloc((sizeof(int) *n));
  }
  p2=(float **)malloc((sizeof(int)) *n);
  for(i=0;i<n;i++)
  {
	  *(p2+i)=(float *)malloc((sizeof(int) *n));
  }
  p3=(float **)malloc((sizeof(int)) *n);
  for(i=0;i<n;i++)
  {
	  *(p3+i)=(float *)malloc((sizeof(int) *n));
  }
  printf("请输入矩阵a:");
  for(i=0;i<n;i++)
  {
	  for(j=0;j<n;j++)
		  scanf("%f",*(p1+i)+j);
  }
  printf("请输入矩阵b:");
  for(i=0;i<n;i++)
  {
	  for(j=0;j<n;j++)
		  scanf("%f",*(p2+i)+j);
  }
  for(i=0;i<n;i++)
  {   
	  for(k=0;k<n;k++)
	  { 
	    float sum=0;
	    for(j=0;j<n;j++)
        sum=sum+(*(*(p1+i)+j))*(*(*(p2+j)+k));
        *(*(p3+i)+k)=sum;
	  }
  } 
  
  for(i=0;i<n;i++)
  {
	  for(j=0;j<n;j++)
		  printf("%f ",*(*(p3+i)+j));
	  printf("\n");
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?