Red de conocimientos turísticos - Información de alquiler - Preguntas sobre la tarea: Urgente: ¡Ayuda! Cómo programar una matriz transpuesta en C

Preguntas sobre la tarea: Urgente: ¡Ayuda! Cómo programar una matriz transpuesta en C

Recuerdo que AT = A * matriz, tiene un elemento diagonal de abajo izquierda a arriba derecha

así que solo usa la multiplicación de matrices.

#include lt; stdio.hgt;

#include lt; stdlib.hgt

void print(int m, int p, int *p4) ; /*Declaración de función**/

int main()

{

int test_num = 0 /*Número de cálculos*/

int comp_times = 0; /*Número de cálculos*/

int m, n, p, i, j, k, sum, x

int *p1 =; NULL; /*Defina 3 punteros e inicialícelos*/

int *p2 = NULL

int *p3 = NULL; , amp; test_num); /*Leer el número de ejecuciones*/

for(; comp_ times lt; test_num; comp_times) /*Salir cuando el número de ejecuciones sea igual al número de ejecuciones*/

{

scanf("d d d", amp; m, amp; n, amp; p); /* Determina la forma de la matriz, el orden es m*n y n*p*/

p1 = malloc( (m * n) * sizeof(int) /* Solicitar memoria */

p2 = malloc( (n * p); ) * tamaño de (int) );

p3 = malloc( (m * p) * tamaño de (int)

for( i = 0; i lt.m * n); ; i) /* Leer en la primera matriz */

{

scanf("d", amp;*(p1 i));

for( i = 0; i lt.

for( i = 0; i lt; n * p; i) /* Leer en la segunda matriz*/

{

scanf("d ", amp; *(p2 i));

}

/* Calcula la siguiente multiplicación de matrices y almacenar el resultado de cada operación en En la tercera memoria */

for (i = 0; i lt; m; i)

{

for ( j = 0; j lt ; p; j )

{

para (k = suma = 0; k lt; n; k )

{

x = *(p1 k i*n) *(p2 k*p j);

suma = x; /* suma acumulada*/

}

{

x = *(p1 k i*n) *(p2 k*p j

suma = x /* Suma acumulada*/

}

*(p3 i*p j) = suma

}

}

imprimir(m, p , p3);

}

}

imprimir(m, p, p3

} p>

libre); (p1);

gratis(p2);

gratis(p3); >retu

rn 0;

}

//* Define una función que imprime el resultado de la multiplicación de matrices.

void print(int m, int p, int *p4)

{

int i = 0

mientras (i; lt; m * p)

{

void print(int m, int p, int *p4)

{

int i = 0;

mientras (i lt; m * p)

{

si (i p == p - 1)

printf("d\n ", *(p4 i));

else

printf("d ", *(p4 i)); >i;

}

}

}

Ingresa A y transpone la matriz, y listo

De hecho, no es necesario escribir esta pregunta así, simplemente cambie la abscisa y la ordenada.