以下は私のコードです:
#include <stdio.h>
void arrays()
{
int i,n,j;
printf("Enter the size of the arrays:\n");
scanf("%d",&n);
int a1[n];
int a2[n];
int intersection[2*n], unions[n];
printf("Enter elements of the first array:\n");
for (i = 0; i < n; i++)
{
scanf("%d",&a1[i]);
}
printf("Enter elements of the second array:\n");
for (j = 0; j < n; j++)
{
scanf("%d",&a2[j]);
}
int indexs = -1, indexu = -1;
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
{
unions[++indexu] = a1[j];
}
}
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
{
if(a1[i] == a2[j])
{
intersection[++indexs] = a2[j];
}
else
{
unions[++indexu] = a2[j];
}
}
}
printf("Intersection:\n");
printf("Union:\n");
for(i = 0; i < indexs; i++)
printf("%d",intersection[i]);
for (j = 0; j < indexu; j++)
printf("%d" ,unions[j]);
}
今、合流点と交差点を探すのに苦労しています。ループを修正しようとしていますが、どこに問題があるのか わかりません。私が行っている方法は、最初の配列と2番目の配列を最初に比較することです。ユニオンは両方の配列のすべての要素を意味するためです。2番目は、重複した番号が最初に交差点に行くことを見つけることです。または、共用体に格納されている要素がない場合。ユニオン配列にも行きます。誰でも助けることができますか?ありがとう