50б. На питоне и на с В ответе уточните на каком языке создана программа. Дек с защитой от ошибок Реализуйте структуру данных "дек". Напишите программу, содержащую описание дека и моделирующую работу дека, реализовав все указанные здесь методы. Программа считывает последовательность команд и в зависимости от команды выполняет ту или иную операцию. После выполнения каждой команды программа должна вывести одну строчку. Возможные команды для программы: push_front — добавить (положить) в начало дека новый элемент. Программа должна вывести ok. push_back — добавить (положить) в конец дека новый элемент. Программа должна вывести ok. pop_front — извлечь из дека первый элемент. Программа должна вывести его значение. pop_back — извлечь из дека последний элемент. Программа должна вывести его значение. front — узнать значение первого элемента (не удаляя его). Программа должна вывести его значение. back — узнать значение последнего элемента (не удаляя его). Программа должна вывести его значение. size — вывести количество элементов в деке. clear — очистить дек (удалить из него все элементы) и вывести ok. exit — программа должна вывести bye и завершить работу. Гарантируется, что количество элементов в деке в любой момент не превосходит 100. Перед исполнением операций pop_front, pop_back, front, back программа должна проверять, содержится ли в деке хотя бы один элемент. Если во входных данных встречается операция pop_front, pop_back, front, back, и при этом дек пуст, то программа должна вместо числового значения вывести строку error. Входные данные Вводятся команды управления деком, каждая в отдельной строке. Среди них обязательно присутствует команда exit. Выходные данные Требуется вывести протокол работы дека, по одному сообщению в строке. Примечание В данной задаче разрешено использовать стандартные контейнеры, реализующие дек. Примеры Ввод 1 size push_back 1 size push_back 2 size push_front 3 size exit Вывод 0 ok 1 ok 2 ok 3 bye
n, k, i, imax, j: integer;
a: array[1..100]of integer;
begin
randomize;
n := random(30) + 10;
for i := 1 to n do
begin
a[i] := Random(30);
write(a[i], ' ');
end;
writeln();
{сортировочка}
for i := 1 to n - 1 do
begin
imax := i;
for j := i + 1 to n do
if a[j] > a[imax] then
imax := j;
k := a[i];
a[i] := a[imax];
a[imax] := k;
end;
for i := 1 to n do
write(a[i], ' ');
k := 0;
for i := 2 to n - 1 do
if (a[i] <> a[i - 1]) and (a[i] <> a[i + 1]) then
k := k + 1;
if a[1] <> a[2] then k := k + 1;
if a[n] <> a[n - 1] then k := k + 1;
writeln();
writeln('No doubles - ', k);
end.
"1 * 4 + 1 + 1 + 1 + 1 * 4 = 32"
"1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 * 4 = 32"
"1 * 4 + 1 + 1 + 1 * 4 + 1 + 1 + 1 + 1 = 32"
"1 + 1 + 1 + 1 + 1 + 1 + 1 * 4 + 1 + 1 + 1 + 1 = 32"
"1 * 4 + 1 + 1 * 4 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 32"
"1 + 1 + 1 + 1 + 1 + 1 * 4 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 32"
"1 * 4 + 1 * 4 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 32"
"1 + 1 + 1 + 1 + 1 * 4 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 32"
"1 * 4 * 4 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 32"
"1 + 1 + 1 + 1 * 4 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 32"
"1 + 1 + 1 * 4 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 32"
"1 + 1 * 4 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 32"
"1 * 4 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 32"
"1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 32"
15 всего