一个简单的C++程序,新手

一个简单的多文件程序,a.txt如下;351245512445354245565725其中第一行是矩阵的行和列,要求将这个3*5矩阵的行列颠倒下面是main.cpp#in... 一个简单的多文件程序,a.txt如下;
3 5
12 45 51 2 4
45 3 54 2 45
5 65 7 2 5
其中第一行是矩阵的行和列,要求将这个3*5矩阵的行列颠倒
下面是main.cpp
#include <iostream>
#include <iomanip>
#include <fstream>
#include <iomanip>
#include <vector>
#include"f1.h"
using namespace std;

typedef vector<vector<int> > Mat;
Mat transpose(const Mat& a);
void print(const Mat& a);

int main(int argc, char *argv[])
{

print(transpose(input()));
cin.get();
}

Mat transpose(const Mat& a)
{
Mat b(a[0].size(),vector<int>(a.size()));
for(int i=0;i<a.size();++i)
for(int j=0;j<a[0].size();++j)
b[j][i]=a[i][j];
return b;
}

void print(const Mat& a)
{
for(int i=0;i<a.size();++i)
for(int j=0;j<a[0].size();++j)
cout<<setw(4)<<a[i][j];
cout<<endl;
}
下面是f1.h
Mat input();
下面是f1.cpp
#include"f1.h"
#include <iostream>
#include <fstream>
#include <vector>

Mat input()
{
ifstream in("a.txt");
int row,col;
in>>row>>col;
Mat a(row,vector<int>(col));
for(int i=0;i<row;++i)
for(int j=0;j<col;++j)
in>>a[i][j];
return a;
}

编译错误:
6 E:\钱能~1\例程\f0702\main.cpp In file included from main.cpp
1 E:\钱能~1\例程\f0702\f1.h syntax error before `)' token
E:\钱能~1\例程\f0702\main.cpp In function `int main(int, char**)':
16 E:\钱能~1\例程\f0702\main.cpp `input' undeclared (first use this function)
(Each undeclared identifier is reported only once for each function it appears in.)
E:\钱能~1\例程\f0702\Makefile.win [Build Error] [main.o] Error 1
另外一个问题(和前面无关),上面问题已经给全了(请给出错误,而不要改变方法,因为我是在学习知识而不是解决问题),现在要将一个文件中的两个3*5矩阵
3 5
15 56 6 5 2
4 5 7 52 7
4 78 5 7 2

15 56 6 5 2
4 5 7 52 7
4 78 5 7 2
相加,第一行的3 5给出了矩阵的行和列。
主程序的代码:
int main()
{
ifstream in("a.txt");
for(int row,col;in>>row>>col;)
{
Mat a(row,vector<int>(col));
Mat b=a;
input(in,a);
input(in,a);
print(matAdd(a,b));
}
}
其中Mat的定义为typedef vector(vector<int> >Mat;
问题是:在for中,是不是只进行了一次循环,只是给row\col传递了3和5
编译环境都是dev c++
展开
 我来答
顺心茹意ing
2007-09-06 · TA获得超过1209个赞
知道小有建树答主
回答量:276
采纳率:0%
帮助的人:331万
展开全部
好好看看钱能得《C++程序设计教程〉第七章
alphaxz
2007-09-05 · 超过61用户采纳过TA的回答
知道小有建树答主
回答量:292
采纳率:0%
帮助的人:0
展开全部
你提供的资料不全阿,把所有代码都贴出来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式