Как я могу получить транспонированную матрицу из этого кода?
у меня есть домашняя работа, чтобы найти транспонирующую матрицу
Что я уже пробовал:
#include <stdio.h> #include <stdlib.h> typedef struct Matriks { int M; int N; int *data; // } Matriks; Matriks newMatriks(int N, int M){ // Matriks hasil; hasil.N=N; hasil.M=M; hasil.data=(int*) malloc(sizeof(int)*N*M); return hasil; } int getElement(Matriks m, int i, int j){ return *(m.data + i*(m.N) + j); } void setElement(Matriks m, int i, int j, int val){ *(m.data + i*(m.N) + j) = val; } void printMatriks(Matriks m) { int i,j; for (i = 0; i < m.N; ++i) { for (j = 0; j < m.M; ++j) { printf("%d ", getElement(m, i, j)); } printf("\n"); } } void transpose(int i, int j, Matriks m){ } Matriks merge (Matriks A, Matriks B){ Matriks hasil=newMatriks(2, A.M); int i; for (i=0; i<A.M; i++){ setElement(hasil, 0, i, getElement(A, 0, i)); setElement(hasil, 1, i, getElement(B, 0, i)); } return hasil; } int main(){ int i; Matriks a = newMatriks(1,6); printf("masukkan p1:"); for (i = 0; i < 6; ++i) { int val; scanf("%d", &val); setElement(a, 0, i, val); } Matriks b = newMatriks(1,6); printf("masukkan p2:"); for (i = 0; i < 6; ++i) { int val; scanf("%d", &val); setElement(b, 0, i, val); } Matriks c = merge(a,b); printMatriks(c); }