| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 850 人关注过本帖
标题:C++编程,时候错了找不到“math”文件,怎么办?
只看楼主 加入收藏
kagaya
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-12-1
收藏
 问题点数:0 回复次数:7 
C++编程,时候错了找不到“math”文件,怎么办?
程序如下;
#include <iostream>
#include <math>
using namespace std;
int main()
{
int i,j,n,k,c;//n为方程的阶数,c为希望的迭代的次数
float e,s,m;//误差极限
float a[3][3],b[3],d[3];
float x1[3],x0[3];//x1,x0分别相当于x(k+1),x(k)
cout<<"输入方程的阶数n="<<endl;
cin>>n;
cout<<"输入矩阵a(i,j)="<<endl;
for(i=1,i<=n,i++)
{
    for(j=1,j<=n,j++)
    {
        cin>>a[i][j];
    }
}//矩阵的输入
cout<<"输入向量b(i)"<<endl;
for(i=1,i<=n,i++)
{
    cin>>b[i];
}
cout<<"输入希望迭代的次数c="<<endl;
cin>>c;
cout<<"输入误差极限e="<<endl;
cin>>e;
//开始迭代
for(k=1,k<=c,k++)
{
    for(i=1,i<=n,i++)
    {
        s=0;//对s进行赋值
        for (i=1,i<=n,i++)
        {
            x1[i]=0,x0[i]=0;//对x1[i],x0[i]进行赋值
        }
        for(j=1,j<=n,j++)
        {
            if(j!=i)
            {s=s+a[i][j]*x0[j];}
        }
        x1[i]=(b(i)-s)/a[i][i];//完成一次迭代
    }
    for(i=1,i<=n,i++)
    {d[i]=x1[i]-x0[i];}//d[i]为下面误差分析用
    if(m=max(d[1],d[2],d[3])<=e)//比较误差
    {cout<<"迭代的次数k="<<k<<endl;
    cout<<"方程的解为"<<endl;
                    for(i=1,i<=n,i++)
                    {cout<<x1[i]<<" ";
                            cout<<endl;
                             break;}//输出x1[i]
    for(i=1,i<=n,i++)

    {x0[i]=x1[i];}//把K+1的值赋给K
}//完成迭代
cout<<"迭代的次数k="<<c<<endl;
cout<<"方程的解为"<<endl;
for(i=1,i<=n,i++)
{cout<<x1[i]<<" ";
cout<<endl;}
return 0;
}

出现的错误:
d:\documents and settings\administrator.27611bfecbf8430\雅可比.cpp(2) : fatal error C1083: Cannot open include file: 'math': No such file or directory
执行 cl.exe 时出错.

雅可比.obj - 1 error(s), 0 warning(s
搜索更多相关主题的帖子: math 文件 
2008-12-02 22:59
newyj
Rank: 2
等 级:新手上路
威 望:3
帖 子:542
专家分:0
注 册:2008-1-4
收藏
得分:0 
#include<cmath>
2008-12-02 23:06
p1s
Rank: 4
等 级:贵宾
威 望:10
帖 子:454
专家分:3
注 册:2005-11-4
收藏
得分:0 
math.h或者cmath
2008-12-03 08:02
kagaya
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-12-1
收藏
得分:0 
换成是#include <math.h>的时候显示:


:\documents and settings\administrator.27611bfecbf8430\1.cpp(35) : error C2143: syntax error : missing ';' before ')'
d:\documents and settings\administrator.27611bfecbf8430\1.cpp(39) : error C2143: syntax error : missing ';' before ')'
d:\documents and settings\administrator.27611bfecbf8430\1.cpp(39) : error C2143: syntax error : missing ';' before ')'
d:\documents and settings\administrator.27611bfecbf8430\1.cpp(44) : error C2064: term does not evaluate to a function
d:\documents and settings\administrator.27611bfecbf8430\1.cpp(46) : error C2143: syntax error : missing ';' before ')'
d:\documents and settings\administrator.27611bfecbf8430\1.cpp(46) : error C2143: syntax error : missing ';' before ')'
d:\documents and settings\administrator.27611bfecbf8430\1.cpp(48) : error C2065: 'max' : undeclared identifier
d:\documents and settings\administrator.27611bfecbf8430\1.cpp(51) : error C2143: syntax error : missing ';' before ')'
d:\documents and settings\administrator.27611bfecbf8430\1.cpp(51) : error C2143: syntax error : missing ';' before ')'
d:\documents and settings\administrator.27611bfecbf8430\1.cpp(55) : error C2143: syntax error : missing ';' before ')'
d:\documents and settings\administrator.27611bfecbf8430\1.cpp(55) : error C2143: syntax error : missing ';' before ')'
d:\documents and settings\administrator.27611bfecbf8430\1.cpp(61) : error C2143: syntax error : missing ';' before ')'
d:\documents and settings\administrator.27611bfecbf8430\1.cpp(61) : error C2143: syntax error : missing ';' before ')'
d:\documents and settings\administrator.27611bfecbf8430\1.cpp(66) : fatal error C1004: unexpected end of file found
执行 cl.exe 时出错.

1.exe - 1 error(s), 0 warning(s)
2008-12-03 16:09
beyondlwm
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2006-7-19
收藏
得分:0 
#include"math.h"
注意是引号
2008-12-03 16:27
hejingyang0626
Rank: 1
等 级:新手上路
帖 子:90
专家分:0
注 册:2008-11-29
收藏
得分:0 
你是想编一个什么样的程序啊?
感觉你这个问题怪多的
你应该是刚开始学习C++的吧
吧你具体要编写的东西说清楚我给你编写个
2008-12-03 16:32
hejingyang0626
Rank: 1
等 级:新手上路
帖 子:90
专家分:0
注 册:2008-11-29
收藏
得分:0 
你的for循环里面应该是分号不应该是逗号,
if(m=max(d[1],d[2],d[3])<=e)//比较误差
这一句 max()这个函数都没定义怎么能调用啊?
2008-12-03 16:33
kagaya
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-12-1
收藏
得分:0 
回复 第6楼 hejingyang0626 的帖子
谢谢你了
.用雅格比法与高斯-赛德尔迭代法解下列方程组Ax=b,研究其收敛性,上机验证理论分析是否正确,比较它们的收敛速度,观察右端项对迭代收敛有无影响。
(1)A行分别为A1=[6,2,-1],A2=[1,4,-2],A3=[-3,1,4]; b1=[-3,2,4]T, b2=[100,-200,345]T,
(2) A行分别为A1=[1,0,8,0.8],A2=[0.8,1,0.8],A3=[0.8,0.8,1];b1=[3,2,1] T, b2=[5,0,-10]T,
(3)A行分别为A1=[1,3],A2=[-7,1];b=[4,6]T,
2008-12-10 00:14
快速回复:C++编程,时候错了找不到“math”文件,怎么办?
数据加载中...
 
   



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

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