Рубрики

ВОРОТА | GATE-CS-2016 (набор 1) | Вопрос 44

Следующая функция вычисляет максимальное значение, содержащееся в целочисленном массиве p [] размера 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];

}

Отсутствующее условие цикла

(A) a! = N
(B) b! = 0
(С) б> (а + 1)
(D) b! = A

Ответ: (D)
Объяснение:

#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);
}


Тест на этот вопрос

Рекомендуемые посты:

ВОРОТА | GATE-CS-2016 (набор 1) | Вопрос 44

0.00 (0%) 0 votes