#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define NO_ELEM -1
#define MAX_LINE_COLUMN 4
#define MIN_LINE_COLUMN 4
#define MAX_VAL 10
#define MIN_VAL 0
int main (void) {
time_t t;
int m, n, s, q;
int i, j;
int g, h;
int a [MAX_LINE_COLUMN + MIN_LINE_COLUMN][MAX_LINE_COLUMN + MIN_LINE_COLUMN];
int b [MAX_LINE_COLUMN + MIN_LINE_COLUMN][MAX_LINE_COLUMN + MIN_LINE_COLUMN];
int ab [MAX_LINE_COLUMN + MIN_LINE_COLUMN][MAX_LINE_COLUMN + MIN_LINE_COLUMN];
for (i = 0; i < MAX_LINE_COLUMN; i++)
for (j = 0; j < MAX_LINE_COLUMN; j++) {
a [i] [j] = NO_ELEM;
b [i] [j] = NO_ELEM;
}
srand ((unsigned) time (&t));
m = (rand () % MAX_LINE_COLUMN) + MIN_LINE_COLUMN;
n = (rand () % MAX_LINE_COLUMN) + MIN_LINE_COLUMN;
s = (rand () % MAX_LINE_COLUMN) + MIN_LINE_COLUMN;
m = 2;
n = 2;
s = 3;
/*for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
a [i] [j] = (rand () % MAX_VAL) + MIN_VAL;
}
}
for (i = 0; i < n; i++) {
for (j = 0; j < s; j++) {
b [i] [j] = (rand () % MAX_VAL) + MIN_VAL;
}
}*/
a [0][0] = 1;
a [0][1] = 3;
a [1][0] = 2;
a [1][1] = -1;
b [0][0] = 2;
b [0][1] = 0;
b [0][2] = -4;
b [1][0] = 3;
b [1][1] = -2;
b [1][2] = 6;
for (g = 0; g < m; g++) {
for (h = 0; h < s; h++) {
ab [g][h] = 0;
for (j = 0; j < n; j++)
ab [g][h] += a [g][j] * b [j][h];
}
}
if (m >= n)
q = m;
else
q = n;
printf ("\\documentclass[a4paper]{article}\n");
printf ("\\usepackage{german,amsmath,amsfonts}\n");
printf ("\\begin{document}\n");
printf ("$$m = %i,n = %i,s = %i$$", m, n, s);
printf ("$$\\left(\\begin{array}{");
for (j = 0; j <= n; j++) printf ("c");
printf ("}");
for (i = 0; i < q; i++) {
if (i < m) {
for (j = 0; j < n; j++) {
printf ("%i&", a [i][j]);
}
printf ("\\\\\n");
}
}
printf ("\\end{array}\\right)");
printf ("\\left(\\begin{array}{");
for (j = 0; j <= s; j++) printf ("c");
printf ("}");
for (i = 0; i < q; i++) {
if (i < n) {
for (j = 0; j < s; j++) {
printf ("%i&", b [i][j]);
}
printf ("\\\\\n");
}
printf ("\n");
}
printf ("\\end{array}\\right)\n");
printf ("= \\left(\\begin{array}{");
for (j = 0; j <= s; j++) printf ("c");
printf ("}");
for (i = 0; i < m; i++) {
for (j = 0; j < s; j++)
printf ("%i&", ab [i][j]);
printf ("\\\\\n");
}
printf ("\n");
printf ("\\end{array}\\right)$$\n");
printf ("\\end{document}\n");
return 0;
}