La siguiente función calcula el valor máximo contenido en una array de enteros p[] de tamaño n (n >= 1)
int max(int *p, int n) { int a=0, b=n-1; while (__________) { if (p[a] <= p[b]) { a = a+1; } else { b = b-1; } } return p[a]; }
La condición de bucle faltante es
(A) a != n
(B) b != 0
(C) b > (a + 1)
(D) b != a
Respuesta: (D)
Explicación:
#include < iostream > int max(int *p, int n) { int a=0, b=n-1; while (a!=b) { if (p[a] <= p[b]) { a = a+1; } else { b = b-1; } } return p[a]; } int main() { int arr[] = {10, 5, 1, 40, 30}; int n = sizeof(arr)/sizeof(arr[0]); std::cout << max(arr, 5); }
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA