易码技术论坛

 找回密码
 加入易码
搜索
查看: 205615|回复: 3

谁来给我指点一下(一个程序)

[复制链接]
发表于 2007-11-9 12:44:28 | 显示全部楼层 |阅读模式
这两天在编一个行列式计算的程序   好像高于四阶的行列式计算不能用对角线法则计算吧   但是在网上出现的给出的算法都几乎是用此种方法    比如如下的地这个
    #define M 4
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
int  hanglieshi(int array[M][M])
{
   int temp[M][2*M];
   int i,j,c,c1;
   int result=0,t=1;
   for(i=0;i<M;i++)
   {
      for(j=0;j<2*M;j++)
      {
          temp[j]=array[j%M];
      }
   }
   for(c1=0;c1<M;c1++)
   {
      i=0;
      j=c1;
      t=1;
      for(c=0;c<M;c++)
      {
         t*=temp[j];
         i++;
         j++;
      }
      result+=t;
   }
   for(c1=0;c1<M;c1++)
   {
      i=M-1;
      j=c1;
      t=1;
      for(c=0;c<M;c++)
      {
          t*=temp[j];
          i--;
          j++;
      }
      result-=t;
   }
   return result;
}
void init(int array[M][M])
{
   int i,j;
   randomize();
   for(i=0;i<M;i++)
      for(j=0;j<M;j++)
         array[j]=random(20)+1;
}
output(int array[M][M])
{
   int i,j;
   for(i=0;i<M;i++)
   {
      printf("\n\n");
      for(j=0;j<M;j++)
          printf("%4d",array[j]);
   }
}
main()
{
   int array[M][M];
   clrscr();
   init(array);
   output(array);
   printf("\n%d",hanglieshi(array));
}







     但是我用LOJA  的 行列式计算器   计算的 高于 4阶 答案就不一样    很纳闷      LOJA 可否给指点一下  能给出您的算法  更好     



     论坛里的大哥们 能否给我 指点下  刚学行列式   还不很懂       到底哪里出错了


   能给出正确程序最好   或者说出正解的算法    给出列程(   C  C++  JAVA VB   任意代码都可以    )

[ 本帖最后由 csh 于 2007-11-9 12:54 编辑 ]
 楼主| 发表于 2007-11-9 12:48:52 | 显示全部楼层
因为在水库  人多 偶急用  所以请版主 留情 两天后再转到程序区   谢谢 各位了
发表于 2007-11-9 22:23:10 | 显示全部楼层
用matlab算 那个支持高阶矩阵的
发表于 2007-11-9 22:24:08 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2025-5-2 03:29 , Processed in 0.011423 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表