次の2つのdim配列があります。どの列が各行に対して1
であるかを調べたい。私は、次のコードを実行するとC++ 2列配列の各行に1列の列があります
だから、私は見て期待:
0:02 1:13 3:01
を、私はそれを得ることはありませんが。
提案はありますか?
#define MAX_N 100
int myArray[4][4] = {
{ 1,0,0,1 },
{ 0,1,1,1 },
{ 1,0,1,0 },
{ 0,1,1,0 }
};
int main()
{
int K[MAX_N] = { 0,1,3 };
int B[MAX_N];
for (int i = 0; i < 3; i++)
{
K[i];
cout << K[i] << ": ";
for (int x = 0; x < 4; x++)
{
int count = 0;
for (int y = 0; y < 3; y++)
{
// count = count +1;
if (myArray[x][y])
count = count + 1;
if (count == K[i])
{
B[x] = x;
cout << B[x] << " ";
}
}
}
}
system("pause");
return 0;
}
私は私の最初の配列を変更してそれを作る場合:
int myArray[4][4] = {
{ 1,1,0,1 },
{ 0,1,1,1 },
{ 1,0,1,0 },
{ 0,1,1,0 }
};
私は次のようになります:
0: 02 1:013 3: 01
は、これらの交点を取得する方法はありますか?換言すれば、0だけを得るためには、列がK [i]に等しいときに行全体にわたって0が共通であるからである。だから、結果は次のようになります。
0:0 1:0 3:0
あるいは単に
0
はあなたが唯一の2サイクルを必要とする行列の要素を参照し、代わりに作成したい場合には、それは意味
約1000人の担当者がお手伝いします。 – Walter
@Walter私は不明な質問を解決するために少し興奮しています。そしてありがとう! :-) –
ええ、私が尋ねたことはあまり明確ではありませんでした。はいindedd、私が望んでいたのは、列がK [i]に等しいときに、どの行に1が含まれているかを取得することです。だから、この投稿は私の質問に答える。ありがとう! このコードを実行すると、フォローが表示されます。 0:02 1:13 3:01これは私が望むものです。 – AlPap