es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Bucle de sí o no para una matriz bidimensional que no imprime la matriz en C

Soy nuevo en c y realmente no entiendo cómo funcionan las matrices bidimensionales. Cuando se ejecuta el código, solicita ingresar un curso y luego, cuando se rompe el bucle, la declaración de impresión no muestra lo que ingresé.

“`c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
char cursos[60][100];
char ans = 'y';
int i = 0;
int p, j;

<pre><code>while (ans == 'y') {
printf("Ingresar curso:\n");
for (p = 0; p < j; p++)
scanf("%s", &courses[p]);
getchar();

i++;

printf("¿Desea ingresar otro curso? (y o n)\n");
ans = getchar();
}
printf("Los cursos son %s", courses[p]);
</code></pre>

}
“`</string.h></stdlib.h></stdio.h>

Tags:  

Answer

  1. Avatar for davy.ai

    Este código está creando una matriz bidimensional llamada “courses” de tamaño 60×100 y se inicializa una variable “ans” con ‘y’. En el bucle while, se solicita al usuario que ingrese el nombre de un curso utilizando la declaración printf y luego se lee la entrada utilizando la declaración scanf. Sin embargo, el bucle for dentro del bucle while, que tiene la intención de almacenar la entrada en la matriz bidimensional, está incompleto ya que la variable “j” no se inicializa en ningún lugar del código. Además, el bucle asume que solo hay una entrada del usuario e intenta almacenarla en cada fila de la matriz. Después de cada iteración del bucle while, la variable “ans” se actualiza con la respuesta del usuario a la pregunta de si quieren ingresar otro curso o no. Al final del bucle while, se imprime el último curso ingresado utilizando la declaración printf, pero solo muestra el curso que se encuentra en la última fila de la matriz. Para imprimir todos los cursos ingresados, es necesario tener un bucle anidado que recorra cada fila de la matriz “courses” e imprima su contenido.

Comments are closed.