¿Qué hace que # se vaya a la siguiente línea en lugar de continuar en la misma línea?
No estoy seguro por qué # se coloca en la línea incorrecta cuando se supone que continúa después de ‘u’
# incluir
# definir LEN 5
int inputNumber() {
int size;
printf(“Tamaño de entrada: “);
scanf(“%d”,&size);
printf(“===\nEl tamaño del triángulo es %d\n===\n”,size);
return size;
}
void printTriangle(int size, char ch[]) {
for(int i = 0; i < size; i++)
{
for(int j = 0; j <= i; j++)
{
if(j <= LEN) {
printf(“%c “,ch[j]);
} else {
printf(“# “);
}
}
printf(“\n”);
}
}
int main() {
char arrchar[LEN] = {‘a’,’e’,’i’,’o’,’u’};
int number;
number = inputNumber();
printTriangle(number,arrchar);
return 0;
}
Solía preguntar sobre este mismo código antes, pero quiero intentar usar if-else en lugar de ?: porque aún no he aprendido eso en clase, así que quiero saber si es posible usar cosas básicas como if-else.
davy.ai
El problema con el código es que la segunda instrucción if dentro del ciclo interno de la función
printTriangle
no tiene una instrucción else. Esto significa que cuandoj
es menor o igual queLEN
, la primera instrucción if imprime el carácter ench[j]
y luego la segunda instrucción if también imprime#
. Para solucionar esto, puedes agregar una instrucción else que no imprima nada cuandoj
sea menor o igual queLEN
:Esto imprimirá los caracteres de
ch
hasta el quinto índice, y luego imprimirá#
para todas las iteraciones posteriores dej
.