c++-编写程序,求两个整数集合的并集。。。

问题描述

编写程序,求两个整数集合的并集。。。

编写程序,求两个整数集合的并集。。。能不能把下面这个修改一下??如果可以,再写一个完整的程序也可以

解决方案

这是按照你的思路写的(假设a b两个数组内没有重复的数字)

#include <iostream>
#include <stdlib.h>
using namespace std;

void arrunion(int a[], int b[], int r[], int an, int bn, int * n)
{
    *n = an;
    memcpy(r, a, an * sizeof(int));
    for (int i = 0; i < bn; i++)
    {
        bool f = true;
        for (int j = 0; j < an; j++)
        {
            if (r[j] == b[i]) { f = false; break; }
        }
        if (f) { r[*n] = b[i]; *n = *n + 1; }
    }
}

int main()
{
    int a[10] = {1,2,3,4,5,6,7,8,9,10};
    int b[10] = {3,4,5,6,7,8,10,11,8,3};
    int c[20];
    int n = 0;
    arrunion(a, b, c, 10, 10, &n);
    for (int i = 0; i < n; i++)
        cout << c[i] << " ";
    cout << endl;
    return 0;
}

解决方案二:

这种问题不要贴图,请给出程序,总不至于让人帮你再敲一遍吧。

解决方案三:

我写了一个另外的,先连接两个数组,排序,然后去掉重复的。

#include <iostream>
#include <stdlib.h>
using namespace std;

int cmp(const void * a, const void * b)
{
    return (*(int *)a) - (*(int *)b);
}

void arrunion(int a[], int b[], int r[], int an, int bn, int * n)
{
    int dif = 0;
    memcpy(r, a, an * sizeof(int));
    memcpy(r + an, b, bn * sizeof(int));
    qsort(r, an + bn, sizeof(int), cmp);
    for (int i = 1; i < (an + bn); i++)
    {
        if (r[i] == r[i - 1 - dif])
        {
            dif++;
        }
        else
        {
            r[i - dif] = r[i];
        }
    }
    *n = an + bn - dif;
}

int main()
{
    int a[10] = {1,2,3,4,5,6,7,8,9,10};
    int b[10] = {3,4,5,6,7,8,10,11,8,3};
    int c[20];
    int n = 0;
    arrunion(a, b, c, 10, 10, &n);
    for (int i = 0; i < n; i++)
        cout << c[i] << " ";
    cout << endl;
    return 0;
}

1 2 3 4 5 6 7 8 9 10 11
Press any key to continue

解决方案四:

以后出题的时候把代码复制粘贴出来,不要贴截图

时间: 2024-12-22 16:40:20

c++-编写程序,求两个整数集合的并集。。。的相关文章

如何用汇编语言编写程序 求大神帮忙

问题描述 如何用汇编语言编写程序 求大神帮忙 数据段定义10个连续的16位无符号数FBNC-ARRAY(每个数组元素占用一个字,共10个元素,用于保存斐波那契数列的前10项),其中前两个元素分别是0和1,此外还要定义一个双字变量SUM,编写程序,计算所有10个斐波那契数据的和,保存在SUM中. 解决方案 {求大神帮忙!!!!!!}求大神帮忙,急!!用的vs2005,这怎么解决呢,求大神帮忙 解决方案二: 这个很简单 啊,自己看看基本的汇编指令就行了,所编选一个编译器,都支持ASM的(汇编). 解

《剑指offer》写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。

弱菜刷题还是刷中文题好了,没必要和英文过不去,现在的重点是基本代码能力的恢复. [题目] 剑指offer 写一个函数,求两个整数之和,要求在函数体内不得使用+.-.*./四则运算符号. [思路] 直觉想到用二进制的位运算.最后写出来是一个迭代的过程. 每次迭代先计算x和y的和但不处理进位,那么相当于做异或,得到res1 然后处理进位问题,相当于计算与运算,得到res2 那么res2左移1位,再加到res1上,则整个运算的最终结果转化为res1+(res2<<1) 因为res2做左移,总会减小到

