aar_maxima_det.c

来自「一些矩阵运算的C代码实现:矩阵一般运算」· C语言 代码 · 共 100 行

C
100
字号
/* .c                         freeware     http://groups.yahoo.com/group/mathc/
*/

/* --------------------------------- INCLUDES ------------------------------- */
#include "v_ahfile.h"

/* --------------------------------- FUNCTION ------------------------------  */
/* Do    :                                                                    */
/*                                                                            */


/* -------------------------------------------------------------------------- */
void detab(
int n)
{
double detA;

double pbA [MXR][MXC];mR mA ={MXR,MXC,&pbA [0][0]};

                   mA.rows=n;                   mA.cols=n;
/*-------------------------------- PROGRAM ---------------------------------- */
  rnd_mR(&mA,5);

  clrscrn();
  printf(" Copy/Past into the maxima windows \n\n\n\n");
  printf(" kill(all); \n\n");
  p_mR_maxima(&mA,"a");
  printf(" b : determinant(a); \n\n");
  getchar();

  clrscrn();
  printf("                                                       A :");
  p_mR(&mA);

  detA = det_R(&mA);
  printf("\n                                      det(A) = %.0f\n",detA);
}

void hello(void)
{
  printf("\n Freeware by : xhunga bernard 06000 Nice France.\n");
  printf("\n                                                  ");
  printf("\n              det(A)                              ");
  printf("\n              ******                              ");
  printf("\n                                                  ");
  printf("\n The size of mA : 1x1 ... 4x4.                  \n");
  printf("\n     ex : \"dabf.exe\"                          \n");
  printf("\n You can choose the size :                      \n");
  printf("\n     ex : \"dabf.exe 2 \" -> 2x2                  ");
  printf("\n          \"dabf.exe 3 \" -> 3x3                  ");
  printf("\n          \"dabf.exe 4 \" -> 4x4                  ");
  printf("\n\n                                                ");
  printf("\n Distributed  by :  http://www.simtel.net/        ");
  printf("\n                                                  ");
  printf("\n Press return to continue                          ");
  printf("\n                                                  ");
  getchar();
}


/* --------------------------------- MAIN ----------------------------------- */
int main(int argc, char *argv[])
{
time_t t;
int    n;

/*-------------------------------- PROGRAM ---------------------------------- */
   srand(time(&t));
   hello();
do
{

if( argc == 2 && atoi(argv[1]))
 {  n = atoi(argv[1]); if( n > 4){n=4;}}
else
 {  n = rndp_I(4);}
if( n < 1){n=1;}


  detab(n);


  printf("\n Press 'X' Return to stop\n");
} while(toupper(getchar())!='X');

  return 0;
}












⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?