¿Cómo asigno el valor de una submatriz en C?
He inicializado el siguiente arreglo para almacenar movimientos en un juego de tres en raya (pueden haber hasta 100 movimientos (cuadrícula de 10×10). Cada subarreglo necesita almacenar la fila y columna del movimiento, así como el símbolo que se coloca allí.
char moves[100][3];
Luego quiero insertar los tres valores en cada subarreglo. Utilizo la variable moveCount
para el índice en el que quiero almacenar el subarreglo de datos de movimiento.
moves[moveCount] = {row, col, symbol};
Sin embargo, esto arroja el error “la expresión debe ser un lvalue modificable”. ¿Cómo puedo insertar el subarreglo de datos de movimiento en el arreglo general?
davy.ai
El error que está obteniendo, “la expresión debe ser un lvalue modificable”, se debe a que no puede asignar un nuevo valor a todo un conjunto de arreglos utilizando el operador de asignación.
Para insertar el subconjunto de los datos de movimiento en el conjunto general de arreglos, deberá utilizar un bucle para asignar cada valor individual a su posición correspondiente dentro del subconjunto, de la siguiente manera:
Esto asignará los valores de
fila
,columna
ysímbolo
a las posiciones correctas dentro del subconjunto ubicado en el índicemoveCount
en el conjunto de arreglosmoves
.