Ich habe die folgenden 2 Dim-Array. Ich möchte herausfinden, welche Spalten für jede Zeile 1
s haben.C++ welche Spalten haben 1s für jede Zeile in 2 Dim-Array
Also, wenn ich den folgenden Code ausführen würde ich erwarten, zu sehen:
0:02 1:13 3:01
aber ich weiß nicht, dass bekommen.
Gibt es irgendwelche Vorschläge?
#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;
}
wenn ich meine erste Array ändern und machen es so:
int myArray[4][4] = {
{ 1,1,0,1 },
{ 0,1,1,1 },
{ 1,0,1,0 },
{ 0,1,1,0 }
};
ich folgendes erhalten wird:
0: 02 1:013 3: 01
Gibt es einen Weg, um die Kreuzung von denen zu erhalten? Mit anderen Worten, um nur eine 0 zu erhalten, da nur die 0 in den Zeilen gemeinsam ist, wenn die Spalte gleich K [i] ist. So würde das Ergebnis sein:
0:0 1:0 3:0
oder auch nur
0
Hoffe, dass es Sinn
fast bei 1000 rep ... wird Ihnen helfen. – Walter
@Walter Ich bin ein wenig aufgeregt, um eine unklare Frage zu lösen. Und danke dir! :-) –
Ja, es war nicht so klar was ich gefragt habe. Yes indedd, was ich wollte, ist zu bekommen, welche Zeilen 1 enthält, wenn die Spalte gleich K [i] ist. Also, dieser Beitrag beantwortet meine Frage. Vielen Dank! Wenn man diesen Code dann läuft, wird Folgendes angezeigt: 0: 02 1: 13 3: 01, was ich will. – AlPap