محاسبه دترمینان ماتریس n*n

barnoon

عضو جدید
از دوستان کسی میتونه به زبان c دترمینان یک ماتریس n*n رو بنویسه که هر nای رو کامل جواب بده ؟خیلی فوری
 

blackhacking21

عضو جدید
کد:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
#define ROW 3
#define COL 3
 
void inverse_matrix(int m[][COL]);
void print_matrix(int m[][COL]);
 
int main(void)
{
    int i, j, matrix[ROW][COL] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
    
    printf("matrix:\n");
    print_matrix(matrix);
    inverse_matrix(matrix);
    printf("inverse matrix:\n");
    print_matrix(matrix);
     
    srand(time(NULL));
    for (i = 0; i < ROW; i++)
        for (j = 0; j < COL; j++)
            matrix[i][j] = rand() % 10 + 1;
     
    printf("\n\nmatrix:\n");
    print_matrix(matrix);
    inverse_matrix(matrix);
    printf("inverse matrix:\n");
    print_matrix(matrix);
     
    return 0;
}
 
void inverse_matrix(int m[][COL])
{
    int i, j, r, c, tmp, counter = 0;
     
    for (r = ROW - 1, i = 0; i < ROW; i++, r--)
    {
        for (c = COL - 1, j = 0; j < COL; j++, c--)
        {
              tmp = m[i][j];
              m[i][j] = m[r][c];
              m[r][c] = tmp;
              counter++;
              if (counter > (ROW * COL) / 2 - 1) return; // stop from the middle of the matrix
        }
    }
}
void print_matrix(int m[][COL])
{
    int i, j;
      
    for (i = 0; i < ROW; i++)
    {
        for (j = 0; j < COL; j++)
            printf("%5i", m[i][j]);
          
        printf("\n");
    }
}
 
/*
run:
 
matrix:
    1    2    3
    4    5    6
    7    8    9
inverse matrix:
    9    8    7
    6    5    4
    3    2    1
 
 
matrix:
    7    3    1
    5    9    3
    1    3    8
inverse matrix:
    8    3    1
    3    9    5
    1    3    7
 
*/
بفرما ، اینم حل ماتریکس n*n
 

Similar threads

بالا