summaryrefslogtreecommitdiff
path: root/transpose.c
diff options
context:
space:
mode:
authorrodri <rgl@antares-labs.eu>2020-02-22 09:56:09 +0000
committerrodri <rgl@antares-labs.eu>2020-02-22 09:56:09 +0000
commita39951d8f69209cfea2b7051832b851914e662ef (patch)
treee4cd1c32e5d6f531b523f6fda558cc3a5f603547 /transpose.c
downloadbrokentoys-a39951d8f69209cfea2b7051832b851914e662ef.tar.gz
brokentoys-a39951d8f69209cfea2b7051832b851914e662ef.tar.bz2
brokentoys-a39951d8f69209cfea2b7051832b851914e662ef.zip
now version controlled.
Diffstat (limited to 'transpose.c')
-rw-r--r--transpose.c49
1 files changed, 49 insertions, 0 deletions
diff --git a/transpose.c b/transpose.c
new file mode 100644
index 0000000..ee607f6
--- /dev/null
+++ b/transpose.c
@@ -0,0 +1,49 @@
+#include <u.h>
+#include <libc.h>
+
+#define N 4
+
+typedef double Matrix[N][N];
+
+void
+transpose(Matrix a)
+{
+ int i, j;
+ double tmp;
+
+ for(i = 0; i < N; i++)
+ for(j = i; j < N; j++){
+ tmp = a[i][j];
+ a[i][j] = a[j][i];
+ a[j][i] = tmp;
+ }
+}
+
+void
+printm(Matrix m)
+{
+ int i, j;
+
+ for(i = 0; i < N; i++){
+ for(j = 0; j < N; j++)
+ print("%g ", m[i][j]);
+ print("\n");
+ }
+ print("\n");
+}
+
+void
+main()
+{
+ Matrix m = {
+ 11, 12, 13, 14,
+ 21, 22, 23, 24,
+ 31, 32, 33, 34,
+ 41, 42, 43, 44,
+ };
+
+ printm(m);
+ transpose(m);
+ printm(m);
+ exits(0);
+}