今日は中間試験でした。これが最初の質問でした。私はこれを解決できませんでした。正確な要件は次のとおりです。たとえば、「DA」が別の「ABCD」のサブセットであるかどうかを判断する必要があります。文字数は重要です。たとえば、「DAD」は「ABCD」のサブセットではありません。親文字列では「D」が 1 回発生するのに対し、「D」は 2 回繰り返されるためです。また、ノーと仮定することもできます。親文字列の文字数は、常に他の文字列以上です。
私はこれについて多くのことを考えました。これに対する私のアプローチは、見つかった部分文字列の文字を親文字列と比較することでした。一致が見つかった場合、そのインデックスを 3 番目の配列に格納します。そのため、最終的には、他の配列の文字と一致する親配列の文字の配列が得られます。これは、私が取得できた距離です。
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char array[] = "ABCD";
char array1[] = "AB";
int size = strlen(array);
int size1 = strlen(array1);
int temp[size];
int no = 0;
for (int i = 0; i< size1; i++)
{
for (int j = 0; j< size; j++)
{
if (array1[i]==array[j])
{
for(int k = 0; k<size ; k++)
{
if (temp[k] != j)
{
temp[no] = j;
no++;
}
}
}
}
}
for (int i = 0; i<size; i++)
cout<<endl<<temp[i]<<" ";
return 0;
}
これを解決するために親切に助けてください。これに対する別のアプローチがある場合は、私に連絡してください。また、配列または文字列は、この問題に対するより良いアプローチです。私はC++で書いています よろしくお願いします