Ciao,
ho provato a fare questa matrice allocata dinamicamente ma nn capisco dove sia l'errore!

Forse è meglio se la rifaccio senza char? Quante funzioni mi conviene usare??

Scusate l'ignoranza....grazie in anticipo a tutti!!

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

/* dichiarazione dei prototipi di funzione */

int leggi_numero(char*);
void inserisci(char*,int**,int,int);
void visualizza(char*,int**,int,int,int);

/* programma principale */

void main (void)

{

int righe,colonne;
int **mat; /* puntatore a puntatore */
int i;

righe = leggi_numero ("Inserisci il numero delle righe della matrice...");
colonne = leggi_numero ("Inserisci il numero delle colonne della matrice...");
mat = (int**)malloc(righe*sizeof(int*));

for (i=0;i<righe;i++)
mat[i] = (int *)malloc(colonne*sizeof(int));

inserisci("Hai inserito la matrice:\n",mat,righe,colonne);
visualizza("Hai inserito la matrice:\n",mat,righe,colonne);

getch();

}

/* definizione delle funzioni */

int leggi_numero(char*s)

{

int num;

printf ("%s", s);
scanf ("%d", &num);
clrscr();

return (num);

}

void inserisci (char*s,int**x,int rig,int col)

{

int i,j;
printf("%s Numero_righe: %d Numero_colonne: %d", s,rig,col);

for (i=0;i<rig;i++)
for (j=0;j<col;j++)

scanf ("%d", &x[i][j]);
clrscr();

}

void visualizza (char*s, int**x,int rig,int col)

{

int i,j;
printf("%s", s);

for (i=0;i<rig;i++)
for (j=0;j<col;j++)

printf("%d", x[i][j]);

}