离散数学:判断任意一个关系是否为函数,若是函数,判定其是否为单射、满射或双射[通俗易懂]

离散数学:判断任意一个关系是否为函数,若是函数,判定其是否为单射、满射或双射[通俗易懂]题目:函数的判定内容:判断任意一个关系是否为函数,若是函数,判定其是否为单射、满射或双射。要求:1、提供函数(f:A—>B)的输入接口;(输入包括集合A,集合B和具体的函数关系(序偶集));2、对函数的性质进行判断(判断单射、满射和双射);3、提供判断结果的输出。代码:#include<string.h>#include<iostream>usingnamespacestd;char*A,*B,*F;inta,b,f;intJudge(c

大家好,又见面了,我是你们的朋友全栈君。

题目:函数的判定

内容:判断任意一个关系是否为函数,若是函数,判定其是否为单射、满射或双射。

要求:

1、提供函数(f:A—>B)的输入接口;(输入包括集合A,集合B和具体的函数关系(序偶集));

2、对函数的性质进行判断(判断单射、满射和双射);

3、提供判断结果的输出。

代码:

#include<string.h>
#include<iostream>
using namespace std;

char *A,*B,*F;
int a,b,f;


int Judge(char *A,char*B,char*F){ 
   
    int i,j,k;
    for(i=1;i<a;i=i+2){ 
   
        k=0;
        for(j=2;j<f;j+=6){ 
   
                if(F[j]==A[i])
                        k++;
        }
        if(k==0||k>1)
                return 0;
    }
    return 1;
}

int ds(char*A,char*B,char*F){ 
   
    int i,j;
    for(i=4;i<b;i=i+6)
        for(j=4;j<f;j=j+6)
        if(F[i]==F[j]&&F[i-2]!=F[j-2])return 0;
    return 1;
}

int ms(char*A,char*B,char*F){ 
   
        int i,j;
        for(i=1;i<b;i=i+2){ 
   
                for(j=4;j<f;j=j+6)
                        if(F[j]==B[i])break;
                if(j>f)return 0;
        }
        return 1;
}


int main(){ 
   
    A=new char;
    B=new char;
    F=new char;
    cout<<"输入集合A:"<<endl;
    cin>>A;
    cout<<"输入集合B:"<<endl;
    cin>>B;
    cout<<"输入A到B的关系:"<<endl;
    cin>>F;
    a=strlen(A);
    b=strlen(B);
    f=strlen(F);
    cout<<"集合"<<A<<"到"<<B<<"的一个关系是:"<<F<<endl;
    if(!Judge(A,B,F)){ 
   
        cout<<"不满足函数定义!"<<endl;
    }
    else if(ds(A,B,F)&&ms(A,B,F)){ 
   
        cout<<"此为双射!"<<endl;
    }
    else if(ds(A,B,F))cout<<"此为单射"<<endl;
    else if(ms(A,B,F))cout<<"此为满射"<<endl;
    else cout<<"二者皆不是!"<<endl;


return 0;
}

结果展示:
在这里插入图片描述
在这里插入图片描述
按照这个格式来输入就没啥问题的

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/138505.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 利用pycharm安装requests库「建议收藏」

    利用pycharm安装requests库「建议收藏」最近在学python,虽然也没怎么系统的学。像我这种小白giser一般对于编程的态度就是当工具来用,用到什么学一点儿。因为以后的研究可能会涉及到爬数据,所以最近开始试水爬虫。爬虫第一步就是安装第三方库,这里我用requests库。我看了很多博文都是用pipinstall,觉得挺麻烦,后来试了一下直接在pycharm中安装,秒装上。1.打开pycharm,file-setting2.点右侧小加号3、搜索requests库4、installpackage…

    2022年8月28日
  • 最新idea激活码永久_通用破解码[通俗易懂]

    最新idea激活码永久_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
  • 全方位剖析QT 面试题 胡峰原创

    全方位剖析QT 面试题 胡峰原创自己毕业后参加过很多面试,当然有以应聘者的身份参加的也有以面试官的身份参加的,下面我想总结下一些面试官出题的方向和回答的技巧,下面截取我对一个应届毕业生的面试过程作为讲解,希望能对再今后的面试任职时有所帮助。姓名AAA性别男民族汉族籍贯河北省AA出生日期AAA婚姻状况否学历学士政治面貌AA专业计算机科学与技术健康情况健康毕业院校AAA邮编A联系电话AAA邮箱AA个人技能我学习了嵌入式方向所涉及的51单片机、操作系统、ARM、Qt等,期间做过许多小实验,单片机最经典的

    2022年6月25日
  • 代理服务器调研[通俗易懂]

    代理服务器调研[通俗易懂]1.名词解释:代理服务器是一种重要的服务器安全功能,它的工作主要在开放系统互联(OSI)模型的会话层,从而起到防火墙的作用。代理服务器大多被用来连接国际互联网和局域网。2.相关概念(1)代理也称网络代理,是一种特殊的网络服务,允许一个网络终端(一般为客户端)通过这个服务与另一个网络终端(一般为服务器)进行非直接的连接。一些网关、路由器等网络设备具备网络代理功能。一般认为代理服务有利于保

    2022年5月5日
  • 超多淘宝京东抢购秒杀软,脚本,易语言软,有作者

    超多淘宝京东抢购秒杀软,脚本,易语言软,有作者抢购软件主页进行下载,欢迎交流

    2022年5月18日
  • Docker使用方法_docker工作原理

    Docker使用方法_docker工作原理Docker作为轻量级虚拟化隔离解决方案,具有简单高效、移植方便、性能开销低等优势,在渗透测试领域可以利用Docker进行靶场环境搭建、工具开发测试、扫描工具配置、主机群部署等,可以让渗透测试工作更加简洁高效。

    2022年11月2日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号