#include <stdio.h>
#include <stdio.h>
#define M 5
#define N 10
long matr[M][N];

void coloana0(void);
void constr(void);
void tiparire(void);

void main(void){
  coloana0();
  constr();
  tiparire();
  getche();
}

void coloana0(void){
  int i;
  puts("Introduceti elementele primei coloane:");
  for(i=0;i<M;i++){
    printf("elem %d,0=",i);
    scanf("%ld",&matr[i][0]);
  } //for
}

void tiparire(void){
  int i,j;
  puts("Matricea pe coloane este:");
  for(j=0;j<N;j++){
    for(i=0;i<M;i++)
      printf("%lx  ",matr[i][j]);
    putchar('\n');
  } //for j
}

void constr(void){
  int i,j,k;
  long masca;
  for(j=1;j<N;j++){
    //se construieste masca ce contine j de 1
    masca=0l;
    for(k=1;k<=j;k++)
      masca=masca<<1|1l;
    for(i=0;i<M;i++)
      matr[i][j]=matr[i][0]&masca<<i; //masca se depl cu i pozitii
  }//for j
}