#include <stdio.h>
#include <math.h>
#include<time.h>

#define N 200


int main() {
   
   float a[N][N], b[N][N], c[N][N];
   clock_t t1, t2;
   int i, j, k, p;

   for(i=0; i<N; i++) {
      for(j=0; j<N; j++) {
         a[i][j]=rand();
         b[i][j]=rand();
      }
   }

   printf("Zeit fuer ijk-loop:  ");
   for(p=1; p<=5; p++) {
      for(i=0; i<N; i++)  for(j=0; j<N; j++)  c[i][j]=0,0;
      t1 = clock();
      for(i=0; i<N; i++) 
         for(j=0; j<N; j++) 
            for(k=0; k<N; k++) 
               c[i][j]+=a[i][k]*b[k][j];
      t2 = clock();
      printf("%6.2e,  ", (double)(t2-t1));
   }
   printf("\n");

   printf("Zeit fuer jik-loop:  ");
   for(p=1; p<=5; p++) {
      for(i=0; i<N; i++)  for(j=0; j<N; j++)  c[i][j]=0,0;
      t1 = clock();
      for(j=0; j<N; j++) 
         for(i=0; i<N; i++) 
            for(k=0; k<N; k++) 
               c[i][j]+=a[i][k]*b[k][j];
      t2 = clock(); 
      printf("%6.2e,  ", (double)(t2-t1));
   }
   printf("\n");

   printf("Zeit fuer ikj-loop:  ");
   for(p=1; p<=5; p++) {
      for(i=0; i<N; i++)  for(j=0; j<N; j++)  c[i][j]=0,0;
      t1 = clock();
      for(i=0; i<N; i++) 
         for(k=0; k<N; k++) 
            for(j=0; j<N; j++) 
               c[i][j]+=a[i][k]*b[k][j];
      t2 = clock();
      printf("%6.2e,  ", (double)(t2-t1));
   }
   printf("\n");

   printf("Zeit fuer jki-loop:  ");
   for(p=1; p<=5; p++) {
      for(i=0; i<N; i++)  for(j=0; j<N; j++)  c[i][j]=0,0;
      t1 = clock();
      for(j=0; j<N; j++) 
         for(k=0; k<N; k++) 
            for(i=0; i<N; i++) 
               c[i][j]+=a[i][k]*b[k][j];
      t2 = clock();
      printf("%6.2e,  ", (double)(t2-t1));
   }
   printf("\n");

   printf("Zeit fuer kij-loop:  ");
   for(p=1; p<=5; p++) {
      for(i=0; i<N; i++)  for(j=0; j<N; j++)  c[i][j]=0,0;
      t1 = clock();
      for(k=0; k<N; k++) 
         for(i=0; i<N; i++) 
            for(j=0; j<N; j++) 
               c[i][j]+=a[i][k]*b[k][j];
      t2 = clock();
      printf("%6.2e,  ", (double)(t2-t1));
   }
   printf("\n");

   printf("Zeit fuer kji-loop:  ");
   for(p=1; p<=5; p++) {
      for(i=0; i<N; i++)  for(j=0; j<N; j++)  c[i][j]=0,0;
      t1 = clock();
      for(k=0; k<N; k++) 
         for(j=0; j<N; j++) 
            for(i=0; i<N; i++)
               c[i][j]+=a[i][k]*b[k][j];
      t2 = clock();
      printf("%6.2e,  ", (double)(t2-t1));
   }
   printf("\n");
}

