离散数学实验报告_第1页
离散数学实验报告_第2页
离散数学实验报告_第3页
离散数学实验报告_第4页
离散数学实验报告_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上课程名称: 离散数学课程设计 指导教师: 班级: 信软2014-2 姓名: 学号: 实验项目名称:若干代数系统的计算机判断-群的判定实验目的及要求:【实验目的】掌握群的判定方法。【实验内容】输入代数系统(A,*)的集合A和*运算的运算表,判断(A,*)是否是群。 实验原理:【实验原理和方法】(1)用一维数组an存贮集合A。(2)用二维数组opnn存贮运算表。(3)根据群的定义,代数系统(A,*)若为群,除运算表已表明运算*封闭外,还应该满足下列三个条件:*运算可结合、有幺元e、 A中任何元素都有逆元。*运算可结合:for(i=0;i<N;i+)for(j=0;j

2、<N;j+)for(k=0;k<N;k+)for(l=0;l<N;l+)if(opij=al) x=l;/*opij 代表a*b*/if(opjk=al) y=l;/*opjk 代表b*c*/if(opiy!=opxk)/*opiy代表a*(b*c)*/printf("(%d*%d)*%d=%d,%d*(%d*%d)=%d,运算是不可结合!n",ai,aj,ak,opxk,ai,aj,ak,opiy);flag=0;/*不满足结合性*/if(flag) printf("运算是可结合!n");有幺元e:flag=0;for(i=0;i&l

3、t;N;i+)for(j=0;j<N;j+)if(opij!=aj | opji!=aj) break;if(j=N) printf("群有幺元%d!n",ai); e=ai;flag=1; break;if(!flag) printf("群没有幺元!n");A中任何元素都有逆元:flag=1;for(i=0;i<N;i+)for(j=0;j<N;j+)if(opij=e && opji=e) break;/*e是幺元*/if(j=N) flag=0;printf("A中元素%d没有逆元!n",aj)

4、;if(flag) printf("A中任何元素都有逆元!n");实验内容:完整代码:#include "stdio.h"#include "stdlib.h"#include "math.h"#define OK 1#define ERROR 0#define N 2typedef int Status ;typedef int ElemType;ElemType Vcomplete(ElemType x,ElemType y)/群对应的运算return x*y;Status juzhen(ElemType *a

5、,ElemType *op)/构造op矩阵int i,j;for (i=0;i<N;i+)for (j=0;j<N;j+)opij=Vcomplete(ai,aj);printf("complete: *");return OK;Status jiehe(ElemType *op,ElemType *a)/运算可结合int i,j,k,l,x,y;int flag=0;for(i=0;i<N;i+) for(j=0;j<N;j+) for(k=0;k<N;k+) for(l=0;l<N;l+) if(opij=al) x=l;/*opij

6、 代表a*b*/矩阵中的位置,在群中找到相应的元素,保存这个元素位置; if(opjk=al) y=l;/*opjk 代表b*c*/ if(opiy!=opxk)/*opiy代表a*(b*c)*/通过找矩阵中元素的与剩下元素运算在矩阵中对应位置; printf("(%d*%d)*%d=%d,%d*(%d*%d)=%d,运算是不可结合!n",ai,aj,ak,opxk,ai,aj,ak,opiy); flag=0;/*不满足结合性*/ if(flag) printf("运算是可结合!n");Status yaoyuan(ElemType *a,ElemTy

7、pe *op,ElemType *e)/有幺元int i,j;int flag=0;for(i=0;i<N;i+) for(j=0;j<N;j+) if(opij!=aj | opji!=aj) break;/行和列对这个元素保持不变if(j=N) printf("群有幺元%d!n",ai);e=ai;flag=1; break;if(!flag) printf("群没有幺元!n");return OK;Status ni(ElemType *a,ElemType *op,ElemType e)/有逆int i,j;int flag=1;fo

8、r(i=0;i<N;i+) for(j=0;j<N;j+) if(opij=e && opji=e) break;/*e是幺元*/ if(j=N-1) flag=0; printf("A中元素%d没有逆元!n",aj);return ERROR;if(flag) printf("A中任何元素都有逆元!n");return OK;int main()ElemType aN;int i,j;for (i=0;i<N;i+)printf("Number %d :",i+1);scanf("%d",&ai);fflush(stdin);printf("complete: *n");ElemType opNN;ElemType e;for (i=0;i<N;i+)for (j=0;j<N;j+)opij=Vcomplete(ai,aj);printf("complete: *");jiehe(op,a);yaoyuan(a,op,&e);ni(a,op,e);实验结果与分析:实验结果:Number 1:1Number 2:2complete: *运算是可结合!群有幺元1!A中任何元素都有逆元!结果分析:1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论