Ponto Pontos::operator[](unsigned i) { int j = -1; if (i >= sizeMapa) return keyToPonto(-1); //força um erro for (int i = 0; i < MAP_SIZE; i++) { if (mapa[i] == true) { j++; if (j == i) return keyToPonto(i); } } }
Ponto* MemoriaInterna::keys() { Ponto* ret = new Ponto[size()]; int posicao = 0; for (int i = 0; i < MAP_SIZE; i++) { if (mapa[i] != nullptr) ret[posicao++] = keyToPonto(i); } return ret; }
Ponto* Pontos::keys() { if (size() < 1) return nullptr; Ponto* ret = new Ponto[size()]; int posicao = 0; for (int i = 0; i < MAP_SIZE; i++) { if (mapa[i] == true) ret[posicao++] = keyToPonto(i); } return ret; }
Ponto* Pontos::getPontos() { if (sizeMapa < 1) return nullptr; Ponto* ret = new Ponto[sizeMapa]; int j = 0; for (int i = 0; i < sizeMapa; i++) { if (mapa[i] == true) { ret[j] = keyToPonto(i); j++; } } return ret; }