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

#define MAX 100
typedef double matrix[MAX][MAX];

void print_matrix(matrix A, int w, int k)
{
   printf("\nMacierz %dx%x\n", w, k);

   for(int i=0; i< w;i++)
   {
      for(int j=0; j< k; j++)
         printf(" %5.1lf", A[i][j]);
      printf("\n");
   }
}

int main()
{
   int i, j, k;
   
   matrix A = { { 1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};

   int nw=3, nk=4;  // liczna wierszy i kolumn
   
   // macierz przed eliminacja
   print_matrix(A, nw, nk);

   k = 0;
   i = k + 1;

   for(j=k+1; j<nk; j++)
   {
      A[i][j] = A[i][j] - A[i][k] * A[k][j] / A[k][k];
   }
   A[i][k] = 0.0;
   
   // macierz po jednym kroku
   print_matrix(A, nw, nk);
}

