C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

ソートされていない2つの配列の和集合と共通部分を見つけるC++プログラム


この記事では、2つの指定されたソートされていない配列の和集合と共通部分を見つけるプログラムについて説明します。

2つのアレイを「A」と「B」で表します。次に、これらの配列の結合はA∪Bで示されます。 これは基本的に、指定された両方の配列のすべての要素の配列です。ただし、各要素は1回だけ繰り返されます。

これを見つけるために、別の配列を作成し、最初の配列からすべての要素をコピーします。次に、2番目の配列の要素をトラバースし、それがユニオン配列にすでに存在するかどうかを確認します。そうでない場合は、ユニオン配列に追加します。

同様に、2つの配列の共通部分はA∩Bで示されます。 これは、指定された両方の配列に存在する要素の配列です。

このために、最初の配列の要素を1つずつトラバースします。同時に、その要素が2番目の配列に存在するかどうかを確認します。要素が両方の配列に存在する場合は、それを交差配列に追加します。

#include <iostream>
using namespace std;
int main() {
   int len1 = 4, len2 = 3, flag1 = 0, flag2 = 0;
   int array1[len1] = {1,2,3,4}, array2[len2] = {5,3,4};
   int uni[len1+len2] = {1,2,3,4}, inter[len1];
   for(int k = 0; k < len2 ; k++) {
      flag1 = len1;
      for(int m = 0; m < len1; m++) {
         //eliminating common elements among the given arrays
         if(array2[k] == uni[m])
            break;
         else if(m == len1-1) {
            uni[flag1] = array2[k];
            flag1 = flag1+1;
         }
      }
   }
   for(int q = 0; q < len1; q++) {
      for(int w = 0; w < len2; w++) {
         //checking if both arrays contain a particular element
         if(array1[q] == array2[w]) {
            inter[flag2] = array1[q];
            flag2 = flag2+1;
            break;
         }
      }
   }
   cout << "Union :" <<endl;
   for(int u = 0; u < flag1; u++) {
      cout << uni[u] << " ";
   }
   cout << "\nIntersection :" <<endl;
   for(int i = 0; i < flag2; i++) {
      cout << inter[i] << " ";
   }
   return 0;
}

出力

Union :
1 2 3 4
Intersection :
3 4

  1. C++での2本の線の交点のプログラム

    線ABに対応する点AとB、および線PQに対応する点PとQが与えられます。タスクは、これら2つの線の交点を見つけることです。 注 −点はX座標とY座標の2D平面で与えられます。 ここで、A(a1、a2)、B(b1、b2)およびC(c1、c2)、D(d1、d2)は、2つの異なる線を形成している座標であり、P(p1、p2)は交点です。 (交点の図解のためだけに) 交点を見つける方法 − 上の図を-としましょう 例 したがって、(a1、a2)、(b1、b2)、(c1、c2)、(d1、d2)を使用して、:A1 =b2 --a2B1 =a1 --b1C1 =(A1 * a1)+( B1 *

  2. ソートされていない2つの配列のソートされたマージされた配列を作成するJavaプログラム

    2つの並べ替えられていない配列の並べ替えられたマージされた配列を作成するには、最初に2つの並べ替えられていない配列を作成します- int[] arr1 = new int[] {50, 22, 15, 40, 65, 75}; int[] arr2 = new int[] {60, 45, 10, 20, 35, 56}; ここで、マージされた配列を持つ新しい結果の配列を作成しましょう- 例 int count1 = arr1.length; int count2 = arr2.length; int [] resArr = new int[count1 + count2]; Now, we