Paso a paso. Olvídate de código hasta que tengas la idea clara.
Primero, en la primera línea dónde situarías el primer carácter. En el centro, no? Para saber el centro empezando por la punta tienes que saber cuántos caracteres tienen que haber por linea. Espacios en blanco, como asteriscos (o el carácter que emplees para dibujar el triángulo)
Si ya sabes esa cantidad de caracteres por línea, escribe espacios HASTA la posición media, (y, por que no, tras éste, continua escribiendo espacios hasta llegar al tope de caracteres por línea).
Línea dos... si está en una posición determinada el de la primera línea, un asterisco tendrá que ir antes, espacios, y otro asterisco espejado, no? Pues lo mismo hacia la derecha.
Y vas haciendo líneas.
Sí, puedes hacerlo con un par de for anidados. De echo puedes plantearlo como una cuadrícula en la que se pinta o no. No deja de ser una matriz de dos dimensiones.
Como no se lo que has dado y lo que no, prefiero no decirte nada más. Éste, como casi todo en programación, se puede hacer de diversas maneras.