当前位置:首页 > 代码 > 正文

易语言找矩阵代码(易语言矩阵算法)

admin 发布:2022-12-19 19:39 132


本篇文章给大家谈谈易语言找矩阵代码,以及易语言矩阵算法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

易语言找字的代码该怎么写,以桌面点击我的电脑为例

.版本 2

.程序集 窗口程序集1

.程序集变量 找字

.子程序 __启动窗口_创建完毕

.判断循环首 ()

找字= 识图3.找字 ()

.判断循环尾 ()

ps:

参数1的名称为“窗口句柄”,类型为“整数型”,允许接收空参数数据。注明:默认为屏幕中范围坐标,如果指定窗口句柄则为窗口中坐标。

参数2的名称为“左边”,类型为“整数型”,允许接收空参数数据。注明:查找范围的左边。

参数3的名称为“顶边”,类型为“整数型”,允许接收空参数数据。注明:查找范围的顶边。

参数4的名称为“宽度”,类型为“整数型”,允许接收空参数数据。注明:查找范围的高度。

参数5的名称为“高度”,类型为“整数型”,允许接收空参数数据。注明:查找范围的宽度。

参数6的名称为“误差值”,类型为“整数型”,允许接收空参数数据。注明:默认为0 最大值255 (建议留空,200对于纯色字识别速度较好,255则忽略其文字颜色,但速度极慢)。

参数7的名称为“吻合程度”,类型为“整数型”,允许接收空参数数据。注明:默认为100完全吻合 相吻合的百分比(0-100之间)建议90以上。

参数8的名称为“是否后台”,类型为“逻辑型”,允许接收空参数数据。注明:默认为假:屏幕中查找 真:后台窗口。

如何使用C语言输出一个m*n的矩阵(m和n是任意数字,不限定大小.)?

# include stdio.h

# include stdlib.h

# define OK 1

# define ERROR 0

typedef int Status;

typedef int ElemType;

# define MAX_SIZE 100//非零元个数的最大值

struct Triple

{

int i,j;//行下标,列下标

ElemType e;//非零元素值

};

struct TSMatrix

{

Triple data[MAX_SIZE+1];//非零元三元组表,data[0]未用

int mu,nu,tu;//矩阵的行数、列数和非零元个数

};

//创建稀疏矩阵M

Status CreateSMatrix(TSMatrix * M)

{

int i,m,n;

ElemType e;

Status k;

printf("请输入矩阵的行数,列数,非零元素数:");

scanf("%d,%d,%d",(* M).mu,(* M).nu,(* M).tu);

if ((* M).tu MAX_SIZE)

{

return ERROR;

}

(* M).data[0].i = 0;

for (i=1;i=(* M).tu; ++i)

{

do

{

printf("请按行序顺序输入第%d个非零元素所在的行(1-%d),列(1-%d),元素值:",i,(* M).mu,(* M).nu);

scanf("%d,%d,%d",m,n,e);

k = 0;

if (m1 || m(* M).mu || n1 || n(* M).nu)//行或列超出范围

{

k = 1;

}

if (m(* M).data[i-1].i || m==(* M).data[i-1].i n=(* M).data[i-1].j)//行或列的顺序有错

{

k = 1;

}

}while (k);

(* M).data[i].i = m;

(* M).data[i].j = n;

(* M).data[i].e = e;

}

return OK;

}

//按矩阵形式输出M

void PrintSMatrix1(TSMatrix M)

{

int i,j,k = 1;

Triple * p = M.data;

p++;//p指向第1个非零元素

for (i=1; i=M.mu; ++i)

{

for (j=1; j=M.nu; ++j)

{

if (k=M.tu p-i==i p-j==j)//p指向非零元,且p所指元素为当前处理元素

{

printf("%3d",p-e);

p++;

k++;

}

else

{

printf("%3d",0);//输出0

}

}

printf("\n");

}

}

//输出稀疏矩阵M

void PrintSMatrix(TSMatrix M)

{

int i;

printf("%d行%d列%d个非零元素\n",M.mu,M.nu,M.tu);

printf("行 列 元素值\n");

for (i=1; i=M.tu; ++i)

{

printf("%2d%4d%8d\n",M.data[i].i,M.data[i].j,M.data[i].e);

}

}

int main(void)

{

TSMatrix A,B,C;

printf("创建矩阵A:");

CreateSMatrix(A);

PrintSMatrix(A);

printf("按矩阵形式输出所创建矩阵:\n");

PrintSMatrix1(A);

return 0;

}