【11】不能使用四则运算求两个整数的和

题目:给定两个整数a和b,要求不能使用+.-.*./四则运算求两个数的和 方案:1. 四则运算不能算的情况下,肯定只能借助位运算,所以应该考虑位运算            2. 假设两个数的二进制位00101 和 10001,两个数相加的过程就是                第一步:先把二进制的各位相加但不进位,10100:                第二步:记下进位,00010                第三步:把前两步的结果相加,得到10110            3. 分析上述

c++-求大神们指点,如何编写程序来检查文件格式是否正确??假如我的一个文件里有两段内容如下

问题描述 求大神们指点,如何编写程序来检查文件格式是否正确??假如我的一个文件里有两段内容如下 $w_ang[0,0]=0 $w_ang[0,1]=-2.9 $w_ang[0,2]=-8.8 $w_ang[0,3]=-15.7 $w_ang[0,4]=-21.7 $w_ang[0,5]=-28.2 $w_ang[0,6]=-35.8 $w_ang[0,7]=-43.1 $w_ang[0,8]=-49.7 $w_ang[0,9]=-55.8 $w_ang[0,10]=-62.7 $w_ang_st

编写高质量代码改善C#程序的建议:泛型集合、选择集合和集合的安全

前言 软件开发过程中,不可避免会用到集合,C#中的集合表现为数组和若干集合类.不管是数组还是集合类,它们都有各自的优缺点.如何使用好集合是我们在开发过程中必须掌握的技巧.不要小看这些技巧,一旦在开发中使用了错误的集合或针对集合的方法,应用程序将会背离你的预想而运行. 本文已更新至http://www.cnblogs.com/aehyok/p/3624579.html .本文主要学习记录以下内容: 建议20.使用泛型集合来替代非泛型集合 建议21.选择正确的集合 建议22.确保集合的线性安全 建议

函数-编写程序从键盘输入10个float类型数存入一维数组a中,求这10个数的平均值,

问题描述 编写程序从键盘输入10个float类型数存入一维数组a中,求这10个数的平均值, 编写程序从键盘输入10个float类型数存入一维数组a中,求这10个数的平均值,然后用函数aver实现平均值计算,输出这10个数以及平均值,要求数组和元素个数作为参数传递. 声明函数avar: (3)主函数输入10个数据,用for循环语句输入: 解决方案 你能不能再懒点?发了这个问题编写程序,从键盘输入10个int类型数,按从小到大顺序进行排序,然后输出,都有答案了,整数改成浮点的自己都不改. 解决方案二

求解:编写一个程序,接受一个整数输入,然后显示所有小于或等于该数的素数。

问题描述 求解:编写一个程序,接受一个整数输入,然后显示所有小于或等于该数的素数. #include #include #include int main(void) { int i; while(scanf("%d",i)) { for(int j=1;j<=i;j++) { for(int k=1;k<j;k++) { if(j%k==0) continue; else goto line; } line: printf("there are %d"

数据结构实践——“求两集合交集”的一个错解分析

本文点评一位学生对基于线性表存储集合,然后对集合进行求并运算的错解,供学习者参考. [项目 - 求集合并集] 假设有两个集合 A 和 B 分别用两个线性表 LA 和 LB 表示,即线性表中的数据元素即为集合中的成员.设计算法,用函数unionList(List LA, List LB, List &LC )函数实现该算法,求一个新的集合C=A∪B,即将两个集合的并集放在线性表LC中. 提示: (1)除了实现unnionList函数外,还需要在main函数中设计代码,调用unionList进行测试

KINECT1.7如何将深度图像保存到电脑,求用C++编写程序

问题描述 KINECT1.7如何将深度图像保存到电脑,求用C++编写程序 5C 将程序写入例子程序,实现自动完成,用C++来完成,最后保存为PNG格式,这个需要用来计算距离.求大神指导