Pues no sé, si sólo me fijara en esos ejemplos, el primero ya lo dibuja, y con un If podría separarlos. Pero tendría que pensar en un algoritmo común para el resto de casos.
También, creo que debería delimitar que c > a, poniendo además como valores mínimos 2 y 2 respectivamente. Como valores máximos en el enunciado me dicen que tienen que ser para las columnas 80 y para las filas 24.
No sé si esto último me ayuda a la hora de pensar en la representación. Porque yo sólo veo que la razón es 10/3.
Edito, me colé en valores, pensé en 2 y 2. Aunque viendo que en otra parte del diseño me pide dibujar triángulos con huecos, ampliaría a 3.