#include <stdio.h>
#include <stdlib.h>

#define N  5
#define M  10


void multiply_by_scalar(int **a, int n, int m,int x)
{
     int i ,j;
     for (i = 0; i < n;i++) {
         for (j = 0;j < m;j++)
             a[i][j] *= x;
     }
}


void print_mat(int **a, int n, int m)
{
     int i ,j;
     for (i = 0; i < n;i++) {
         for (j = 0;j < m;j++)
             printf ("%5d ", a[i][j]);
         printf("\n");
     }
}

int main (int argc, char * argv[])
{
    // matrice di 5 righe x 10 colonne
    int **mat;
    int i ,j, a;
    mat = malloc (N * sizeof(int *));
    for (i = 0; i < N;i++) {
        mat[i] = malloc(M * sizeof (int)); 
    }
    a = 0;
    for (i = 0; i < N;i++)
        for (j = 0;j < M;j++)
            mat[i][j] = a++;
    
    print_mat(mat, N, M);
    printf ("\n");
    multiply_by_scalar(mat, N, M, 10);
    print_mat(mat, N, M);
    getchar();
}
