编写程序,它能读入构成集合A,B的两组非零整数X1,X2,...,Xm;Y1,Y2,...,YM.计算A与B的交集A∩B,再以由小到大的顺序输出A∩B中的元素,A∩B为空时无输出。

#include <iostream>
using namespace std;
const int Max_Length = 10;

int main()
{
    int arr[Max_Length];
    int brr[Max_Length];
    int i, j;
    int crr[Max_Length]; // 用于存储交集
    int crrLength = 0;

    // 输入数组arr
    for (i = 0; i < Max_Length; i++) {
        cout << "请输入整型数组arr中第" << (i + 1) << "个元素:";
        cin >> arr[i];
        if (arr[i] == 0) break; // 输入0结束输入
    }
    int arrLength = i; // 实际输入的元素个数

    // 输入数组brr
    for (j = 0; j < Max_Length; j++) {
        cout << "请输入整型数组brr中第" << (j + 1) << "个元素:";
        cin >> brr[j];
        if (brr[j] == 0) break; // 输入0结束输入
    }
    int brrLength = j; // 实际输入的元素个数

    // 计算交集
    for (i = 0; i < arrLength; i++) {
        for (j = 0; j < brrLength; j++) {
            if (arr[i] == brr[j]) {
                bool alreadyInCrr = false;
                for (int k = 0; k < crrLength; k++) {
                    if (crr[k] == arr[i]) {
                        alreadyInCrr = true;
                        break;
                    }
                }
                if (!alreadyInCrr) {
                    crr[crrLength] = arr[i];
                    crrLength++;
                }
                break; // 找到交集元素后退出内层循环
            }
        }
    }

    // 对交集进行排序
    for (i = 0; i < crrLength - 1; i++) {
        for (j = i + 1; j < crrLength; j++) {
            if (crr[i] > crr[j]) {
                int temp = crr[i];
                crr[i] = crr[j];
                crr[j] = temp;
            }
        }
    }

    // 输出交集
    if (crrLength > 0) {
        cout << "两个整形数组的交集从小到大的排序为:";
        for (i = 0; i < crrLength; i++) {
            cout << crr[i] << " ";
        }
        cout << endl;
    }

    return 0;
}

  • 9
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值