#include <iostream>
#include <fstream>
using namespace std;

int main()
{
  int J[4][3];
  int *a;
  int i=0, j=0;
  ifstream infile ("matrix.dat", ios::in);

  a=&J[0][0];

  // Solution 1.
  //   for (i=0; i<12; i++)
  //     {
  //       int b;      
  //       infile >> b;
  //       *a=b;
  //       a++;
  //     }

  // Solution 2.
  //   for (i=0; i<12; i++)
  //     {
  //       infile >> *(a+i);
  //     }

  // Solution 3.
  //   for (i=0; i<4; i++)
  //     {
  //       for (j=0; j<3; j++)
  // 	{
  // 	  infile >> *(a+(3*i)+j);
  // 	}
  //     }

  // Solution 4.
  int x;
  for (i=0; i<4; i++)
    {
      for (j=0; j<3; j++)
 	{
 	  infile >> x;
 	  *(a+(3*i)+j) = x;
 	}
    }


  //    ##     ####    ####   ######   ####    ####
  //   #  #   #    #  #    #  #       #       #
  //  #    #  #       #       #####    ####    ####
  //  ######  #       #       #            #       #
  //  #    #  #    #  #    #  #       #    #  #    #
  //  #    #   ####    ####   ######   ####    ####

  // Solution 1.
  for (i=0; i<4; i++)
    {
      for (j=0; j<3; j++)
	{
	  cout << J[i][j] << " " ;
	}
      cout << endl;
    }

  // Solution 2.
  a=&J[0][0];
  for (j=1; j<=12; j++)
    {
      cout << *(a+j-1) << " ";
      if ((j%3 == 0) && (j != 0))
	cout << endl;
    }
}
