离散数学实验笛卡尔乘积C语言,离散数学计算笛卡尔乘积C++或C语言实验报告.doc...

离散数学计算笛卡尔乘积C或C语言实验报告

离散数学实验报告

专业班级:12级计算机本部一班 姓名:鲍佳珍

学号: 201212201401016 实验成绩:

1.【实验题目】

通过编程实现求给定集合A和B的笛卡儿乘积C(C=A×B)的运算。

2.【实验目的】

已知所给集合A和B,求A与B的笛卡儿乘积C(C=A×B)。

假设集合A={1,2,3,4,5},集合B={2,3,8,9,10},

3、实验原理与实现过程

笛卡儿集合:设A,B是两个集合,称集合A×B={|(x∈A)∧(y∈B)}为集合A与B的笛卡儿积。换句话说,笛卡儿乘积是以有序偶为元素组成的集合,它的定义为C={|x∈A∧y∈B}。所以,欲求笛卡儿乘积。只需取尽由集合A的元素及集合B的元素,并构成序偶送入C之中即可。

算法描述:。

将集合A的元素个数送入N。

将集合B的元素个数送入M。

1i。

若i>N,则结束。

1j。

若j>M,则转(9)。

C。

j+1j,转(6)。

i+1i,转(4)。

4、C或C++语言编程实现

将实验内容与结果按实验报告格式要求填写并上传。

5. 【算法描述】

1.实验原理

真值表:表征逻辑事件输入和输出之间全部可能状态的表格。列出命题公式真假值的表。通常以1表示真,0 表示假。命题公式的取值由组成命题公式的命题变元的取值和命题联结词决定,命题联结词的真值表给出了真假值的算法。 真值表是在逻辑中使用的一类数学表,用来确定一个表达式是否为真或有效。

2.实验过程

首先是输入一个合理的式子,生成相应真值表,然后用函数运算,输出结果:要求可生成逻辑非、合取、析取、蕴含、双条件表达式的真值表,例如:

输入 !a

输出真值表如下:

a !a

1

0

输入a&&b

输出真值表如下:

a b a&&b

0 0 0

0 1 0

1 0 0

1 1 1

输入a||b

输出真值表如下:

a b a||b

0 0 0

0 1 1

1 0 1

1 1 1

输入a->b

输出真值表如下:

a b a->b

0 0 1

0 1 1

1 0 0

1 1 1

输入a<>b (其中<>表示双条件)

输出真值表如下:

a b a<>b

0 0 1

0 1 0

1 0 0

1 1 1

【源程序(带注释)】

#include

#include

int main()

{

int i,j,m,n,k;

int a[30],b[30];

printf("欢迎使用");

printf("请输入集合A的元素个数:");

scanf("%d",&m);

printf("请输入集合B的元素个数:");

scanf("%d",&n);

cout<

for(i=0;i

{

printf("请输入集合A的第%d个数:",i+1);

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

} //输入集合A的元素

cout<

for(j=0;j

{

printf("请输入集合B的第%d个数:",j+1); //输入集合B的元素

scanf("%d",&b[j]);

}

k=0;

printf("c={");

for(i=0;i

for(j=0;j

printf("",a[i],b[j]);

k++;

}

} //输出最后结果

printf("}\n");

return 0;

}

【实验结果与分析总结(含运行结果截图)】

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值