⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 n阶行列式.cpp

📁 一些c++小程序
💻 CPP
字号:
#include<iostream.h>
const  int n=100;
  float   f(float a[n],int k)
  {
	  if(k==0)
		  return 0;
	   if(k==1)
		   return  a[0];
	 int flag=k-1;
	  float temp,bei=1.0;
	  if(k*k==4)
		  return  a[0]*a[3]-a[1]*a[2];
	  for(int i=0;i<k;i++)
	  {
		  if(a[i]!=0)
		  {
			   flag=i;
			     temp=a[flag];
				   break;
		  }
	  }
	  if(flag>k-1)
		  return 0;
	 else
	  {
		  for(i=flag+1;i<k;i++)
		  {
			  if(a[i]!=0)
			  {   float king=a[i];
			       bei*=a[flag]/king;
				  for(int j=i;j<k*k;j++)
				  {
					  if(j%k==i)
					  a[j]=a[j]*a[flag]/king-a[j+flag-i];
				  }
			  }
		  }
	  } 	
	  int tap=k;
	  cout<<"xia yi ge ju zheng shi:"<<endl;
	  for(i=k;i<k*k;i++)
	  {
		     if(i%k==flag)
			 {
				 tap++;
				 
			 }
			 else {
				 a[i-tap]=a[i];
				  cout<<a[i-tap]<<"    ";
			 }
			 if((i-tap+1)%(k-1)==0) cout<<endl;
	  }
	  if(flag%2==0)
		  return  temp*f(a,k-1)/bei;
	        return  -temp*f(a,k-1)/bei;
  }

  void  main()
  {
	  int  jie;
	     float   array[n];
		    cout<<"请输入行列式的阶数!"<<endl;
			  cin>>jie;
			    while(jie<0)
				{
					cout<<"你的输入有错误,请保证行列式的阶数非负!"<<endl;
					   cin>>jie;
				}
				if(jie!=0)
				{
			       cout<<"请输入行列式元素!"<<endl;
				     for(int i=0;i<jie*jie;i++)
					   cin>>array[i];
				}
				    cout<<"此行列式的最后结果是:"<<f(array,jie)<<endl;
  }

⌨️ 快捷键说明

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