1: No sé C++.
2: No entiendo lo que dices, incluso tu código tiene muchos saltos de línea y así menos ganas dan de intentar entender.
Si lo que quieres es hallar los 1eros 150 números enteros desde el 10 que sean capicúa, no parece tan difícil.
Capicúa tengo entendido que es cuando leyéndolo de derecha a izquierda resulta igual que leyéndolo normal.
Si es eso, sería algo como:
Número = 10
Lista = ""
Encontrados = 0
Repetir
Si Número es capicúa
agregar Número a la lista
Encontrados++
fin del si
Número++
mientras Encontrados < 150
Lo único que parece "complicado" de hacer de eso es el chequeo de si es capicúa.
Sería algo como:
CaracteraChequear = 1
Texto = ConvertirenTexto(Número)
EsCapicúa = true
ChequearHastaCaracter = QuitarDecimales(Número/2)
Repetir:
Si Parte(CaracteraChequear)deTexto != Parte(Longitudde(Texto)-CaracteraChequear)deTexto
EsCapicúa = false
CaracteraChequear = ChequearHasta
fin del si
CaracteraChequear++
mientras CaracteraChequear <= ChequearHasta
Quizá en tu lenguaje CaracteraChequear debe iniciar como 0 y en el chequeo restar 1 a la longitud, el mío es así también, pero lo puse de este otro modo para simplificar.
Quizá en vez de quitar decimales te conviene redondear+ y quitar el = del mientras, tendría que probar.
Esas instrucciones que digo deberían estar en tu lenguaje, llamadas de alguna manera.
Incluso puedes chequear las igualdades 2 veces y no te complicas con eso, si son números cortos; yo lo hice así para evitar chequeos innecesarios. De hecho quizá alguien que sepa mucho de Matemática sabe hacerlo sin ifs.
Bueno, lo que se hace es chequear que los 1eros caracteres del número sean iguales a los últimos. Si tuviera 5 caracteres se chequea el 1 y el 5, luego el 2 y el 4, y luego nada. Porque se chequea hasta la mitad, y si tiene decimales se les quita. 5/2=2,5, pero sin decimales es 2, ergo se chequea hasta el 2.
Si tuviera 6 caracteres, hasta el 3.
Si tuviera 4, hasta el 2.
Creo que eso es todo...
Edit: Ahora veo que es desde el 100, bueno, más fácil, pones 100 donde dice 10 y debería funcionar igual. Para que se frene en el 999 puedes poner una condición or en el while.
"1000 hasta 10000"
Lo que te dije funciona para eso también, pero deberías pedir las cosas de forma clara desde el inicio, no tiene sentido que cambies lo que pides así como si fuese algo random.