如何设计ppt中的矩阵?

如何设计ppt中的矩阵?,第1张

技巧如下:

设备:联想电脑

软件:WPS2019

系统:Windows10

1、首先打开ppt,点击上方的“插入-智能图形”。

2、点击左侧的“矩阵”。

3、选中要的矩阵,点击“插入”。

4、选中其中的矩形框,点击上方的“格式”。

5、点击“填充”中的“图片或纹理”中的“本地图片”。

6、选中一个本地图片,点击“打开”。

7、最后依次填充图片,如下图所示,这样一个矩阵的样式就设计完成了。

//希望kutpbpb的回答能对你有所帮助!

//《原创》该程序已调试,并可正确运行,可根据自己需要再作调整!

#include <iostream>

using namespace std

const int NUM = 5

//趣味矩阵类的声明;

class FunnyMatrix

{

public:

FunnyMatrix()

void GetSqure()

void GetSnake()

void GetCircleExToIn()

void GetCircleInToEx()

void PrintElem()

private:

int elem[NUM][NUM]

}

//类构造函数

FunnyMatrix::FunnyMatrix()

{

int i = 0,j = 0

for(i=0i<NUMi++)

for(j=0j<NUMj++)

elem[i][j]=i*NUM+j+1

}

void FunnyMatrix::PrintElem()

{

cout<<"\nOut the Matrix:\n"

int i=0,j=0

for(i=0i<NUMi++)

{

for(j=0j<NUMj++)

cout<<elem[i][j]<<" "

cout<<endl

}

}

void FunnyMatrix::GetSqure()

{

int i=0,j=0,temp[NUM][NUM]={0,0,0}

for(i=0i<NUM-1i++)

{

temp[0][0]=1

if(i%2==0)

{

//右移一步

temp[0][i+1]=temp[0][i]+1

//下移i+1步

for(j=1j<=i+1j++)

temp[j][i+1]=temp[j-1][i+1]+1

//左移i+1步

for(j=ij>=0j--)

temp[i+1][j]=temp[i+1][j+1]+1

}

else

{

//下移一步

temp[i+1][0]=temp[i][0]+1

//右移i+1步

for(j=1j<=i+1j++)

temp[i+1][j]=temp[i+1][j-1]+1

//上移i+1步

for(j=ij>=0j--)

temp[j][i+1]=temp[j+1][i+1]+1

}

}

for(i=0i<NUMi++)

for(j=0j<NUMj++)

elem[i][j]=temp[i][j]

}

void FunnyMatrix::GetSnake()

{

int i=0,j=0,k=0,temp[NUM][NUM]={0,0,0}

temp[0][0]=1

temp[NUM-1][NUM-1]=NUM*NUM

for(i=0i<NUM-1i++)

{

if(i%2==0)

{

//右移一步

temp[0][i+1]=temp[0][i]+1

//左下移

for(j=i,k=1j>=0j--,k++)

temp[k][j]=temp[k-1][j+1]+1

}

else

{

//下移一步

temp[i+1][0]=temp[i][0]+1

//右上移

for(j=i,k=1j>=0j--,k++)

temp[j][k]=temp[j+1][k-1]+1

}

}

for(i=NUM-1i>1i--)

{

if((NUM-1-i)%2==0)

{

//左移

temp[NUM-1][i-1]=temp[NUM-1][i]-1

//右上移

for(k=NUM-2,j=ij<=NUM-1j++,k--)

temp[k][j]=temp[k+1][j-1]-1

}

else

{

//上移一步

temp[i-1][NUM-1]=temp[i][NUM-1]-1

//左下移

for(k=NUM-2,j=ij<=NUM-1k--,j++)

temp[j][k] = temp[j-1][k+1]-1

}

}

for(i=0i<NUMi++)

for(j=0j<NUMj++)

elem[i][j]=temp[i][j]

}

void FunnyMatrix::GetCircleExToIn()

{

int i=0,j=0,k=0,temp[NUM][NUM]={0,0,0}

temp[0][0]=1

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

{

if(i!=0)

temp[i][i]=temp[i][i-1]+1

//右移

for(j=i+1j<NUM-ij++)

temp[i][j]=temp[i][j-1]+1

//下移

for(j=i+1j<NUM-ij++)

temp[j][NUM-1-i]=temp[j-1][NUM-1-i]+1

//左移

for(j=NUM-2-ij>=ij--)

temp[NUM-1-i][j]=temp[NUM-1-i][j+1]+1

//上移

for(j=NUM-2-ij>ij--)

temp[j][i]=temp[j+1][i]+1

}

if(NUM%2==1)

temp[NUM/2][NUM/2]=NUM*NUM

for(i=0i<NUMi++)

for(j=0j<NUMj++)

elem[i][j]=temp[i][j]

}

void FunnyMatrix::GetCircleInToEx()

{

int i=0,j=0,k=0,temp[NUM][NUM]={0,0,0}

temp[0][NUM-1]=NUM*NUM

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

{

if(i!=0)

temp[i][NUM-i-1]=temp[i-1][NUM-i-1]-1

//下移

for(j=i+1j<NUM-ij++)

temp[j][NUM-1-i]=temp[j-1][NUM-1-i]-1

//左移

for(j=NUM-2-ij>=ij--)

temp[NUM-1-i][j]=temp[NUM-1-i][j+1]-1

//上移

for(j=NUM-2-ij>=ij--)

temp[j][i]=temp[j+1][i]-1

//右移

for(j=i+1j<NUM-i-1j++)

temp[i][j]=temp[i][j-1]-1

}

if(NUM%2==1)

temp[NUM/2][NUM/2]=1

for(i=0i<NUMi++)

for(j=0j<NUMj++)

elem[i][j]=temp[i][j]

}

int main(void)

{

FunnyMatrix fm

cout<<"\n矩阵初始化信息:"

fm.PrintElem()

cout<<"\n第一种矩阵: "

fm.GetSqure()

fm.PrintElem()

cout<<"\n第二种矩阵: "

fm.GetSnake()

fm.PrintElem()

cout<<"\n第三种矩阵: "

fm.GetCircleExToIn()

fm.PrintElem()

cout<<"\n第四种矩阵: "

fm.GetCircleInToEx()

fm.PrintElem()

cout<<"\n\n!!!Hello World,kutpbpb!!!"/* prints !!!Hello World!!! */

return 0

}

问的很仔细啊,其实根据矩阵乘法的运算规则按着写就行了啊。

如:

//a(mxn)*b(nxp)

double** MultiMatrix(double ** aMat,int m,int n,double ** bMat,int p)

{

//动态生成一个保存结果的二维数组result

//按矩阵的法则写 result[i][j]=a[i][k]*b[k][j]对k求和

//返回result

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11509311.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存