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

📄 ybusflow.cpp

📁 导纳矩阵的形成方法,用于电力系统潮流计算分析相当有用.
💻 CPP
字号:
#include<iostream.h>
#include<stdio.h>

#define N 4
#define M N*(N-1)/2

void trianglestore(int A[N][N])
{
int i,j;
	for(i=0;i<N;i++)
	{
		for(j=0;j<N;j++)
			cout<<A[i][j];
		cout<<endl;
		
	}
	
	int	U[M],JU[M],IU[N],L[M],IL[M],JL[N],D[N];
	for(i=0;i<N;i++)
		IU[i]=0;
    //存储A的上三角部分的非零元的值,按行一次存储//
		int k=0;
		int q=0;
		for(i=0;i<N;i++)
		{
			for( j=i+1;j<N;j++)
		
			{
				if(A[i][j]!=0)
				{
					U[k]=A[i][j];
				//存储A中上三角部分的非零元的列号//
					JU[k]=j;
				    k++;
				//存储A中上三角部分每行第一个非零元再U中的位置(首地址)//
					if(IU[i]=0) 
					{
						IU[i]=1+q;
						q++;
					}
					else q++;
				}
				
			}
			if(IU[i]=0)IU[i]=q+1;
		}

			k=0;
			q=0;
			for(j=0;j<N-1;j++)
				for(i=j+1;i<N;i++)
				{
					//按列存储A中的下三角非零元素的值//
					if(A[i][j]!=0)
					{
						L[k]=A[i][j];
						
					//按列存储A中下三角非零元素的行号//
						IL[k]=i;
						k++;
					//存储A的下三角部分每列第一个非零元在L中的位置(首地址)//
						if(JL[j]=NULL) 
						{
							JL[j]=1+q;
							q++;
						}
						
					}
					JL[j]=q;
				}
				for(i=0;i<N;i++)
					D[i]=A[i][i];
				cout<<"输入U的值"<<endl;

				for(k=0;k<N-1;k++)
					cout<<U[k]<<endl;
				
				cout<<"输入JU的值"<<endl;
				for(k=0;k<N-1;k++)
					cout<<JU[k]<<endl;

				cout<<"输入IU的值"<<endl;

				for( i=0;i<N;i++)
					cout<<IU[i]<<endl;

}



void main()
{
int B[N][N];
for(int i=0;i<N;i++)
{
	for(int j=0;j<N;j++)
	{
		cin>>B[i][j];
	}
	cout<<endl;
}


trianglestore(B);
getchar();
}

⌨️ 快捷键说明

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