📄 lufdet.c
字号:
/* gjid03.c freeware xhunga@tiscali.fr
*/
/* --------------------------------- INCLUDES ------------------------------- */
#include "y_ahfile.h"
/* ------------------------------------- FUNCTION -------------------------- */
/* Do : */
/* */
/* -------------------------------------------------------------------------- */
void gjA(int n)
{
complexF a;
complexF l;
double pbA[MXR][MXC*C4];mzF mA={MXR,MXC*C4,&pbA[0][0]};
double pbL[MXR][MXC*C4];mzF mL={MXR,MXC*C4,&pbL[0][0]};
double pbU[MXR][MXC*C4];mzF mU={MXR,MXC*C4,&pbU[0][0]};
double pbT[MXR][MXC*C4];mzF mT={MXR,MXC*C4,&pbT[0][0]};
mA.rows=n; mA.cols=n*C4;
mL.rows=n; mL.cols=n*C4;
mU.rows=n; mU.cols=n*C4;
mT.rows=n; mT.cols=n*C4;
/*-------------------------------- PROGRAM ---------------------------------- */
if(n==4) rnd_mzF(&mA,2,1);
if(n==3) rnd_mzF(&mA,2,2);
if(n==2) rnd_mzF(&mA,3,3);
clrscrn();
printf(" A :");
p_mizF3(&mA);
LU_mzF(&mA,&mL,&mU);
printf(" L :");
p_mizF3(&mL);
printf(" U :");
p_mizF3(&mU);
printf(" LU_mzF :");
mul_mzF(&mL,&mU,&mT);
p_mizF3(&mT);
printf("\n");
printf(" det(A) = "); p_izF(det_zF(&mA));printf("\n");
printf(" det(L) = "); p_izF(det_zF(&mL));printf("\n");
}
void hello(void)
{
printf("\n Freeware by : xhunga bernard 06000 Nice France.\n");
printf("\n ");
printf("\n Det(A) = Det(L). ");
printf("\n **************** \n");
printf("\n The size of mA : 2x2 ... 4x4. \n");
printf("\n ex : \"LUFdet.exe\" \n");
printf("\n You can choose the size : \n");
printf("\n ex : \"LUFdet.exe 2\" -> mA 2x2 ");
printf("\n \"LUFdet.exe 3\" -> mA 3x3 ");
printf("\n \"LUFdet.exe 4\" -> mA 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 < 2){n=2;}
gjA(n);
printf("\n Press 'X' Return to stop\n");
} while(toupper(getchar())!='X');
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -