Noch ein dringend gemeinter Rat: Du nutzt integer Variablen für Bit-Werte von nur zwei Zuständen. Damit hast du pro Element in dem Array 15 Bits verschenkt! Bool statt Int bringt etwas Vorteil, aber bool wird auch nur als Byte abgelegt. Besser ist, wenn du es in eine Binärzahl umrechnest und als Int nimmst, dann kann man es wenigstens lesen, und du brauchst nurnoch ein Int. Aber vor allem würden diese kryptischen if(a[0]&&!a[1]&&a[2]&&a[3]&&!a[4]&&a[5]&&!a[6]&&a[7]) verschwinden, dann könntest du einfach if(a == 3535) schreiben.
Weiterhin lohnt es sich bei deiner verzweigten Geschichte eine Switch-Anweisung zu nutzen, statt 5 If-Abfragen.
Und zu guter letzt: Nach wie vor benutzt man Goto in Hochsprachen eigentlich nicht. Das geht auch alles mit while und break bzw. exit.