База ответов ИНТУИТ

Программирование

<<- Назад к вопросам

Мы хотим реализовать функцию, которая находитиндекс максимального элемента вещественного массива.Отметьте, какие из возможных прототипов данной функциикорректны.

(Ответ считается верным, если отмечены все правильные варианты ответов.)

Варианты ответа
void indmax(double *a, int n, int* idx);
int indmax(double a[], int n);
int indmax(const double *a, int n); (Верный ответ)
void indmax(const double a[], int n, int* idx); (Верный ответ)
Похожие вопросы
Мы хотим реализовать функцию product, которая находитпроизведение элементов вещественного массива aдлины n.Отметьте, какие из возможных прототипов данной функциикорректны.
Мы хотим реализовать функцию length, которая находитдлину вектора в трехмерном пространстве. Вектор задается массивомиз трех его координат.Отметьте, какие из возможных прототипов данной функциикорректны.
Дан массив длины 26, требуется циклическисдвинуть его элементы вправо на 6 позиций.Существует ли алгоритм, который решает эту задачу,выполняя 28 операций копирования?Имеются в виду операции копированияодного элемента массива в другой, элемента массива в простуюпеременную, одной простой переменной в другую.
Дан массив длины 15, требуется циклическисдвинуть его элементы вправо на 6 позиций.Существует ли алгоритм, который решает эту задачу,выполняя 18 операций копирования?Имеются в виду операции копированияодного элемента массива в другой, элемента массива в простуюпеременную, одной простой переменной в другую.
Дан массив длины 12, требуется циклическисдвинуть его элементы влево на 5 позиций. Какое минимальноечисло операций копирования выполняется в любом алгоритме,решающем данную задачу? Имеются в виду операции копированияодного элемента массива в другой, элемента массива в простуюпеременную, одной простой переменной в другую.
Дан массив длины 11, требуется циклическисдвинуть его элементы вправо на 3 позиции. Какое минимальноечисло операций копирования выполняется в любом алгоритме,решающем данную задачу? Имеются в виду операции копированияодного элемента массива в другой, элемента массива в простуюпеременную, одной простой переменной в другую.
Дан массив длины 21, требуется циклическисдвинуть его элементы вправо на 6 позиций.Существует ли алгоритм, который решает эту задачу,выполняя 22 операции копирования?Имеются в виду операции копированияодного элемента массива в другой, элемента массива в простуюпеременную, одной простой переменной в другую.
Дан массив длины n, требуется циклическисдвинуть его элементы вправо на одну позицию. Какое минимальноечисло операций копирования выполняется в любом алгоритме,решающем данную задачу? Имеются в виду операции копированияодного элемента массива в другой, элемента массива в простуюпеременную, одной простой переменной в другую.
Алгоритм быстрой сортировки реализован с помощью комбинированнойсхемы, использующей рекурсию и цикл while, а такжевспомогательную функцию partition,которая разделяет текущий отрезок массива на 3 части(элементы, меньшие либо равные медиане, медиана,элементы, большие либо равные медиане):
void quickSort(double* a, int n) {    if (n <= 1) {        return;    } else if (n == 2) {        if (a[0] > a[1])            swap(&(a[0]), &(a[1]));        return;    }    int beg = 0;    int k = n;    while (k > 1) {        int m = k / 2;        partition(a+beg, k, &m);        int left = m;        int right = k - left - 1;        if (left <= right) {            // Рекурсивно применяем алг. к левой части            quickSort(a+beg, left);            beg += left + 1;            k -= left + 1;        } else {            // Рекурсивно применяем алг. к правой части            quickSort(a+beg+m+1, right);            k -= right + 1;        }    }}
Сколько раз будет вызвана функция partition при выполненииалгоритма быстрой сортировки для массива размера 95?Дайте наиболее точную оценку снизу этого числа.
Алгоритм быстрой сортировки реализован с помощью комбинированнойсхемы, использующей рекурсию и цикл while, а такжевспомогательную функцию partition,которая разделяет текущий отрезок массива на 3 части(элементы, меньшие либо равные медиане, медиана,элементы, большие либо равные медиане):
void quickSort(double* a, int n) {    if (n <= 1) {        return;    } else if (n == 2) {        if (a[0] > a[1])            swap(&(a[0]), &(a[1]));        return;    }    int beg = 0;    int k = n;    while (k > 1) {        int m = k / 2;        partition(a+beg, k, &m);        int left = m;        int right = k - left - 1;        if (left <= right) {            // Рекурсивно применяем алг. к левой части            quickSort(a+beg, left);            beg += left + 1;            k -= left + 1;        } else {            // Рекурсивно применяем алг. к правой части            quickSort(a+beg+m+1, right);            k -= right + 1;        }    }}
Сколько раз будет вызвана функция partition при выполненииалгоритма быстрой сортировки для массива размера 47?Дайте наиболее точную оценку снизу этого числа.