#include <iostream>
#include <string>
using namespace std;
struct foo {
string anulat;
int value;
};
int main() {
foo v[] {
{"Test1", 10},
{"Yes", 20},
{"Test2", 5},
{"Yes", 10},
{"Yes", 1},
{"Test3", 0}
};
size_t number=sizeof(v)/sizeof(*v);
cout << "--- Before:" << endl;
for(size_t i=0;i<number;i++) cout << v[i].anulat << " : " << v[i].value << endl;
for(size_t i=0;i<number;) {
if (v[i].anulat == "Yes") {
number--;
for(size_t j=i;j<number;j++)
v[j]=v[j+1];
} else i++;
}
cout << "--- After:" << endl;
for(size_t i=0;i<number;i++) cout << v[i].anulat << " : " << v[i].value << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnN0cnVjdCBmb28gewoJc3RyaW5nCWFudWxhdDsKCWludAkJdmFsdWU7Cn07CgppbnQgbWFpbigpIHsKCWZvbyB2W10geyAKCQl7IlRlc3QxIiwgMTB9LAoJCXsiWWVzIiwgMjB9LAoJCXsiVGVzdDIiLCA1fSwKCQl7IlllcyIsIDEwfSwKCQl7IlllcyIsIDF9LAoJCXsiVGVzdDMiLCAwfQoJfTsKCXNpemVfdCBudW1iZXI9c2l6ZW9mKHYpL3NpemVvZigqdik7CgoJY291dCA8PCAiLS0tIEJlZm9yZToiIDw8IGVuZGw7Cglmb3Ioc2l6ZV90IGk9MDtpPG51bWJlcjtpKyspIGNvdXQgPDwgdltpXS5hbnVsYXQgPDwgIiA6ICIgPDwgdltpXS52YWx1ZSA8PCBlbmRsOwoJCglmb3Ioc2l6ZV90IGk9MDtpPG51bWJlcjspIHsKCQlpZiAodltpXS5hbnVsYXQgPT0gIlllcyIpIHsKCQkJbnVtYmVyLS07CgkJCWZvcihzaXplX3Qgaj1pO2o8bnVtYmVyO2orKykKCQkJCXZbal09dltqKzFdOwoJCX0gZWxzZSBpKys7Cgl9CgkKCWNvdXQgPDwgIi0tLSBBZnRlcjoiIDw8IGVuZGw7Cglmb3Ioc2l6ZV90IGk9MDtpPG51bWJlcjtpKyspIGNvdXQgPDwgdltpXS5hbnVsYXQgPDwgIiA6ICIgPDwgdltpXS52YWx1ZSA8PCBlbmRsOwoJCglyZXR1cm4gMDsKfQ==