No es un contenedor asociativo sino una secuencia:
bitset
map
set
Set
deque
Respuestas a la pregunta
Respuesta:
TRABAJO: 16. A
17. E
18. A
19. B
20. D
Explicación:
Viendo que andas trabajando con C++ por los códigos en las otras preguntas, te explico:
En la pregunta 16 deque se le considera como contenedores de secuencia, estos son dinámicos, o sea, que su tamaño depende de las instrucciones del usuario/programa, un ejemplo son las listas doblemente circulares que se enlazan entre sí, dónde se pueden ingresar datos desde su inicio o final y siempre llevaran una secuencia.
La pregunta 17 jerarquía de las operaciones, primero la división y después la suma.
18 en el for tienes un límite entre 50 y 100 [50, 100], por lo que las respuestas mayores a 100 o menores a 50 quedan descartadas, además te dice que la variable i que comienza en 50, recorre ese rango de 2 en 2, es decir, de 50, pasa a 52, después 54... por lo que haciendo uso de esa secuencia su último número en el rango es 100.
19 tienes una estructura llamada B, la almacena 3 tipos de datos: un int m, un struct C y un int p; fijate que el struct C a su vez también almacena dos datos tipo char.
Al llamar una estructura utilizamos el nombre con el cual la almacenados en este caso B y un nombre para utilizarla en otra función (puede ser llamadaB como en el problema) y nos quedaría algo cómo:
B llamadaB = {10, {'a', 'b'}, 20};
20 nos arrojara como cout un Residuo 1 o Residuo 0, que se especifica en el if, el signo % significa módulo y se encarga calcular el residuo de un numero n, por ejemplo 3%2, sería 1 (para no extenderme te recomiendo investigar el tema), pero si tenemos que n = 2, su módulo o residuo sería 0.
Cuando realizamos el if quedaría algo así: n%2 !=0, cómo es igual a 0, no se cumple ese if, por lo cual iría al else que ejecuta la línea cout << "Residuo 0" << endl;