| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 427 人关注过本帖
标题:求大神帮我弄下,运行不了,学生党
只看楼主 加入收藏
qq62235739
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-10-7
结帖率:0
收藏
已结贴  问题点数:10 回复次数:3 
求大神帮我弄下,运行不了,学生党
#include <iostream.h>
#include <math.h>
#include <stdlib.h>
void main()
{
int n;
float *X,*Y,*V,*R;
cout<<"请输入结点个数:";
cin>>n;
X=new float[n];
Y=new float[n];
V=new float[n];
R=new float[n];
cout<<"请输入各结点的横坐标:";
for (int i=0;i<n;i++)
cin>>X[i];
cout<<"请输入各结点的纵坐标:";
for (i=0;i<n;i++)
cin>>Y[i];
cout<<"请输入各结点的供货量或需求量:";
for (i=0;i<n;i++)
cin>>V[i];
cout<<"请输入各结点的内/外向运输费率:";
for (i=0;i<n;i++)
cin>>R[i];
float sumx=0.0,sumy=0.0,sumqr=0.0;
float avex,avey;
for (i=0;i<n;i++)
{
sumx+=V[i]*R[i]*X[i];
sumy+=V[i]*R[i]*Y[i];
sumqr+=V[i]*R[i];
}
avex=sumx/sumqr;
avey=sumy/sumqr;
cout<<"初始仓库地址为:"<<"X="<<avex<<' '<<"Y="<<avey<<endl;
float *d;
d=new float[i];
float xzsumx=0.0,xzsumy=0.0,xzsumqr=0.0; //xz表示修正
float xzavex,xzavey;
int j=0;
while (1)
{
for (i=0;i<n;i++)
 
d[i]=sqrt((avex-X[i])*(avex-X[i])+(avey-Y[i])*(avey-Y[i]));
for (i=0;i<n;i++)
{
xzsumx+=V[i]*R[i]*X[i]/d[i];
xzsumy+=V[i]*R[i]*Y[i]/d[i];
xzsumqr+=V[i]*R[i]/d[i];
}
xzavex=xzsumx/xzsumqr;
xzavey=xzsumy/xzsumqr;
if (j==60)
break;
else
{
cout<<"第"<<j+1<<"次迭代:"<<"tempX="<<xzavex<<' '<<"tempY="<<xzavey<<endl;
avex=xzavex;
avex=xzavey;
xzsumx=0.0;
xzsumy=0.0;
xzsumqr=0.0;
j++;
}
}
cout<<"仓库最佳地址为:"<<"X="<<xzavex<<' '<<"Y="<<xzavey<<endl;
}
}
}
cout<<"仓库最佳地址为:"<<"X="<<xzavex<<' '<<"Y="<<xzavey<<endl;
}
搜索更多相关主题的帖子: include 需求量 
2013-10-07 20:16
蔡梓锋
Rank: 4
等 级:业余侠客
帖 子:106
专家分:202
注 册:2013-4-20
收藏
得分:4 
貌似是c++的吧!

加油加油!
2013-10-07 20:33
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:4 
是c++的
2013-10-07 20:46
heroinearth
Rank: 10Rank: 10Rank: 10
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
注 册:2011-10-24
收藏
得分:4 
怎一个乱字了得:
程序代码:
#include <iostream>
#include <math.h>
#include <stdlib.h>

void main()
{
    int n,i;
    float *X,*Y,*V,*R;
    std::cout<<"请输入结点个数:";
    std::cin>>n;
    X=new float[n];
    Y=new float[n];
    V=new float[n];
    R=new float[n];
    std::cout<<"请输入各结点的横坐标:";
    for (i=0;i<n;i++)
        std::cin>>X[i];
    std::cout<<"请输入各结点的纵坐标:";
    for (i=0;i<n;i++)
        std::cin>>Y[i];
    std::cout<<"请输入各结点的供货量或需求量:";
    for (i=0;i<n;i++)
        std::cin>>V[i];
    std::cout<<"请输入各结点的内/外向运输费率:";
    for (i=0;i<n;i++)
        std::cin>>R[i];
    float sumx=0.0,sumy=0.0,sumqr=0.0;
    float avex,avey;
    for (i=0;i<n;i++)
    {
        sumx+=V[i]*R[i]*X[i];
        sumy+=V[i]*R[i]*Y[i];
        sumqr+=V[i]*R[i];
    }
    avex=sumx/sumqr;
    avey=sumy/sumqr;
    std::cout<<"初始仓库地址为:"<<"X="<<avex<<' '<<"Y="<<avey<<std::endl;
    float *d;
    d=new float[i];
    float xzsumx=0.0,xzsumy=0.0,xzsumqr=0.0; //xz表示修正
    float xzavex,xzavey;
    int j=0;
    while (1)
    {
        for (i=0;i<n;i++)
            d[i]=sqrt((avex-X[i])*(avex-X[i])+(avey-Y[i])*(avey-Y[i]));
            for (i=0;i<n;i++)
            {
                xzsumx+=V[i]*R[i]*X[i]/d[i];
                xzsumy+=V[i]*R[i]*Y[i]/d[i];
                xzsumqr+=V[i]*R[i]/d[i];
            }
            xzavex=xzsumx/xzsumqr;
            xzavey=xzsumy/xzsumqr;
            if (j==60)
                break;
            else
            {
                std::cout<<""<<j+1<<"次迭代:"<<"tempX="<<xzavex<<' '<<"tempY="<<xzavey<<std::endl;
                avex=xzavex;
                avex=xzavey;
                xzsumx=0.0;
                xzsumy=0.0;
                xzsumqr=0.0;
                j++;
            }
    }
    std::cout<<"仓库最佳地址为:"<<"X="<<xzavex<<' '<<"Y="<<xzavey<<std::endl;
    std::cout<<"仓库最佳地址为:"<<"X="<<xzavex<<' '<<"Y="<<xzavey<<std::endl;
}
编译通过,
建议楼主看C++ primer

[ 本帖最后由 heroinearth 于 2013-10-7 23:53 编辑 ]
2013-10-07 23:51
快速回复:求大神帮我弄下,运行不了,学生党
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018901 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved