C/Visual C - Como copiar dos matrices de enteros en c

 
Vista:
sin imagen de perfil

Como copiar dos matrices de enteros en c

Publicado por maik (2 intervenciones) el 27/09/2016 20:52:18
Hola me gustaría saber como copiar matrices de enteros en c, he buscado en Internet pero no encuentro una solución. Intento copiarlos de la siguiente manera pero me tira el siguiente error: Lvalue required in function main.

1
2
3
4
5
6
int s1[4][16];
int s1p[4][16] = {{14,  4, 13,  1,  2, 15, 11,  8,  3, 10,  6, 12,  5,  9,  0,  7},
                  { 0, 15,  7,  4, 14,  2, 13,  1, 10,  6, 12, 11,  9,  5,  3,  8},
	          { 4,  1, 14,  8, 13,  6,  2, 11, 15, 12,  9,  7,  3, 10,  5,  0},
                  {15, 12,  8,  2,  4,  9,  1,  7,  5, 11,  3, 14, 10,  0,  6, 13}};
s1 = s1p;

Nota: El compilador que estoy usando es turbo c de Borland
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Como copiar dos matrices de enteros en c

Publicado por dario (13 intervenciones) el 28/09/2016 06:58:53
Hola, te dejo un codigo de como copiar dos vectores. Modificalo para que puedas copiar dos matrices.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
 
int main() {
    int va[10]; //vector a
    int vb[10] = {14,  4, 13,  1,  2, 15, 11,  8,  3, 10}; //vector b
    int i;
 
    for (i=0; i<10; i++)
        va[i] = vb[i];
 
    //mostrar vector a
    for (i=0; i<10; i++)
        printf("%d ",va[i]);
 
    //mostrar vector b
    printf("\n");
    for (i=0; i<10; i++)
        printf("%d ",vb[i]);
 
    //como ves los dos vectores son iguales.
 
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Como copiar dos matrices de enteros en c

Publicado por Chema (234 intervenciones) el 28/09/2016 10:18:59
1
2
3
4
5
6
7
8
9
10
11
12
int main(void ) {
    int va[10];
    int vb[10] = {14,  4, 13,  1,  2, 15, 11,  8,  3, 10};
    int i;
 
   memcpy(va,vb, sizeof(vb)/sizeof(vb[0]));
 
    for (i=0; i<10; i++)
        printf("%d ",vb[i]);
 
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Como copiar dos matrices de enteros en c

Publicado por maik (2 intervenciones) el 28/09/2016 13:06:41
Muchas gracias me sirvió de mucho para poder realizar una parte de la tarea de la U. Al final lo resolví de la siguiente manera:

1
2
3
4
5
6
int s1[4][16];
int s1p[4][16] = {{14,  4, 13,  1,  2, 15, 11,  8,  3, 10,  6, 12,  5,  9,  0,  7},
                  { 0, 15,  7,  4, 14,  2, 13,  1, 10,  6, 12, 11,  9,  5,  3,  8},
	          { 4,  1, 14,  8, 13,  6,  2, 11, 15, 12,  9,  7,  3, 10,  5,  0},
                  {15, 12,  8,  2,  4,  9,  1,  7,  5, 11,  3, 14, 10,  0,  6, 13}};
 memcpy(s1,s1p, sizeof(s1p));
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar