标题:一个程序为什么出现 ld returned 1 exit status?
只看楼主
tryingtrying
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-7-1
 问题点数:0 回复次数:5 
一个程序为什么出现 ld returned 1 exit status?
刚开始学,还在摸索中,请帮忙看一下这个程序为什么会出现  Permission denied ,  ld returned 1 exit status 的错误。(刚开始试还是好的,突然编译就出现了这行字)
程序能有什么改善的方法,望大虾们指教。。。
#include<iostream>
using namespace std;
float F(float x);
float P(float x);
int main()
{
    float x;
    x=3.0;
    while (F(x)<0.000000001);
    { x=x-F(x)/P(x);
          cout<<x<<endl;
          }
}
float F(float x)
{
      float m;
        m=x*x-9;
        return m;
        }
float P(float x)
{
      float p1;
        p1=2*x;
        return p1;
        }

[[it] 本帖最后由 tryingtrying 于 2008-7-1 20:32 编辑 [/it]]
搜索更多相关主题的帖子: status exit returned 
2008-07-01 20:15
很远的那颗星
Rank: 2
等 级:新手上路
威 望:4
帖 子:544
专家分:0
注 册:2008-6-30
得分:0 
x=3.0;
    while (F(x)<0.000000001);    //这里多了分号
    { x=x-F(x)/P(x);
          cout<<x<<endl;
          }


还有你这个是死循环.

Fighting~~~~~~~~
2008-07-01 20:35
tryingtrying
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-7-1
得分:0 
谢谢。
为什么叫死循环?如果让程序按照递推式计算下去怎么写呢?
2008-07-01 20:37
很远的那颗星
Rank: 2
等 级:新手上路
威 望:4
帖 子:544
专家分:0
注 册:2008-6-30
得分:0 
为什么叫死循环?
//就是你while循环没有结束条件.
while (F(x)<0.000000001)   //你这句永远都成立,所以它会一直运行下去.
    { x=x-F(x)/P(x);
          cout<<x<<endl;
          }


如果让程序按照递推式计算下去怎么写呢?

不是很明白你的意思,我不知你写这个程序的目的何在,所以我不明白你想要产生怎样的结果.

Fighting~~~~~~~~
2008-07-01 20:53
tryingtrying
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-7-1
得分:0 
就是想让这串数列最后收敛...
递推式就是x[n+1]=x[n]-f(x[n])/p(x[n])
想让程序输出x1,x2...x[n]
2008-07-01 20:57
很远的那颗星
Rank: 2
等 级:新手上路
威 望:4
帖 子:544
专家分:0
注 册:2008-6-30
得分:0 
你可以在while循环中定义数列收敛值,比如K,当你所求X与K之间相差极小时,就跳出循环.
while(1)
{
  x=x-F(x)/P(x);
  cout<<x<<endl;
  if ((x-K)<1e-6)     //K是数列收敛值.
     break;           //跳出循环.
}

Fighting~~~~~~~~
2008-07-01 21:10



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-222178-1-1.html




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

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