保留在数组中的2套差异-C ++

前夕

考虑保留在两个数组中的两个集合。找出两个集合的并集,交集和差(相对补)。

我设法解决了联合和交叉路口,但是区别给我带来了困难。有什么提示吗?并且,如果可能的话,请使其尽可能简单,不要使用功能,也不要考虑更复杂的方面,因为我是一个初学者,但我仍有很多东西要学习。

先感谢您!

#include <iostream>

using namespace std;


int main()
{
int v1[100], v2[100], u[200], intersection[100], d[100];
unsigned int v1_length, v2_length, i, j, OK = 0, union_length;

cout << "Enter the number of elements of the first array:" << " ";
cin >> v1_length;

cout << "Enter the elements of the first array:" << '\n';

for (i = 0; i < v1_length; i++)
    cin >> v1[i];

cout << "Enter the number of elements of the second array:" << " ";
cin >> v2_length;

cout << "Enter the elements of the second array:" << '\n';

for (i = 0; i < v2_length; i++)
    cin >> v2[i];


//Union

union_length = v1_length;

for (i = 0; i < v1_length; i++)
    u[i] = v1[i];

for (i = 0; i < v2_length; i++)
{
    int ok = 0;
    for (j = 0; !ok && j < v1_length; j++)
        if (v1[j] == v2[i])
            ok = 1;

    if (!ok)
    {
        u[union_length] = v2[i];
        union_length++;
    }
}

cout << "The union of the two sets contained in the arrays is: ";

for (i = 0; i < union_length; i++)
    cout << u[i] << " ";

cout << '\n';


//Intersection

unsigned int k = 0;

cout << "The intersection of the two sets contained in the arrays is: ";

for (i = 0; i < v1_length; i++)
    for (j = 0; j < v2_length; j++)
        if (v1[i] == v2[j])
        {
            intersection[k] = v1[i];
            k++;
        }

for (i = 0; i < k; i++)
    cout << intersection[i] << " ";

cout << '\n';


//Difference

unsigned int l = 0, OK2 = 0;

cout << "The difference of the two sets contained in the arrays is: ";

for (i = 0; i < v1_length; i++)
{
    for (j = 0; j < v2_length; j++)
    {
        if (v1[i] == v2[j])
            OK2 = 1;
        if (!OK2)
        {
            d[l] = v1[i];
            l++;
        }
    }
}

for (i = 0; i < l; i++)
    cout << d[i] << " ";

cout << '\n';

return 0; 
}
园丁

看来交叉路口是最好的起点。您想要只出现在两个数组之一中的项目,对吗?

因此,对于内部循环,您需要比较所有元素。然后,如果未找到匹配项,则您具有唯一元素。

您需要将花括号{}添加到for循环中。我知道花括号有时会分散注意力,但是随着时间的流逝,您可能会发现几乎总是包含花括号会更安全以避免混淆。

for (i = 0; i < v1_length; i++)
    for (j = 0; j < v2_length; j++) {
        if (v1[i] == v2[j]){
            break; // this item is not unique
        } else if(j == v2_length - 1){
            d[l] = v1[i];  // This is the unique one, add it to the answer array
            l++;
        }

    }

for (i = 0; i < l; i++)
    cout << intersection[l] << " ";

cout << '\n';

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Makefile:自动编译所有c文件,将.o文件保留在单独的文件夹中

来自分类Dev

IQueryable的顺序是否保留在C#EF Core中的实际查询中?

来自分类Dev

如何在每个括号上分割字符串并将所有文本保留在c#中的数组中

来自分类Dev

重新索引编号列表,但将重复项保留在订单C#中

来自分类Dev

ASP.NET是否将所选语言保留在多语言网站C#中?

来自分类Dev

将行号保留在数据框列中

来自分类Dev

C ++对象实例被销毁后仍保留在列表中

来自分类Dev

当字符串保留在集合中时,c_str()是否仍然有效

来自分类Dev

JavaScript数组映射,同时将原始元素保留在数组中

来自分类Dev

如何删除所有文件/文件夹,但将根文件夹保留在C#中

来自分类Dev

将项目的检查状态保留在搜索C#Winforms的复选框列表中

来自分类Dev

删除字符串,使用JavaScript将数字保留在数组中

来自分类Dev

如何仅将唯一值保留在数组中?

来自分类Dev

如何从字典中获取保留在数组中的所有键

来自分类Dev

如何仅将特定的数组键/值保留在数组中?

来自分类Dev

分割字符串并将分隔符字符串保留在C#中

来自分类Dev

忽略doctype DTD,但将其保留在转换后的XML C#中

来自分类Dev

全局静态变量的顺序是否保留在C中?

来自分类Dev

php:仅将最大值保留在数组中?

来自分类Dev

我是否保留在数组中使用?

来自分类Dev

MaterializeCSS-多重选择-取消选择后值保留在数组中

来自分类Dev

在C#中创建表单的多个实例(并将其保留在此处)

来自分类Dev

提交PHP和HTML之后,将值保留在数组中

来自分类Dev

复制,创建和更新文件,将原始文件保留在C#中

来自分类Dev

如何将具有给定名称标签的元素保留在数组中?

来自分类Dev

将第 0 行分成 2 列并将第 1 行保留在 1 列中。时间:2019-05-06 标签:c#xaml

来自分类Dev

C 标准库中的符号是否保留在 C++ 中?

来自分类Dev

将索引保留在数组中

来自分类Dev

如何从用户输入并保留在数组列表中

Related 相关文章

  1. 1

    Makefile:自动编译所有c文件,将.o文件保留在单独的文件夹中

  2. 2

    IQueryable的顺序是否保留在C#EF Core中的实际查询中?

  3. 3

    如何在每个括号上分割字符串并将所有文本保留在c#中的数组中

  4. 4

    重新索引编号列表,但将重复项保留在订单C#中

  5. 5

    ASP.NET是否将所选语言保留在多语言网站C#中?

  6. 6

    将行号保留在数据框列中

  7. 7

    C ++对象实例被销毁后仍保留在列表中

  8. 8

    当字符串保留在集合中时,c_str()是否仍然有效

  9. 9

    JavaScript数组映射,同时将原始元素保留在数组中

  10. 10

    如何删除所有文件/文件夹,但将根文件夹保留在C#中

  11. 11

    将项目的检查状态保留在搜索C#Winforms的复选框列表中

  12. 12

    删除字符串,使用JavaScript将数字保留在数组中

  13. 13

    如何仅将唯一值保留在数组中?

  14. 14

    如何从字典中获取保留在数组中的所有键

  15. 15

    如何仅将特定的数组键/值保留在数组中?

  16. 16

    分割字符串并将分隔符字符串保留在C#中

  17. 17

    忽略doctype DTD,但将其保留在转换后的XML C#中

  18. 18

    全局静态变量的顺序是否保留在C中?

  19. 19

    php:仅将最大值保留在数组中?

  20. 20

    我是否保留在数组中使用?

  21. 21

    MaterializeCSS-多重选择-取消选择后值保留在数组中

  22. 22

    在C#中创建表单的多个实例(并将其保留在此处)

  23. 23

    提交PHP和HTML之后,将值保留在数组中

  24. 24

    复制,创建和更新文件,将原始文件保留在C#中

  25. 25

    如何将具有给定名称标签的元素保留在数组中?

  26. 26

    将第 0 行分成 2 列并将第 1 行保留在 1 列中。时间:2019-05-06 标签:c#xaml

  27. 27

    C 标准库中的符号是否保留在 C++ 中?

  28. 28

    将索引保留在数组中

  29. 29

    如何从用户输入并保留在数组列表中

热门标签

归档