/*

在vc++6.0中的输出结果:

------------------------

创建矩阵A:请输入矩阵的行数,列数,非零元素数:3,3,3

请按行序顺序输入第1个非零元素所在的行(1-3),列(1-3),元素值:1,1,10

请按行序顺序输入第2个非零元素所在的行(1-3),列(1-3),元素值:2,3,50

请按行序顺序输入第3个非零元素所在的行(1-3),列(1-3),元素值:3,1,80

3行3列3个非零元素

行 列 元素值

1 1 10

2 3 50

3 1 80

按矩阵形式输出所创建矩阵:

10 0 0

0 0 50

80 0 0

Press any key to continue

------------------------------

*/

C语言编程:找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。

思路:遍历矩阵的每一行,找出最大值,在最大值对应的列找最小值,然后判断最大值和最小值的位置是否相等。具体代码如下:

#include stdio.h

#includestdlib.h

void FindSaddlePoint(int a[][20], int m, int n);

main()

{

int a[20][20];  //数组储存矩阵

int m,n;  //分别表示矩阵的行数和列数

int i,j;  //循环变量

//人机交互输入数据

printf("Input m,n:\n");

scanf("%d,%d",m,n);

printf("Input matrix:\n" );

for(i=0;im;i++)

{

for(j=0;jn;j++)

scanf("%d",a[i][j]);

}

FindSaddlePoint(a,m,n);

system("pause");

}

//函数功能:输入矩阵数组、行数和列数,判断是否存在鞍点并输出结果

void FindSaddlePoint(int a[][20], int m, int n)

{

int i,j,k;  //循环变量

int b,c,d;  //储存下标:b和d储存最大值的下标,d储存最小值的下标

int flag=0;  //判断是否有鞍点:值为1则有,值为0则无

int max,min;  //每行中的最大值和每列中的最小值

//第一层循环遍历每一行

for(i=0;im;i++)

{

//先该行中的第一个数赋值给最大值并保存其位置

max=a[i][0];

b=i;

d=0;

//找出每一行中的最大值的值及位置

for(j=0;jn;j++)

{

if(maxa[i][j])

{

max=a[i][j];

b=i;

d=j;

}

}

//先将找到的最大值赋值给最小值,作为初值并存储下标(由于列是一样的所以只需要储存行的位置即可)

min=max;

c=b;

//从找到的最大值中的那一列找该列的最小值并存储其位置

for(k=0;km;k++)

{

if(mina[k][d])

{

min=a[k][d];

c=k;

}

}

//判断最大值和最小值的位置是否相同

if(b==c)

{

flag=1;

break;

}

}

//输出语句

if(flag==1)

printf("a[%d][%d] is %d\n",b,d,max);

else

printf("No saddle point!\n");

}

用c语言怎么编写输入一个矩阵求其逆矩阵的程序?

这是我编的一个简易矩阵计算器,C++语言,非常容易理解的,你可以参考求行列式和逆部分

#include iostream

#include iomanip

#include conio.h

#include "windows.h"

#include string

using namespace std;

void gotoxy(int x,int y) // 列x: 0~79 行y: 0~24

{ HANDLE hConsole=GetStdHandle(STD_OUTPUT_HANDLE);

COORD coordScreen={x,y};

SetConsoleCursorPosition(hConsole,coordScreen);

return;

}

void setcolor(unsigned short ForeColor,unsigned short BackColor)

// 0--黑 1--暗蓝 2--暗绿 3--暗青 4--暗红 5--暗紫 6--蟹黄 7--暗白

// 8--灰 9--亮蓝 10-亮绿 11-亮青 12-亮红 13-亮紫 14-黄 15-亮白

{ HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleTextAttribute(hCon,(ForeColor % 16)|(BackColor % 16 * 16));

};

int main()

