大哥们帮小弟改个程序的错误

tong20301314 2008-06-01 01:46:33
#include <iostream>
using namespace std;

template<typename T>
class tong
{
private:
/*特别说明,这里n表示n元方程,t表示迭代次数。

*/

T *data[n];
T *p;
public:
tong()
{
p=new T[n];
for(int i=0;i<n;i++)
data[i]=new T[n+1];
}
~tong(){};
void begin()
{
cout<<"请输入4行5列矩阵data[n][n+1]"<<endl;
for(int i=0;i<n;++i)
for(int j=0;j<n+1;++j)
cin>>data[i][j]; //请输入行列式的系数
cout<<"请输入4个x[n]"<<endl;
for(int i=0;i<n;++i)
cin>>p[i]; //请输入x[i]的值
}
void back() //计算过程
{
for (int i=0;i!=t;++i)
for (int j=0;j!=n;++j)
p[j]=(data[j][n]-total(j))/data[j][j];
};
T total(const int &j) //最开始我们设置0,然后反复循环直到循环到等于方程组未知数个数
{
T total=0;
for(int i=0;i<n;++i)
{
if(i!=j)
total+=p[i]*data[j][i];
else continue;
}
return total;
}

void display() //显示结果
{
for(int i=0;i<n;++i)
cout<<p[i]<<endl;
cout<<endl;
}

};

void setup() //给n和t赋值
{
cout<<"请输入方程未知数个数"<<endl;
cin>>k;
n=k;
cout<<"请输入迭代次数"<<endl;
int s;
t=s;
}

int main()
{ int k,s,n,t;
setup();
tong<double> example;
example.begin();
example.back();
example.display();
system("pause");
}
...全文
64 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tong20301314 2008-06-01
  • 打赏
  • 举报
回复
没改对呀,大哥们帮忙帮到底吧
dwen20 2008-06-01
  • 打赏
  • 举报
回复
问题太多了,楼下的帮他改吧,动态分配的内存也没有在析构函数里释放。
dwen20 2008-06-01
  • 打赏
  • 举报
回复
忘了看你的类模板了。类里面的n和t没有定义。
dwen20 2008-06-01
  • 打赏
  • 举报
回复
void setup()    //给n和t赋值 
{
cout < <"请输入方程未知数个数" < <endl;
cin>>k//k并没有定义或声明;
n=k;
cout < <"请输入迭代次数" < <endl;
int s;//s输入忘了吧
t=s; //s未初始化
}

可以参考下面的代码
void setup(int &n,int &t)
{
cout < <"请输入方程未知数个数" < <endl;
cin>>n;
cout<<"请输入迭代次数"<<endl;
cin>>t;
}
int main()
{ int n,t;
setup(n,t);
tong <double> example;
example.begin();
example.back();
example.display();
system("pause");
}

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