24小时热门版块排行榜    

Znn3bq.jpeg
查看: 1591  |  回复: 8
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

zyj8119

木虫 (著名写手)

[交流] 【求助】为什么我编译了一个书本上的无错误的C++程序,却有这么多的错误?

CODE:
#include
#include
#include
using namespace std;
class bint
{
private:
        int n;
        double **a,*b,*x,eps;
        double **p,*r,*e;
public:
        bint(int nn)
        {
                int i;
                n=nn;
                a=new double*[n];
                for(i=0;i                 p=new double*[n];
                for(i=0;i                 r=new double[n];
                e=new double[n];
                b=new double[n];
                x=new double[n];
        }
        void input();
        void a_bint();
        void gauss();
        void output();
        bint()
        {
                int i;
                for(i=0;i                 delete[] a;
                for(i=0;i                 delete[] p;
                delete[] r,e,b,x;
        }
};

void bint::input()
{
        int i,j;
        char str1[20];
        cout<<"\n输入文件名:";
        cin>>str1;
        ifstream fin(str1);
        if(!fin)
        {cout<<"\n不能打开这个文件"<         for(i=0;i                 for(j=0;j>a[i][j];
                for(i=0;i>b[i];
                fin.close();
}

void bint::a_bint()
{
        int i,j,k;
        double q,qq;
        i=100;
        for(k=0;k<=n-1;k++)
                for(j=0;j<=n-1;j++)p[k][j]=a[k][j];
                for(k=0;k<=n-1;k++)r[k]=b[k];
                gauss();
                for(k=0;k                 q=1.0+eps;
                while(q>=eps)
                {
                        if(i==0)return;
                        i=i-1;
                        for(k=0;k                         {
                                e[k]=0.0;
                                for(j=0;j                                         e[k]=e[k]+a[k][j]*x[j];
                        }
                        for(k=0;k<=n-1;k++)r[k]=b[k]-e[k];
                                for(k=0;k<=n-1;k++)
                                        for(j=0;j<=n-1;j++)p[k][j]=a[k][j];
                                        gauss();
                                        q=0.0;
                                        for(k=0;k<=n-1;k++)
                                        {
                                                qq=fabs(r[k])/(1.0+fabs(x[k]+r[k]));
                                                if(qq>q)q=qq;
                                        }
                                        for(k=0;k<=n-1;k++)x[k]=x[k]+r[k];
                }
}
void bint::gauss()
{
        int *js,l,k,i,j,is;
        double d,t;
        js=new int[n];
        l=1;
        for(k=0;k<=n-2;k++)
        {
                d=0.0;
                for(i=k;i<=n-1;i++)
                        for(j=k;j<=n-1;j++)
                        {
                                t=fabs(p[i][j]);
                                if(t>d){d=t;js[k]=j;is=i;}
                        }
                        if(d+1.0==1.0)l=0;
                        else
                        {if(js[k]!=k)
                        for(i=0;i<=n-1;i++)
                        {
                                t=p[i][k];
                                p[i][k]=p[i][js[k]];
                                p[i][js[k]]=t;
                        }
                        if(is!=k)
                        {
                                for(j=k;j<=n-1;j++)
                                {
                                        t=p[k][j];
                                        p[k][j]=p[is][j];
                                        p[is][j]=t;
                                }
                                    t=r[k];r[k]=r[is];r[is]=t;
                        }
                }
                        if(l==0)
                        {
                                delete[] js;
                                cout<<"\n系数矩阵奇异!无解."<                                 return;
                        }
                        d=p[k][k];
                        for(j=k+1;j<=n-1;j++)
                                p[k][j]=p[k][j]/d;
                        r[k]=r[k]/d;
                        for(i=k+1;i<=n-1;i++)
                                p[i][j]=p[i][j]-p[i][k]*p[k][j];
                        r[i]=r[i]-p[i][k]*r[k];
        }
}
            d=p[n-1][n-1];
            if(fabs(d)+1.0==1.0)
                        {
                delete[] js;
                                cout<<"\n系数矩阵奇异!无解."<                             return;
                        }
            r[n-1]=r[n-1]/d;
            for(i=n-2;i>=0;i--)
                        {
                t=0.0;
                for(j=i+1;j<=n-1;j++)
                       t=t+p[i][j]*r[j];
                  r[i]=r[i]-t;
                        }
            js[n-1]=n-1;
          for(k=n-1;k>=0;k--)
          if(js[k]!=k)
                  {
               t=r[k];r[k]=r[js[k]];r[js[k]]=t;
                  }
       delete[] js;
    }

void bint::output()
{
        int i;
        char str2[20];
        cout<<"\n输出文件名:";
        cin>>str2;
        ofstream fout(str2);
        if(!fout)
        {cout<<"\n不能打开这个文件"<         fout<         for(i=0;i         {
                fout<                         cout<         }
        fout<         fout.close();
}

void main()
{
        bint c(4);
        c.input();
        c.a_bint();
        c.output();
}

[ Last edited by zyj8119 on 2010-10-12 at 01:57 ]
回复此楼

» 猜你喜欢

好好学习,天天向上。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ajian04

禁虫 (正式写手)


zyj8119(金币+2):可能我有些是中文情况下输入的。 2010-10-12 10:57:59
余泽成(金币+1):谢谢参与应助! 2010-10-12 17:44:04
引用回帖:
Originally posted by zyj8119 at 2010-10-12 10:01:17:

是直接抄写的,是不是大括号的位置也是有要求的?????

位置应该没有要求,只是不要在中文输入法状态下输入就行了
9楼2010-10-12 10:09:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答

zyj8119

木虫 (著名写手)

ajian04:欢迎交流~ 2010-10-12 08:16:06
错误是:
--------------------Configuration: 1 - Win32 Debug--------------------
Compiling...
bingtai.cpp
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(128) : error C2143: syntax error : missing ';' before 'return'
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(139) : error C2501: 'd' : missing storage-class or type specifiers
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(139) : error C2065: 'p' : undeclared identifier
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(139) : error C2065: 'n' : undeclared identifier
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(139) : error C2109: subscript requires array or pointer type
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(139) : error C2109: subscript requires array or pointer type
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(140) : error C2143: syntax error : missing ';' before 'if'
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(141) : error C2143: syntax error : missing ';' before '{'
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(141) : error C2447: missing function header (old-style formal list?)
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(146) : error C2057: expected constant expression
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(146) : error C2466: cannot allocate an array of constant size 0
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(146) : error C2501: 'r' : missing storage-class or type specifiers
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(146) : error C2440: 'initializing' : cannot convert from 'int' to 'int []'
        There are no conversions to array types, although there are conversions to references or pointers to arrays
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(147) : error C2143: syntax error : missing ';' before 'for'
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(147) : error C2143: syntax error : missing ')' before ';'
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(147) : error C2143: syntax error : missing ';' before '>='
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(147) : error C2501: 'i' : missing storage-class or type specifiers
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(147) : error C2143: syntax error : missing ';' before '>='
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(147) : error C2143: syntax error : missing ';' before '--'
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(147) : error C2501: 'i' : missing storage-class or type specifiers
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(147) : error C2086: 'i' : redefinition
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(147) : error C2143: syntax error : missing ';' before '--'
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(147) : error C2059: syntax error : ')'
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(148) : error C2143: syntax error : missing ';' before '{'
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(148) : error C2447: missing function header (old-style formal list?)
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(154) : error C2057: expected constant expression
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(154) : error C2466: cannot allocate an array of constant size 0
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(154) : error C2501: 'js' : missing storage-class or type specifiers
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(154) : error C2440: 'initializing' : cannot convert from 'int' to 'int []'
        There are no conversions to array types, although there are conversions to references or pointers to arrays
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(155) : error C2143: syntax error : missing ';' before 'for'
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(155) : error C2143: syntax error : missing ')' before ';'
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(155) : error C2143: syntax error : missing ';' before '>='
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(155) : error C2501: 'k' : missing storage-class or type specifiers
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(155) : error C2143: syntax error : missing ';' before '>='
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(155) : error C2143: syntax error : missing ';' before '--'
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(155) : error C2501: 'k' : missing storage-class or type specifiers
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(155) : error C2086: 'k' : redefinition
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(155) : error C2143: syntax error : missing ';' before '--'
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(155) : error C2059: syntax error : ')'
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(157) : error C2143: syntax error : missing ';' before '{'
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(157) : error C2447: missing function header (old-style formal list?)
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(160) : error C2143: syntax error : missing ';' before 'delete'
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(161) : error C2143: syntax error : missing ';' before '}'
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(161) : error C2143: syntax error : missing ';' before '}'
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(161) : error C2143: syntax error : missing ';' before '}'
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(164) : error C2143: syntax error : missing ';' before '{'
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(164) : error C2447: missing function header (old-style formal list?)
Error executing cl.exe.

bingtai.obj - 47 error(s), 0 warning(s)
好好学习,天天向上。
2楼2010-10-12 01:50:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)

ajian04:加油~ 2010-10-12 08:16:14
引用回帖:
Originally posted by zyj8119 at 2010-10-12 01:50:50:
错误是:
--------------------Configuration: 1 - Win32 Debug--------------------
Compiling...
bingtai.cpp
C:\Program Files\Microsoft Visual Studio\MyProjects\1\bingtai.cpp(128) : error C2143: sy ...

用VC++6.0编译。
好好学习,天天向上。
3楼2010-10-12 01:55:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ajian04

禁虫 (正式写手)

zyj8119(金币+3):大括号的位置有要求吧? 2010-10-12 10:03:41
是你直接抄写的吗?遗漏了很多符号,还有可能是你的编译环境不对,好好看看书上介绍的运行环境吧
4楼2010-10-12 08:15:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 281求调剂 +10 觉得好的吧 2026-04-10 10/500 2026-04-11 08:31 by zhq0425
[考研] 中药学调剂 初试324 +3 洋甘菊、 2026-04-10 5/250 2026-04-10 23:59 by 洋甘菊、
[考研] 280求调剂 +12 李rien 2026-04-04 12/600 2026-04-10 21:19 by zhouxiaoyu
[考研] 368求调剂 +3 17385968172 2026-04-10 3/150 2026-04-10 20:12 by 电子奥德彪
[考研] 0856专硕求调剂 希望是a区院校 +21 好好休息好不好 2026-04-09 24/1200 2026-04-10 16:58 by luoyongfeng
[考研] 一志愿沪9,326生物学求相关专业调剂 +4 刘墨墨 2026-04-09 4/200 2026-04-10 12:07 by pengliang8036
[考研] 电子信息279求调剂,有书读就行 +4 wwwooden 2026-04-08 7/350 2026-04-10 11:34 by wwwooden
[考研] 08工学 309分求调剂 +6 Yin DY 2026-04-08 6/300 2026-04-10 09:18 by Delta2012
[考研] 301求调剂 +6 静静想想 2026-04-05 6/300 2026-04-10 09:15 by Delta2012
[考研] 已调剂 +18 柴郡猫_ 2026-04-09 19/950 2026-04-09 22:10 by 柴郡猫_
[考研] 267求调剂 +5 再忙也要吃饭啊 2026-04-09 5/250 2026-04-09 18:47 by stone_128
[考研] 312求调剂 +3 李鸿飞飞 2026-04-06 3/150 2026-04-09 17:32 by wp06
[考研] 0860004 求调剂 309分 +6 Yin DY 2026-04-09 6/300 2026-04-09 10:19 by 啊李999
[考研] 材料调剂 +14 一样YWY 2026-04-06 14/700 2026-04-08 23:00 by 猪会飞
[考研] 材料与化工专硕306分找合适调剂 +27 沧海轻舟e 2026-04-06 28/1400 2026-04-08 22:06 by wdyheheeh
[考研] 土木水利专硕276分求调剂 +6 我想上学!!6 2026-04-05 9/450 2026-04-08 17:45 by 宋小宝HQ
[考研] 化学0703-一志愿211-338分求调剂 +10 vants 2026-04-05 11/550 2026-04-08 16:02 by screening
[考研] 计算机408|在校多次国家级竞赛获奖|申请调剂 +4 东山大白鹅 2026-04-05 4/200 2026-04-08 00:18 by chongya
[考研] 本科生物信息学,总分362 求07 08调剂 +6 q小倩1210 2026-04-06 6/300 2026-04-07 19:40 by macy2011
[考研] 308求调剂 +3 终不似从前 2026-04-05 3/150 2026-04-05 20:07 by 啵啵啵0119
信息提示
请填处理意见