这要开课了。
笛卡尔(Descartes)乘积又叫直积。假设集合A=a,b,集合B=0,1,2,则两个集合的笛卡尔积为(a,0),(a,1),(a,2),(b,0),(b,1), (b,2)。可以扩展到多个集合的情况。类似的例子有,如果A表示某学校学生的集合,B表示该学校所有课程的集合,则A与B的笛卡尔积表示所有可能的选课情况。。。。
先读一下百度百科文章,再慢慢研究:
>
代码1:
Sub 宏1()Dim i, a, b
i = 1
For Each a In Range("a1:a9")Cells
For Each b In Range("b1:b8")Cells
Cells(i,3) = a & b
i = i + 1
Next b
Next a
End Sub
代码2:
Sub 宏2()Dim a,b,i,j,k
a = Range("a1")
b = Range("b1")
k = 1
For i = 1 To Len(a)
For j=1 To Len(b)
Cells(k,3) = Mid(a,i,1) & Mid(b,j,1)
k = k + 1
Next j
Next i
End Sub
使用交叉连接产生笛卡尔乘积
select
from
A
cross
join
B
或不使用任何连接条件,也可产生笛卡尔乘积
select
from
A,B
笛卡尔乘积与列无关,如果你想显示某几列,就在select后面指定相应的列名即可
补充:
用A表的某列与B表做笛卡尔积,道理是一样的,你可以把该列看做是一个表源如:
select
from
(select
distinct
某列
from
A)
C
cross
join
B
以上就是关于C语言中笛卡尔积是什么 对象的特点是什么全部的内容,包括:C语言中笛卡尔积是什么 对象的特点是什么、两个关系有重叠,怎么用笛卡尔积、Excel vba笛卡尔乘积等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)