Cómo tomar entrada formateada en C.
Tengo que tomar la entrada para una matriz en C. Una entrada de muestra sería algo así como esto:
33 33 2
000000000000000000000010000000000
000000000000000000000111000000000
000000000000000000001110100000000
000000000000000000011111111000000
000000000000000000001011100000000
000000000000000000000111000000000
000000000000000000000010000000000
000000000000000000000000000000000
000000000000000000000000000000000
000000000000000000000000000000000
000000000000000000000000000000000
000000000000000000000000000000000
000000000000000000000000000000000
000000000000000000000000000000000
011111111111110000000000000000000
011011111111110000000000000000000
011111111110110000000000000000000
011111111111110000000000000000000
011111111111110000000000000000000
011111011111110000000000000000000
000000000000000000000000000000000
000000000000000000000000000000000
000000000000000000000000000000000
000000000000000000000000000000000
000000000000000000000000000000000
000000000000000000000000000000000
000000000000000000000000000000000
000000000000000000000000000000000
000000000000000000000000000000000
000000000000000000000000000000000
000000000000000000000000000000000
Aquí, 33 y 33 son las filas m y columnas n. 2 es el número de patrones en la cuadrícula entera y el resto es una matriz.
¿Cómo podría ingresar esta matriz en un arreglo en C? He estado teniendo problemas con esto por bastante tiempo. Este es mi código actual.
“`c
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int **array;
<pre><code>int m = atoi(argv[1]);
int n = atoi(argv[2]);
array = calloc(m, sizeof(int *));
for (int i = 0; i < m; i++) {
array[i] = calloc(n, sizeof(int));
}
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++)
{
/*Código para obtener la entrada desde*/
}
}
for (int i = 0; i < m; i++) {
free(array[i]);
}
free(array);
return 0;
</code></pre>
}
“`</stdlib.h></stdio.h>
davy.ai
Para ingresar la matriz en un array en C, puedes modificar tu código existente de la siguiente manera:
En el código modificado, se usa la función scanf para tomar la entrada carácter por carácter. El especificador %1d se usa para leer solo un carácter a la vez. La matriz de entrada se ingresa en el array y se puede imprimir el contenido del array para verificar si la entrada fue correcta.
¡Espero que esto te ayude!</stdlib.h></stdio.h>