Cześć, robię zadanie ze SPOJ'a i mam problem...
#include <iostream>
#include <vector>
using namespace std;
int main()
{
string str;
vector<string> vect;
while (cin >> str)
{
vect.push_back(str);
}
for (int i=0; i<vect.size(); i++)
{
vect[i].replace(vect[i].find("??="),sizeof("??=")-1, "#");
vect[i].replace(vect[i].find("??/"),sizeof("??/")-1, "\\");
vect[i].replace(vect[i].find("??'"), sizeof("??'") - 1, "^");
vect[i].replace(vect.at(i).find("??("), sizeof("??(")-1, "[");
vect[i].replace(vect.at(i).find("??)"),sizeof("??)")-1, "]");
vect[i].replace(vect.at(i).find("??!"), sizeof("??!")-1, "|");
vect[i].replace(vect.at(i).find("??<"), sizeof("??<")-1, "{");
vect[i].replace(vect.at(i).find("??>"), sizeof("??>")-1, "}");
vect[i].replace(vect.at(i).find("??-"), sizeof("??-")-1, "~");
}
for (auto it = vect.begin(); it != vect.end(); ++it)
{
cout << *it;
}
}
kod zwraca wyjątek std::out_of_range
Wcześniej próbowałam jeszcze zrobić coś takiego
if(vect[i].find("??=") != string::npos) vect[i].replace(vect[i].find("??="),sizeof("??=")-1, "#");
niestety działo się to samo.
Proszę o pomoc