当前位置: 首页 > news >正文

集合的运算

集合的运算

#include <stdio.h>
#include <stdlib.h>
void print(int size, char arr[])
{if (size == 0) {printf("null");}for (int i = 0; i < size; i++) {printf("%c", arr[i]);}printf("\n");
}
int main()
{char U[] = { 'a','b','c','d','e','f','g','h' };char A[] = { 'a','b','c','g' };char B[] = { 'd','e','f','g' };char C[] = { 'a','c','f' };char D[] = { 'f','h' };int M = sizeof(A) / sizeof(A[0]);//计算A集合的大小int N = sizeof(B) / sizeof(B[0]);//计算B集合的大小int P = sizeof(C) / sizeof(C[0]);//计算C集合的大小int Q = sizeof(D) / sizeof(D[0]);//计算D集合的大小int R = sizeof(U) / sizeof(U[0]);//计算U集合的大小char E[100] = { '0' };char F[100] = { '0' };char G[100] = { '0' };char H[100] = { '0' };char I[100] = { '0' };char J[100] = { '0' };char K[100] = { '0' };char L[100] = { '0' };int size = 0;//标记结果集合的大小for (int i = 0; i < M; i++) {for (int j = 0; j < N; j++) {if (A[i] == B[j]) {E[size] = A[i];size++;break;}}}printf("A∩B    :");print(size, E);int Size = 0;for (int i = 0; i < size; i++) {int find = 0;for (int j = 0; j < P; j++) {if (E[i] == C[j]) {find = 1;break;}}if (find == 0) {K[Size] = E[i];Size++;}}printf("(A∩B)-C:");print(Size, K);size = 0;for (int i = 0; i < N; i++) {for (int j = 0; j < P; j++) {for (int k = 0; k < Q; k++) {if ((B[i] == C[j]) && (C[j] == D[k])){G[size] = B[i];size++;}}}}printf("B∩C∩D  :");print(size, G);size = 0;for (int i = 0; i < N; i++) {F[size] = B[i];size++;}for (int i = 0; i < P; i++) {int find = 0;for (int j = 0; j < N; j++) {if (C[i] == B[j]) {find = 1;break;}}if (find == 0) {F[size] = C[i];size++;}}printf("B∪C    :");print(size, F);Size = 0;for (int i = 0; i < M; i++) {for (int j = 0; j < size; j++) {if (A[i] == F[j]) {J[Size] = A[i];Size++;}}}printf("A∩(B∪C):");print(Size, J);Size = 0;for (int i = 0; i < size; i++) {L[Size] = F[i];Size++;}for (int i = 0; i < M; i++) {int find = 0;for (int j = 0; j < size; j++) {if (A[i] == F[j]) {find = 1;break;}}if (find == 0) {L[Size] = A[i];Size++;}}printf("A∪B∪C  :");print(Size, L);size = 0;for (int i = 0; i < R; i++) {int find = 1;for (int j = 0; j < M; j++) {if (U[i] == A[j]) {find = 0;break;}}if (find == 1) {H[size] = U[i];size++;}}printf("A的补集:");print(size, H);size = 0;for (int i = 0; i < P; i++) {int find = 0;for (int j = 0; j < Q; j++) {if (C[i] == D[j]) {find = 1;break;}}if (find == 0) {I[size] = C[i];size++;}}printf("C-D    :");print(size, I);Size = 0;return 0;
}
http://www.lryc.cn/news/235995.html

相关文章:

  • 在MySQL上实现间隔5分钟汇总取数及相关字符串、时间处理方法实践
  • 什么是AIGC
  • 〖大前端 - 基础入门三大核心之JS篇㊳〗- DOM访问元素节点
  • GitHub Universe 2023:AI 技术引领软件开发创新浪潮
  • 数据结构:红黑树的插入实现(C++)
  • 飞天使-django之数据库简介
  • Flink之KeyedState
  • c语言:模拟实现qsort函数
  • 从0开始学习数据结构 C语言实现 1.前篇及二分查找算法
  • VSCode 使用CMakePreset找不到cl.exe编译器的问题
  • 【Linux系统化学习】进程的状态 | 僵尸进程 | 孤儿进程
  • 深信服AC流量管理技术
  • 二元关系及关系代数中的象集、除运算
  • [PHP]关联和操作MySQL数据库然后将数据库部署到ECS
  • 23.11.19日总结
  • 系列一、JVM概述
  • milvus数据管理-压缩数据
  • SpringBoot项目连接linux服务器数据库两种解决方法(linux直接开放端口访问本机通过SSH协议访问,以mysql为例)
  • 【Rust】快速教程——闭包与生命周期
  • redis高级案列case
  • Vue3+Vite实现工程化,attribute属性渲染v-bind指令
  • 下一代搜索引擎会什么?
  • WPF中如何在MVVM模式下关闭窗口
  • 【数据结构&C++】二叉平衡搜索树-AVL树(25)
  • Python算法——树的最大深度和最小深度
  • 46.全排列-py
  • 系列三、GC垃圾回收算法和垃圾收集器的关系?分别是什么请你谈谈
  • WPF中的虚拟化是什么
  • 免费稳定几乎无门槛,我的ChartGPT助手免费分享给你
  • 奇瑞金融:汽车金融行业架构设计