Проверить, расположен ли максимальный нечетный элемент в первой половине массива - C (СИ)
Формулировка задачи:
Дан одномерный массив А неупорядоченных целых чисел, состоящий из 2N элементов. Если максимум среди не¬четных чисел расположен в первой половине массива, то присвоить переменной f значение 1, иначе — присвоить f значение 0. Вывести на экран значение f или сообщение «Нет», если нечетных чисел в массиве нет.
Решение задачи: «Проверить, расположен ли максимальный нечетный элемент в первой половине массива»
textual
Листинг программы
void Tester( int *a, int n) { int i, j, max[2], t[2], f ; for( i = 0; i < 2; i++) { max[i] = 2; t[i] = 0; } for( j = 0; j < 2; j++) for( i = n * j; i < n * ( j + 1); i++) if( a[i] % 2 !=0) { if(t[j] == 0) { max[j] = a[i]; t[j] = 1; } if(max[j] < a[i]) max[j] = a[i]; } if( t[0] == 0 && t[1] == 0) printf("There's no any"); else { if( max[0] > max[1] || t[1] == 0) f = 1; else f = 0; printf("%i", f); } }
Объяснение кода листинга программы
- В функции Tester(int *a, int n) представлен код для проверки расположения максимального нечетного элемента в первой половине массива.
- В первой итерации двух вложенных циклов перебираются элементы массива от начала до n/2 и от n/2 до n соответственно.
- Переменная i используется как индекс внешнего цикла, а переменная j - как индекс внутреннего цикла.
- Если элемент массива a[i] является нечетным, то проверяется, является ли он максимальным среди нечетных элементов в первой половине массива.
- Если элемент a[i] больше максимального найденного ранее нечетного элемента, то он становится новым максимальным нечетным элементом.
- Переменная t[j] используется для отслеживания того, найден ли уже максимальный нечетный элемент в первой половине массива.
- Если в первой половине массива не найдено ни одного нечетного элемента, то выводится сообщение
There's no any
. - В противном случае выводится 1, если максимальный нечетный элемент находится в первой половине массива, и 0 в противном случае.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д