Wracam ponownie z moim programem. Oto on:
#include <iostream>
#include <vector>
using namespace std;
void zapelniacz_wektora(vector <int>&p1, int ilosc_krazkow)
{
for(int k=ilosc_krazkow; k>=1; k--)
{
p1.push_back(k);
}
}
int main()
{
int ilosc_ruchow, ruch,x;
bool dobrze=true;
vector<int> p1,p2, p3;
int ilosc_krazkow;
cin>>ilosc_krazkow;
cin>>ilosc_ruchow;
p1.reserve(ilosc_krazkow);
p2.reserve(ilosc_krazkow);
p3.reserve(ilosc_krazkow);
zapelniacz_wektora(p1, ilosc_krazkow);
for(int i=1; i<=ilosc_ruchow; i++)
{
cin>>x;
if(x==1 && p1.size()==0)
dobrze=false;
else if(x==1)
{
p2.push_back(p1[p1.size()-1]);
p1.pop_back();
}
if(x==2 && p1.size()==0)
dobrze=false;
else if(x==2)
{
p3.push_back(p1[p1.size()-1]);
p1.pop_back();
}
if(x==3 && p2.size()==0)
dobrze=false;
else if(x==3)
{
p3.push_back(p2[p2.size()-1]);
p2.pop_back();
}
if(x==4 && p2.size()==0)
dobrze=false;
else if(x==4)
{
p1.push_back(p2[p2.size()-1]);
p2.pop_back();
}
if(x==5 && p3.size()==0)
dobrze=false;
else if(x==5)
{
p1.push_back(p3[p3.size()-1]);
p3.pop_back();
}
if(x==6 && p3.size()==0)
dobrze=false;
else if(x==6)
{
p2.push_back(p3[p3.size()-1]);
p3.pop_back();
}
if(p1.size()>1)
{
if(p1[p1.size()-1]>p1[p1.size()-2])
dobrze=false;
}
if(p2.size()>1)
{
if(p2[p2.size()-1]>p2[p2.size()-2])
dobrze=false;
}
if(p3.size()>1)
{
if(p3[p3.size()-1]>p3[p3.size()-2])
dobrze=false;
}
}
if(dobrze==true)
cout<<"DOBRZE";
else
cout<<"ZLE";
return 0;
}
Sprawdzarka wyrzuca mi błąd jak w tytule. Bardzo proszę o pomoc