我有一個字符串數組需要被帶入地圖。由於數組的大小是可變的,我需要一個2D矢量來獲得字符串的字符串。我需要兩種存儲格式來執行我在其上執行的操作。這是我的attemptp..gives錯誤(編輯:)運行時間。將字符串從地圖轉換爲2D地圖字符方式
#include "stdafx.h"
#include<iostream>
#include<string>
#include<fstream>
#include<map>
#include<vector>
#include<algorithm>
#include<iterator>
#define rep(i,a,b) for(int i=(a);i<=(b);i++)
using namespace std;
std::map<int,string>col;
std::map<int,string>row;
std::map<int,string>::iterator p;
std::map<int,string>d1;
std::map<int,string>d2;
int main()
{
int i=0,r=0;
string s;
ifstream ip;
ip.open("a.in");
ofstream op;
op.open("a_out.in");
ip>>s;
const int c= s.length();
ip.seekg(0,std::ios::beg);
do {
ip>>s;row.insert(make_pair(r,s));
r++;
}while(s.length()==c);
p=row.find(--r);
row.erase(p);
p = row.begin();
while(p!=row.end())
{
cout<<(p->first)<<","<<(p->second)<<"\n";
p++;
}
vector<vector<char>>matrix(r,vector<char>(c));
rep(i,0,r){
int k=0;rep(j,0,c)(p->second).copy(&matrix[i][j],1,k++);
}
rep(i,0,r)
rep(j,0,c)
cout<<matrix[i][j];
return 0;
}
請格式化您的代碼。 –
如果它給你錯誤,發佈錯誤。 –
我很抱歉的困惑..我的意思是跑時間..必須在輸入時出現在我的腦海裏..反正有錯誤 表達式:map/set迭代器不可取消 –