Here's an example of something similiar:
Code:
#include <stdio.h>
#include <stdlib.h>
int *getrow(int length) {
int i, ii, ch, *row=malloc(length*sizeof(int));
char buffer[16];
printf("Enter %d numbers seperated by commas\n"
"(max 4 digits): ", length);
for (i=0; i<length; i++) {
ii=0;
while ((ch=fgetc(stdin))!=',') {
if (ch=='\n') break;
buffer[ii]=ch;
ii++;
}
buffer[ii]='\0';
row[i]=atoi(buffer);
}
return row;
}
void showmatrix (int *matrix[], int rows, int cols) {
int i, ii;
for (i=0; i<rows; i++) {
for (ii=0; ii<cols; ii++) printf("%5d", matrix[i][ii]);
printf("\n");
}
}
int main(int argc, char *argv[]) {
int rows, cols, i, **matrix;
if (argc<3) {
printf("Usage \"%s [NO OF ROWS][NO OF COLS]\", eg %s 3 3\n",argv[0],argv[0]);
return 0;
}
rows=atoi(argv[1]); cols=atoi(argv[2]);
matrix=malloc(rows*sizeof(int*));
for (i=0; i<rows; i++) matrix[i]=getrow(cols);
showmatrix(matrix,rows,cols);
for (i=0; i<rows; i++) free(matrix[i]);
free(matrix);
return 0;
}