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

离散数学:判断任意一个关系是否为函数,若是函数,判定其是否为单射、满射或双射[通俗易懂]题目:函数的判定内容:判断任意一个关系是否为函数,若是函数,判定其是否为单射、满射或双射。要求: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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • icem搅拌器网格划分_搅拌器研究所的第六个开放电影项目[通俗易懂]

    icem搅拌器网格划分_搅拌器研究所的第六个开放电影项目[通俗易懂]icem搅拌器网格划分BlenderInstitute的第六个电影项目,代号为Gooseberry,已进入BlenderInstitute迄今为止最开放的制作中。如果您到目前为止一直在关注该项目,那么您已经对Blender的“开放式生产”(大量共享)的含义有所了解。艺术家和开发人员共享原始布局动画,开发中的艺术作品以及他们用来制作电影的文件,并每周为粉丝和关注者举办Google…

    2022年5月26日
    38
  • js里面的document.cookie详解

    js里面的document.cookie详解设置cookie每个cookie都是一个名/值对,可以把下面这样一个字符串赋值给document.cookie:document.cookie=”userId=828″;如果要一次存储多个名/值对,可以使用分号加空格(;)隔开,例如:document.cookie=”userId=828;userName=hulk”;在cookie的名或值中不能使用分号(;)、逗号(,)、

    2022年7月11日
    37
  • datagrip 激活码【2021最新】

    (datagrip 激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~ML…

    2022年3月21日
    54
  • 使用Perl读取Excel文件

    使用Perl读取Excel文件

    2021年8月16日
    58
  • 【离散数学】平面图

    【离散数学】平面图介绍图论中的平面图

    2022年5月26日
    38
  • 数据结构—完全二叉树「建议收藏」

    数据结构—完全二叉树「建议收藏」上篇博客介绍了一种非线性结构—普通树的含义以及一些特性,本文将介绍二叉树、满二叉树以及完全二叉树的一些特性及实现。首先,什么是二叉树?二叉树,是度为二的树,二叉树的每一个节点最多只有二个子节点,

    2022年6月30日
    29

发表回复

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

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