Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - chrisuxx

#1
Programación C/C++ / Copiar matrices en C
17 Diciembre 2013, 15:06 PM
Buenas tardes.

Estoy intentando hacer un programa (aún de principiante, ya que estoy aprendiendo) que me imprima ciertas matrices con valor de 0 y 1 a partir de una secuencia de estos números que le pasas desde el terminal, en un fichero de texto.
El problema me surge a la hora de copiar una matriz bidimensional a otra. La cosa es que no busco la función de strcpy(), ya que no quiero que ambas matrices queden iguales, sino que la primera matriz se coloque al principio de la segunda, pero que después pueda meter en la segunda matriz(debajo de los valores de la primera) más matrices.
Busco algo equivalente a (referido al código de más abajo):
strcpy(tabla[(*filasVariable)][(*columnasVariable)],matriz1[f][c]);
Es decir, que pueda copiar elemento a elemento de una matriz a otra.

La función en la que me aparece el problema es la siguiente:


void rellenarTabla(char tabla[MAX_TABLA][MAX_TABLA], int contador, int *filasVariable, int *columnasVariable, const char codigo[], char matriz0[FILA][COLUMNA], char matriz1[FILA][COLUMNA], int longitudCad){
int f;
int c;
int i; /*Variable para recorrer 'codigo[i]'*/

f=0;
while((*filasVariable)<(FILA*contador)){
for(i=0;i<longitudCad;i++){
if(codigo[i]=='1'){
c=0;
while((*columnasVariable)<COLUMNA){
tabla[(*filasVariable)][(*columnasVariable)]=matriz1[f][c];
(*columnasVariable)++;
c++;
} /*Del for que recorre las columnas de la matriz de '0'*/
} /*Del if*/
if(codigo[i]=='0'){
c=0;
while((*columnasVariable)<COLUMNA){
tabla[(*filasVariable)][(*columnasVariable)]=matriz0[f][c];
(*columnasVariable)++;
c++;
} /*Del for que recorre las columnas de la matriz de '1'*/
} /*Del segundo if*/
} /*Del for que recorre los caracteres de la secuencia introducida*/
(*filasVariable)++;
f++;
} /*Del for que recorre las filas*/

}


Muchas gracias a cualquiera que ayude! Admito cualquier aportación :)