📄 jiediandaonajuzhen.cpp
字号:
#include<iostream.h>
#include <fstream.h>
#include <math.h>
#define max 50
main ()
{
int l,n,i,j,k;
cout<<"请输入节点数n、支路数l:)";
cin>>n>>l;
if((n>max)||(l>max))
cout<<"错误,max定义过小,请退出"<<endl;
cout<<"n= "<<n<<",l= "<<l<<endl;
double Z1[max][5],Z2[max][5];
//初始化
for(i=0;i<max;i++)
{for(j=0;j<5;j++)
Z1[i][j]=0;
Z2[i][j]=0;
}
cout<<"请输入支路参数:"<<endl;
for(i=0;i<n+l;i++)
{
cin>>Z1[i][0]>>Z1[i][1]>>Z1[i][2]>>Z1[i][3]>>Z1[i][4];
//cout<<Z1[i][0]<<endl;
}//把阻抗Z[i][2]+jZ[i][3]转换为导纳
for(i=0;i<n+l;i++)
{
Z2[i][0]=Z1[i][0];
Z2[i][1]=Z1[i][1];
Z2[i][4]=Z1[i][4];
if (Z1[i][0]==Z1[i][1])//对角元素
{Z2[i][2]=0;
Z2[i][3]=0;
}
else
{
Z2[i][2]=Z1[i][2]/((Z1[i][2])*(Z1[i][2])+(Z1[i][3])*(Z1[i][3]));
Z2[i][3]=-Z1[i][3]/((Z1[i][2])*(Z1[i][2])+(Z1[i][3])*(Z1[i][3]));
}
}
for(i=0;i<n+l;i++)
{
if(Z2[i][0]==Z2[i][1]) //对角元素
{ for(j=0;j<n+l;j++)
if(((Z2[i][0]==Z2[j][0])||(Z2[i][0]==Z2[j][1]))&&(Z2[j][0]!=Z2[j][1]))
{
Z2[i][2]=Z2[i][2]+Z2[j][2];
Z2[i][3]=Z2[i][3]+Z2[j][3];
}
Z2[i][3]=Z2[i][3]+Z2[i][4];
}
}
//非对角元素取反
for(i=0;i<n+l;i++)
{
if(Z2[i][0]!=Z2[i][1]) //非对角元素
{
Z2[i][2]=-Z2[i][2];
Z2[i][3]=-Z2[i][3];
}
}
cout<<"始节点 终节点 导纳 电纳 分别为:\n";//输入数据输出观看,考虑虚部的问题
cout<<"Z2="<<endl;
for(i=0;i<n+l;i++)
{
cout<<Z2[i][0]<<" "<<Z2[i][1]<<" "<<Z2[i][2]<<" "<<Z2[i][3]<<"j"<<" "<<" ";// 需要变化,考虑虚部的输出
cout<<"\n";
}
//cout<<"程序结束,:"<<endl;
//cout<<"Z1="<<endl;
//for(i=0;i<n+l;i++)
//{
//cout<<Z1[i][0]<<" "<<Z1[i][1]<<" "<<Z1[i][2]<<" "<<Z1[i][3]<<"j"<<" "<<" ";// 需要变化,考虑虚部的输出
//cout<<"\n";
//}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -