Thread: inverse matrix not printing values properly

  1. #1
    Registered User
    Join Date
    Jan 2015
    Posts
    26

    inverse matrix not printing values properly

    Hello, I have this code that creates a random matrix and then calculates the inverse of it. Everything seems to work, but when I check if the inverse matrix is correct, I see that the order and some values are wrong, is anyone able to find the mistake?
    Code:
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    #include <time.h>
    void inverse(int r, int c, int* matrix[]);
    void vectorb(int r);
    
    
    int main()
    {
        srand(time(NULL));
        int r;
        int c;
        printf("define the size of the matrix\n number of rows\n");
        scanf_s("%d", &r);
        printf("number of columns\n");
        scanf_s("%d", &c);
        int **matrix = (int**)malloc(r * sizeof(*matrix));
        for (int i = 0; i < r; i++)
        {
            matrix[i] = (int*)malloc(c * sizeof(*matrix[r]));
        }
    
    
        for (int i = 0; i < r; ++i)
        {
            for (int j = 0; j < c; ++j)
            {
                matrix[i][j] = rand() % 21 - 10;
                printf("%d     ", matrix[i][j]);
                
            
            }
            
            printf("\n");
            
        }
        inverse(r, c, matrix);
        
    }
    
    
        
    void inverse(int r, int c, int* matrix[])
    {
    
    
        double determinant = 0;
        for (int i = 0; i<r; i++)
            determinant = determinant + (matrix[0][i] * (matrix[1][(i + 1) % r] * matrix[2][(i + 2) % r] - matrix[1][(i + 2) % r] * matrix[2][(i + 1) % r]));
    
        printf("\nInverse of matrix is: \n\n");
        for (int i = 0; i<r; i++){
            for (int j = 0; j<r; j++)
    
                printf("%.2f\t", (((matrix[(i + 1) % r][(j + 1) % r] * matrix[(i + 2) % r][(j + 2) % r]) - (matrix[(i + 1) % r][(j + 2) % r] * matrix[(i + 2) % r][(j + 1) % r])) / determinant));
            printf("\n");
    
        }
    
    }
    Thanks in advance

  2. #2
    Registered User
    Join Date
    Jan 2015
    Posts
    26
    solved

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. printing the inverse's matrix!
    By RyanC in forum C Programming
    Replies: 23
    Last Post: 11-27-2015, 12:38 PM
  2. Looking for inverse a matrix in C
    By bybek5 in forum C Programming
    Replies: 2
    Last Post: 05-19-2010, 03:01 PM
  3. Need help in Matrix Addition & finding Inverse of a Matrix
    By ssatyan.129 in forum C Programming
    Replies: 6
    Last Post: 05-15-2009, 02:48 PM
  4. inverse matrix
    By Yumin in forum C++ Programming
    Replies: 2
    Last Post: 11-15-2005, 12:06 AM
  5. Inverse a 4 * 4 matrix
    By Barjor in forum Game Programming
    Replies: 2
    Last Post: 05-19-2003, 10:47 AM

Tags for this Thread