Hi Im writing a function to read the matrix user enters and print it out, the main function:

Code:

double **read_matrix(int rows, int cols);
void print_matrix(int rows, int cols, double **mat);
int main(){
double **matrix;
int rows, cols;
/* First matrix */
printf("Matrix 1\n");
printf("Enter # of rows and cols: ");
scanf("%d %d",&rows,&cols);
printf("Matrix, enter %d reals: ",rows*cols);
matrix = read_matrix(rows,cols);
printf("Your Matrix\n"); /* Print the entered data */
print_matrix(rows,cols,matrix);
free_matrix(rows, matrix); /* Free the matrix */
}

the 2 functions, read and print are what I am having problems with:

Code:

double **read_matrix(int rows, int cols){
double matrix = (double **) malloc(sizeof(double *)*rows);
int i=0;
for(i=0; i<rows; i++){
/* Allocate array, store pointer */
matrix2[i] = (double *) malloc(sizeof(double)*cols);
}
}
void print_matrix(int rows, int cols, double **mat){
for(i=0; i<rows; i++){ /* Iterate of each row */
for(j=0; j<cols; j++){ /* In each row, go over each col element */
printf("%f ",matrix2[i][j]); /* Print each row element */
}
printf("\n"); /* Finish a row, start a new line */
}
}

any help to finish the 2 functions?

this is what it's suppose to look like:

Enter # of rows and cols: 4 2

Matrix, enter 8 reals: -.4 -.3 -.2 -.1 0 .1 .2 .3

Your Matrix -4.00e-01 -3.00e-01 -

2.00e-01 -1.00e-01

0.00e+00 1.00e-01

2.00e-01 3.00e-01