注册 登录
编程论坛 C++教室

菜鸟求助

stvdent 发布于 2008-10-04 14:28, 462 次点击
刚接触C++...
试打例题进去..
发现有错误
但是不知道什么错误..请教高手指点指点..

C++第二版p90页的例题..
//=======================
#include<iostream>
#include<sstream>
#include<vector>
#include<fstream>
using namespace std;
//-----------------------
typedef vector<vector<int> > Mat;
Mat input();
void mySort(Mat& a);
void print(const Mat& a);
//-----------------------
int main(){
    Mat a = input();
    mySort(a);
    print(a);
}//-----------------------
Mat input(){
   ifstream in("aaa.txt");
   Mat a;
   for(string s;getline(in,s);){
    vector<int> b;
    istringstream sin(s);
    for(int ia;sin>>ia;)
      b.push_back(ia);
     a.push_back(b); }
    return a;
}//-----------------------
void mySort(Mat& a){
  for(int pass=1;pass<a.size();++pass)
    for(int i=0;i<a.size()-pass;++i)
     if(a[i+1].size()[i].size())  a[i].swap(a[i+1]);
}//-----------------------
void print(const Mat& a){
    for(int i=0;i<a.size();++i){
     for(int j=0;j<a[i].size();++j)
      cout<<a[i][j]<<" ";
       cout<<endl;
}
}//=======================



aaa.txt内容是:
12 3 45 67 8 9
56 232 12 23
12 1
8
1212 2312
2 回复
#2
blueboy820062008-10-04 17:21
if(a[i+1].size()[i].size())  a[i].swap(a[i+1]);
这句打错了...
#3
stvdent2008-10-04 20:08
一言惊醒梦中人...
谢谢...
1