Thread: Error in showMatrix function.

  1. #1
    Registered User
    Join Date
    Feb 2002
    Posts
    37

    Error in showMatrix function.

    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

  2. #2
    Registered User
    Join Date
    Mar 2003
    Posts
    143
    you are using m->mat as a 2-D matrix when it is only defined as 1-D. you need
    to use it as you did in createMatrix(), doing something like:
    Code:
      m->mat[i * m->numColumns + j]
    hth
    DavT
    -----------------------------------------------

  3. #3
    Registered User
    Join Date
    Feb 2002
    Posts
    37
    Oh I see now what I did wrong, thanks.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Seg Fault in Compare Function
    By tytelizgal in forum C Programming
    Replies: 1
    Last Post: 10-25-2008, 03:06 PM
  2. Another syntax error
    By caldeira in forum C Programming
    Replies: 31
    Last Post: 09-05-2008, 01:01 AM
  3. In over my head
    By Shelnutt2 in forum C Programming
    Replies: 1
    Last Post: 07-08-2008, 06:54 PM
  4. Including lib in a lib
    By bibiteinfo in forum C++ Programming
    Replies: 0
    Last Post: 02-07-2006, 02:28 PM
  5. Question..
    By pode in forum Windows Programming
    Replies: 12
    Last Post: 12-19-2004, 07:05 PM