На языке Си. Написать программу, реализующие алгоритмы сортировки массивов чисел по возрастанию и по убыванию. Входными параметрами для функций должно быть число элементов в массиве и указатель на сам массив.
14 и 35 делятся на 7, поэтому можно получить только количества воды, кратные 7 л. Максимальное возможное число литров в двух сосудах равно 14 + 35 = 49, поэтому можно пробовать получить 0 л, 7 л, 14 л, 21 л, 28 л, 35 л, 42 л, 49 л.
0 л, 14 л, 35 л, 49 л - очевидно, получаются, это ни одного заполненного бака, заполненный бак на 14, заполненный бак на 35, оба заполненных бака.
21 л: заполнить бак на 35, отлить 14 в меньший бак, вылить воду из меньшего бака. 7 л: налить 21 л в больший бак (мы это уже умеем), отлить 14 в меньший бак, вылить воду из меньшего бака. 28 л: наполнить меньший бак, вылить из меньшего бака в больший, заполнить меньший бак. 42 л: налить 7 л в больший бак, перелить в меньший бак, заполнить больший бак.
Итого, можно получить 0 л, 7 л, 14 л, 21 л, 28 л, 35 л, 42 л, 49 л.
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; }
0 л, 14 л, 35 л, 49 л - очевидно, получаются, это ни одного заполненного бака, заполненный бак на 14, заполненный бак на 35, оба заполненных бака.
21 л: заполнить бак на 35, отлить 14 в меньший бак, вылить воду из меньшего бака.
7 л: налить 21 л в больший бак (мы это уже умеем), отлить 14 в меньший бак, вылить воду из меньшего бака.
28 л: наполнить меньший бак, вылить из меньшего бака в больший, заполнить меньший бак.
42 л: налить 7 л в больший бак, перелить в меньший бак, заполнить больший бак.
Итого, можно получить 0 л, 7 л, 14 л, 21 л, 28 л, 35 л, 42 л, 49 л.