int main() { list<int>mylist; //Делаем со списком, что хотим mylist.push_back(1); mylist.push_back(2); mylist.push_back(3); mylist.push_back(-4); mylist.push_back(5); for (auto i : mylist) { cout << i << " "; } cout << "\n"; //Удаляем последний отрицательный элемент auto it = mylist.end(); while (*it > 0) { if (it == mylist.begin()) { cout << "Not found.\n"; return 0; } it--; } //Делаем со списком, что хотим mylist.erase(it); for (auto i : mylist){ cout << i << " "; } return 0; }
1 votes Thanks 1
lebrong
Подскажите, пожалуйста. при вводе списка, как его закончить?)
A1dar
Можно написать так: int n; while (cin >> n) { mylist.push_back(n); }
A1dar
и чтобы закончить ввод, нужно ввести Ctrl + Z
Answers & Comments
#include <list>
using namespace std;
int main() {
list<int>mylist;
//Делаем со списком, что хотим
mylist.push_back(1);
mylist.push_back(2);
mylist.push_back(3);
mylist.push_back(-4);
mylist.push_back(5);
for (auto i : mylist) {
cout << i << " ";
}
cout << "\n";
//Удаляем последний отрицательный элемент
auto it = mylist.end();
while (*it > 0) {
if (it == mylist.begin()) {
cout << "Not found.\n";
return 0;
}
it--;
}
//Делаем со списком, что хотим
mylist.erase(it);
for (auto i : mylist){
cout << i << " ";
}
return 0;
}
int n;
while (cin >> n) {
mylist.push_back(n);
}