{

void plu();

void sub();

void amo();

void mul();

void ran();

void ord();

char sel='1';

while(sel != '0')

{ int i;

system("cls"); // 清屏

setcolor(15,0); // 下面显示黑底亮青字

gotoxy(8,1); cout"┌───────────────────────────┐";

for(i=2;i20;i++)

{gotoxy(8,i);cout"│";gotoxy(64,i);cout"│";}

setcolor(15,6); // 下面显示红底白字

gotoxy(10,3); cout" ";

gotoxy(10,4); cout" 简 易 矩 阵 计 算 器 ";

gotoxy(10,5); cout" ";

setcolor(15,0); // 下面显示黑底亮青字

gotoxy(10,7); cout" 1 ---- 矩阵加法 2 ---- 矩阵减法 ";

gotoxy(10,9); cout" 3 ---- 矩阵数乘 4 ---- 矩阵乘法 ";

gotoxy(10,11); cout" 5 ---- 矩阵行列式 6 ---- 矩阵的逆 ";

gotoxy(10,13); cout" 0 ---- 退出 ";

gotoxy(10,15); cout" 请选择(0--6):";

gotoxy(8,20); cout"└───────────────────────────┘";

do

{ gotoxy(28,15); sel=getche( );}

while ( sel!='1' sel!='2' sel!='3' sel!='4' sel!='5' sel!='6' sel!='0');

switch(sel)

{

case '1':plu(); break;

case '2':sub(); break;

case '3':amo(); break;

case '4':mul(); break;

case '5':ran(); break;

case '6':ord(); break;

case '0': break;

}

}

system("cls");

gotoxy(25,10);

cout"谢 谢 使 用 系 统 !"endl;

return 0;

}

void plu()//加法

{ char l;

system("cls"); // 清屏

setcolor(14,0); // 下面用黑底黄字

int a,b,i,j;

gotoxy(0,0);cout" 矩阵加法 ";

gotoxy(0,2);cout"请输入矩阵的行数:";

cina;

coutendl;

cout"请输入矩阵的列数:";

cinb;

coutendl;

double m[10][10],n[10][10];

cout"请输入第一个矩阵:"endl;

for(i=0;ia;i++)

for(j=0;jb;j++)

{gotoxy(6*j+20,2*i+6); cinm[i][j];}

coutendlendl"请输入第二个矩阵:"endl;

for(i=0;ia;i++)

for(j=0;jb;j++)

{gotoxy(6*j+20,2*a+2*i+7);cinn[i][j];}

coutendl""endl"矩阵加法结果为:";

for(i=0;ia;i++)

for(j=0;jb;j++)

{gotoxy(6*j+20,4*a+2*i+8);coutm[i][j]+n[i][j];}

gotoxy(0,6*a+9);

cout"按任意键退出:";

l=getche();

}

void sub()//减法

{ char l;

system("cls"); // 清屏

setcolor(14,0); // 下面用黑底黄字

int a,b,i,j;

gotoxy(0,0);cout"矩阵减法";

gotoxy(0,2);cout"请输入矩阵的行数:";

cina;

coutendl;

cout"请输入矩阵的列数:";

cinb;

coutendl;

double m[10][10],n[10][10];

cout"请输入第一个矩阵:"endl;

for(i=0;ia;i++)

for(j=0;jb;j++)

{gotoxy(6*j+20,2*i+6); cinm[i][j];}

coutendlendl"请输入第二个矩阵:"endl;

for(i=0;ia;i++)

for(j=0;jb;j++)

{gotoxy(6*j+20,2*a+2*i+7);cinn[i][j];}

coutendl""endl"矩阵减法结果为:";

for(i=0;ia;i++)

for(j=0;jb;j++)

{gotoxy(6*j+20,4*a+2*i+8);coutm[i][j]-n[i][j];}

gotoxy(0,6*a+9);

cout"按任意键退出:";

l=getche();

}

void amo()//数乘

{ char h;

system("cls"); // 清屏

setcolor(14,0); // 下面用黑底黄字

int a,b,i,j;

gotoxy(0,0);cout"矩阵数乘";

gotoxy(0,2);cout"请输入矩阵的行数:";

cina;

coutendl;

cout"请输入矩阵的列数:";

cinb;

coutendl;

double m[10][10],c;

cout"请输入矩阵:"endl;

for(i=0;ia;i++)

for(j=0;jb;j++)

{gotoxy(6*j+20,2*i+6);cinm[i][j];}

coutendl"请输入与矩阵相乘的实数:";

cinc;

coutendlendl"矩阵数乘结果为:";

for(i=0;ia;i++)

for(j=0;jb;j++)

{gotoxy(8*j+20,2*a+2*i+9);coutm[i][j]*c;}

gotoxy(0,4*a+12);

cout"按任意键退出:";h=getche();

}

void mul()//乘法

