On the very last row of showMatrix I get an error that says: error C2109: subscript requires array or pointer typ. How do I fix this.
Code:
#ifndef _MATRIX_H_
#define _MATRIX_H_
struct matrix
{
int * mat;
int numRows;
int numColumns;
};
void createMatrix(struct matrix * m);
void destroyMatrix(struct matrix * m);
void showMatrix(struct matrix * m);
#endif
/////////////////////////////////////////////////////////////////////
#include <stdlib.h>
#include <stdio.h>
#include "Matrix.h"
void createMatrix(struct matrix * m)
{
int i;
int j;
printf("Enter dimensions.\n");
printf("Rows: ");
scanf("%d", &m->numRows);
printf("Columns: ");
scanf("%d", &m->numColumns);
printf("Enter matrix values.\n");
m->mat = (int *) malloc(m->numRows * m->numColumns * sizeof(int));
for (i = 0; i < m->numRows; i++)
for (j = 0; j < m->numColumns; j++)
scanf("%d", &m->mat[i * m->numColumns + j]);
}
void destroyMatrix(struct matrix * m)
{
free(m->mat);
}
void showMatrix(struct matrix * m)
{
int i;
int j;
for (i = 0; i < m->numRows; i++)
for (j = 0; j < m->numColumns; j++)
printf("matrix[%d][%d] = %d\n", m->numRows, m->numColumns, m->mat[m->numRows][m->numColumns]);
}
Compiler: MS Visual Studio.net
OS: Windows XP Pro sp1