希望のアイデアは:セットサイズ&メンバを入力するには、サイズが有効であれば1番目のサブセット(A)を入力し、Aが有効なサブセットであれば2番目のサブセット(B)と同じにします。配列が別の配列のサブセットであるかどうかを確認しますか? (C++)
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
while (true) {
int i = 0;
int k = 0;
int * set;
int setSize;
cout << "Input size of set" << endl;
cin >> setSize;
if (setSize <= 0) {
cout << "Invalid size!" << endl;
}
else {
set = new int[setSize];
for (int i = 0; i < setSize; i++)
{
cout << "set[" << i + 1 << "]=";
cin >> set[i];
}
int * A;
int sizeA;
cout << "Input size of subset A" << endl;
cin >> sizeA;
if (sizeA <= 0 || sizeA > setSize) {
cout << "Invalid size for a subset, please try again!" << endl;
}
else {
A = new int[sizeA];
cout << "Input members of A" << endl;
for (int i = 0; i < sizeA; i++)
{
cout << "A[" << i + 1 << "]=";
cin >> A[i];
}
for (i = 0; i < sizeA; i++)
{
for (k = 0; k < setSize; k++)
{
if (A[i] == set[k])
break;
}
if (k == setSize) {
return 0;
}
else{
int * B;
int sizeB;
cout << "Input size of subset B" << endl;
cin >> sizeB;
if (sizeB <= 0 || sizeB > setSize) {
cout << "Invalid size for a subset, please try again!" << endl;
}
else {
B = new int[sizeB];
cout << "Input members of B" << endl;
for (int i = 0; i < sizeB; i++)
{
cout << "B[" << i + 1 << "]=";
cin >> B[i];
}
for (i = 0; i < sizeB; i++)
{
for (k = 0; k < setSize; k++)
{
if (B[i] == set[k])
break;
}
if (k == setSize) {
cout << "Not a subset, please try again!" << endl;
break;
}
}
}
}
}
}
}
}
}
そして私は、ビット列に」日を変換し、いくつかの操作を実行したいと思います...
あなたが間違っていることを教えない限り、間違いはありません。それはコンパイルされますか?それはクラッシュしますか?正しい結果が得られますか? – user463035818
どこに問題があるのか具体的にお尋ねください。また、エラーやバグがあった場合は、それらを指定してください。 – Rishabh
[ヘルプページ](http://stackoverflow.com/help)、特に[ここではどのトピックを聞くことができますか?](http://stackoverflow.com/help)を読んでください。/on-topic)と[[どのような種類の質問を避けるべきですか?]](http://stackoverflow.com/help/dont-ask)を参照してください。また、[ツアーを受けてください](http://stackoverflow.com/tour)と[良い質問をする方法を読む](http://stackoverflow.com/help/how-to-ask)もご覧ください。最後に、[最小限の完全で検証可能な例](http://stackoverflow.com/help/mcve)の作成方法を学んでください。 –