{

char k;

system("cls"); // 清屏

setcolor(14,0); // 下面用黑底黄字

int a,b,c,i,j,q;

gotoxy(0,0);cout"矩阵乘法";

gotoxy(0,2);cout"请输入第一个矩阵的行数:";

cina;

coutendl"请输入第一个矩阵的列数:";

cinb;

coutendl"则第二个矩阵的行数也为:"b;

coutendlendl"请输入第二个矩阵的列数:";

cinc;

coutendl;

double m[10][10],n[10][10],p[10][10]={0};

cout"请输入第一个矩阵:"endl;

for(i=0;ia;i++)

for(j=0;jb;j++)

{gotoxy(6*j+18,2*i+10); cinm[i][j];}

coutendlendl"请输入第二个矩阵:";

for(i=0;ib;i++)

for(j=0;jc;j++)

{gotoxy(6*j+18,2*a+2*i+11);cinn[i][j];}

coutendl""endl"矩阵相乘结果为: ";

for(i=0;ia;i++)

for(j=0;jc;j++)

for(q=0;qb;q++) p[i][j]=p[i][j]+m[i][q]*n[q][j];

for(i=0;ia;i++)

for(j=0;jc;j++)

{gotoxy(10*j+18,2*a+2*b+2*i+12);coutp[i][j];}

gotoxy(16,2*a+2*b+2*i+15);

cout"按任意键退出:";k=getche();

}

//===================================================行列式

float Fun(int n1,float a1[10][10]);

void ran()

{

system("cls"); // 清屏

setcolor(15,0); // 下面用黑底黄字

char k;

int n,i,j;

cout"矩阵行列式"endlendl"请输入矩阵阶数: ";

cinn;

coutendl"请输入矩阵:"endl;

float a[10][10];

for(i=0;in;i++)

for(j=0;jn;j++)

{gotoxy(6*j+12,2*i+4);cina[i][j];}

coutendl"行列式为: "Fun(n,a)endlendl;

cout"按任意键退出:";

k=getche();

}

float Fun(int n1,float a1[10][10])//求行列式的递归函数

{

int i_1,j_1,c;//c为数组b的行

float b[10][10];

int p=0,q=0;

float sum=0;

if(n1==1) return a1[0][0];

for(i_1=0;i_1n1;i_1++)

{

for(c=0;cn1-1;c++)

{if(ci_1) p=0;

else p=1;

for(j_1=0;j_1n1-1;j_1++)

{b[c][j_1]=a1[c+p][j_1+1];}

}

if(i_1%2==0)

q=1;

else q=(-1);

sum=sum+a1[i_1][0]*q*Fun(n1-1,b);

}return sum;

}

//================================================================

void ord()

{

char g;

system("cls"); // 清屏

setcolor(15,0); // 下面用黑底黄字

int i,j,n;

gotoxy(0,0);cout"矩阵的逆";

gotoxy(0,2);cout"请输入矩阵的阶数:";

cinn;

coutendl;

cout"请输入矩阵:";

float l[10][10],m[10][10],p;

for(i=0;in;i++)

for(j=0;jn;j++)

{gotoxy(4*j+12,2*i+4); cinl[i][j];}

if(Fun(n,l)==0) coutendl"该矩阵无逆!!!"endl;

else

{p=Fun(n,l);

coutendl"矩阵的逆为: ";

for(i=0;in;i++)

for(j=0;jn;j++)

{{float f[10][10];

int r,w,e,d;//e为数组f的行数

for(int j_1=0,e=0;j_1n-1,en-1;j_1++,e++)

for(int i_1=0,d=0;i_1n-1,dn-1;i_1++,d++)

{if(ei) r=0;else r=1;

if(dj) w=0;else w=1;

f[i_1][j_1]=l[i_1+w][j_1+r];};

if((i+j)%2==0) m[i][j]=Fun(n-1,f)/p;

else m[i][j]=-Fun(n-1,f)/p;

};

gotoxy(9*j+12,2*n+2*i+4);coutm[i][j];};};

coutendlendl"按任意键退出:";g=getche();

}

c语言如何输入矩阵

c语言输入矩阵方法:先自己输入阶数,再输入各个元素。C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括一些类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。

更多关于c语言如何输入矩阵,进入:查看更多内容

用C语言编写程序求矩阵的n次方

这要看具体情况 一般有以下几种方法 1. 计算A^2,A^3 找规律, 然后用归纳法证明 2. 若r(A)=1, 则A=αβ^T, A^n=(β^Tα)^(n-1)A 注: β^Tα =α^Tβ = tr(αβ^T) 3. 分拆法: A=B+C, BC=CB, 用二项式公式展开 适用于 B^n 易计算, C的低次幂为零: C^2 或 C^3.

关于易语言找矩阵代码和易语言矩阵算法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/20989.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载