En el ejercicio 1, si no pones el contador a cero después de la ejecución del primer
while, no te entrará en el segundo
while.
En el ejercicio 2 sigue habiendo cosas mal, te pasa igual que en el anterior ejercicio, si después de acabar el bucle
for no inicialízas a cero el contador no se entrará en el bucle
while.
Dentro del bucle
while, en la primera línea usas "
i++;", por lo cual los índices irán adelantados y solo acabarás cogiendo las dos primeras letras de las dos últimas palabras introducidas y no de las tres.
Te pasa lo mismo con el segundo contador que usas, "
j++;", esta línea debe de ir al final del bucle y una vez que se salga del bucle deberías de inicializar su valor a cero para que se pueda volver a entrar en el bucle, sino, solo entrará una vez.
El código de la parte del bucle debería quedarte así:
i=0;
while (i < 3) {
while (j < 3) {
if (j == 2) {
ultimacadena[i][j]= '\0';
} else {
ultimacadena[i][j] = cadenas[i][j];
}
j++;
}
j=0;
i++;
}
Saludos.
![Sonreir ;D](https://aprenderaprogramar.com/foros/Smileys/default/grin.gif)