Главная / Программирование на языке C в Microsoft Visual Studio 2010 / В приведенной программе используются указатели на функции, которые выполняют сортировку целочисленного массива "методом пузырька": void PuzSortInc (int*, int ); void PuzSortDec (int*, int); int main (void) { int A[] = {56, 34, 2, 0, 1, -21, 6, 8, 7}; int

В приведенной программе используются указатели на функции, которые выполняют сортировку целочисленного массива "методом пузырька": void PuzSortInc (int*, int ); void PuzSortDec (int*, int); int main (void) { int A[] = {56, 34, 2, 0, 1, -21, 6, 8, 7}; int i, n, alg; <Объявление указателя pFun на функции> n = sizeof(A)/sizeof(A[0]); printf("Исходный массив: "); for (i = 0; i < n; i++) printf(" %3d", A[i]); printf("\nВыберите алгоритм сортировки (1 - \"методом пузырька\" по возрастанию,\ 2 - \"методом пузырька\" по убыванию: "); scanf("%d", &alg); switch (alg) { case 1: (*pFun[0])(A, n); break; case 2: (*pFun[1])(A, n); break; default: printf("ERROR! Такого алгоритма не определено!"); } printf("\nSorted array: "); for (i = 0; i < n; i++) printf(" %3d", A[i]); return 0; } void PuzSortInc (int* arr, int size) { int i, j, buf; for (i = 0; i < size - 1; i++ ) { for (j = 0; j < size - 1; j++) { if (arr[j] > arr[j + 1]) { buf = arr[j]; arr[j] = arr[j+1]; arr[j+1] = buf; } } } } void PuzSortDec (int* arr, int size) { int i, j, buf; for (i = 0; i < size - 1; i++ ) { for (j = 0; j < size - 1; j++) { if (arr[j] < arr[j + 1]) { buf = arr[j]; arr[j] = arr[j+1]; arr[j+1] = buf; } } } } Функция PuzSortInc() выполняет сортировку по возрастанию, функция PuzSortDec() - по убыванию. Каким образом должен быть объявлен указатель на функции для его использования в приведенной программе?

вопрос

Правильный ответ:

void (*pFun) (int*, int);
void (*pFun[2]) (int*, int)
void (*pFun[2]) (int*, int) = {PuzSortInc, PuzSortDec};
void *pFun[2] (int*, int) = {PuzSortInc, PuzSortDec};
Сложность вопроса
65
Сложность курса: Программирование на языке C в Microsoft Visual Studio 2010
62
Оценить вопрос
Очень сложно
Сложно
Средне
Легко
Очень легко
Комментарии:
Аноним
просто спасибо
09 дек 2019
Аноним
Экзамен сдал на пять с минусом. Спасибо за ответы
31 мар 2017
Аноним
Если бы не эти решения - я бы не осилил c этими тестами интуит.
21 фев 2016
Оставить комментарий
Другие ответы на вопросы из темы программирование интуит.