グローバルな静的文字列 str[MAX] = { "aloha" , "behold", "donkey", "key", "joke", "none", "quack", "orange"}; があります。
ここでのサイズはランダムに生成されました。たとえば、サイズ = 3 の場合、"Behold"、"donkey"、および "none" が出力されます。配列に追加する前に、それが内部にあるかどうかを確認したい。「Behold」、「donkey」、「none」が配列内にあり、「donkey」という別の単語を取得した場合、それは拒否され、ループに戻って別の単語を生成するため、i-- を使用します。
どこが間違っていたのかわかりません。誰かが私を啓発してくれることを願っています。
ありがとう。これがコードです。
typedef char* Strings;
function example (Strings *s, int size)
{
char *q;
bool check;
q = new char[MAX];
*s = &q[0];
for (int i = 0; i < size; i++)
{
k = rand () % 8;
if (*s == '\0')
*s = Str[k];
else
{
check = compare (s, Str[k]);
if (check == 1)
*s = Str[k];
else
i--;
}
++s;
}
cout << endl;
}
bool compare (Strings *s, char *str)
{
while (*s != '\0')
{
if (strcmp (*s, Str))
return true;
else
return false;
++s;
}
}