#include<cstdlib>
#include<ctime>
#include<iomanip>
#include<iostream>
using namespace std;

int **fill_in(int n, int **pin) {
      //int **pin=new int[n];
      srand(time(0));
      int *p;
      p=&pin[0][0];
      for (int i=0;i<n;i++) {
          for (int j=0;j<n;j++) {
              *p=rand () %2;
              cout<< *p;
              *p++;
          }
       }
return pin;
}


void print_pin(int **pin,int n) {
     int *p;
     for (int i=0;i<n;i++) {
         for (int j=0;j<n;j++) {
             p=&pin[i][j];
             cout<< *p<< "\t";
             *p++;
         cout<< endl;
        }
    return ;
    }
}

int **enlarge( int **pin, int n,int m) {
    if (n>m)
     return pin;
    else {
       pin=(int**)realloc(pin, sizeof( int *)*m);
       for (int i=0;i<m;i++) {
          pin[i]=(int*)realloc(pin[i],sizeof(int)*m);
       }
    }
    for (int i=0;i<m;i++) {
      for (int j=0;j<m;j++) {
          pin[i][j]=rand()%2;
          }
   }return pin;
}



int main (void) {
    int n=3;
    int **pinakas;
    pinakas =fill_in(n,pinakas);
    pinakas=print_pin(pinakas,n);

    pinakas=enlarge(pinakas,n+1, n+1);
    //pinakas=print_pin(pinakas,n+1);
    pinakas=enlarge(pinakas,n+1,n+3);
    pinakas=enlarge(pinakas,n+3,n+3);
    

    return 0;
}
