2016-11-20 4 views
0

Also im Grunde habe ich dieses 2-D-Array, das so aussieht.Überprüfen, ob ein Array gebunden oder nicht gebunden ist

######...s 
e......### 

Es wird angenommen, ein * von s-e nur dann zu drucken, wenn es ein "." Das "#" ist wie eine Mauer.

Also überprüfe ich alle möglichen Orte, aber aus irgendeinem Grund gibt es kein "*" an e aus.

Ich glaube es wegen etwas damit zu tun, dass es außerhalb der Grenze ist.

habe ich einige der Scheck zum Beispiel wie

if(array.x <=row && array.y<= col && array.x >=0 && array.y >=0) 

Ist das eine richtige Art und Weise zu überprüfen, ob ich innerhalb oder außerhalb der Grenzen bin?

BTW dies ist ein 2D-Array

Antwort

1

row Unter der Annahme, ist die Anzahl der Zeilen, col die Anzahl der Spalten ist, array.x und array.y die Indizes sind, eine richtige Prüfung für Indizes in Grenzen liegt:

if(0 <= array.x && array.x < row && 0 <= array.y && array.y < col) { 
    ... 
} 

Beachten Sie die strenge Ungleichheit mit row und col.

+0

Ich glaube für die letzte Überprüfung denke ich, dass Sie trafen "

+0

Whoops du hast Recht. Habe es einfach repariert. Gern geschehen. – andars

Verwandte Themen