Найти, в какой половине массива находятся его минимальный и максимальный элементы (через указатели) - C (СИ)
Формулировка задачи:
Здравствуйте. Помогите, пожалуйста, исправить ошибку. Дан массив вещественных чисел, состоящий из N элементов (N=10). Найти, в какой его половине находятся минимальный и максимальный элементы.
#include <stdio.h> #include <conio.h> #define N 10 int main() { int n=N; float a[N]={1.2,2.2,3.3,4.4,5.5,6.6,7.7,8.8,99.9,10.1}, *p,*pmin,*pmax; *pmax=a[0]; *pmin=*pmax; for(p=a;p<&a[N];p++) { if(*p>*pmax) *pmax=*p; if(*p<*pmin) *pmin=*p; } if(pmax>&a[n/2]) printf("\nmaximum sprava =%1.f",*pmax); else printf("\nmaximum sleva =%1.f",*pmax); if(pmin>&a[n/2]) printf("\nminimum sprava =%1.f",*pmin); else printf("\nminimum sleva =%1.f",*pmin); getch(); return 0; }
Решение задачи: «Найти, в какой половине массива находятся его минимальный и максимальный элементы (через указатели)»
textual
Листинг программы
#include <stdio.h> #include <conio.h> #define N 10 int main() { float a[N]={1.2,2.2,3.3,4.4,5.5,6.6,7.7,8.8,99.9,10.1}, *p,*pmin,*pmax; pmax=a; pmin=pmax; for(p=a;p<a+N;p++) { if(*p>*pmax) pmax=p; if(*p<*pmin) pmin=p; } if(pmax>a+N/2) printf("\nmaximum sprava =%1.1f",*pmax); else printf("\nmaximum sleva =%1.1f",*pmax); if(pmin>a+N/2) printf("\nminimum sprava =%1.1f",*pmin); else printf("\nminimum sleva =%1.1f",*pmin); getch(); return 0; }
Объяснение кода листинга программы
- Объявлен массив a типа float с размером N=10 и инициализирован значениями от 1.2 до 10.1
- В цикле for перебираются все элементы массива a, начиная с первого и заканчивая предпоследним
- Переменные pmax и pmin инициализируются значением первого элемента массива a
- Если текущий элемент массива больше значения переменной pmax, то значение переменной pmax меняется на текущее значение
- Если текущий элемент массива меньше значения переменной pmin, то значение переменной pmin меняется на текущее значение
- Если значение переменной pmax выходит за пределы первой половины массива (от a до a+N/2), то выводится сообщение
maximum sprava
и значение переменной pmax - Если значение переменной pmax остается в пределах первой половины массива, то выводится сообщение
minimum sprava
и значение переменной pmin - Если значение переменной pmin выходит за пределы первой половины массива (от a до a+N/2), то выводится сообщение
minimum sleva
и значение переменной pmin - Если значение переменной pmin остается в пределах первой половины массива, то выводится сообщение
maximum sleva
и значение переменной pmax - В конце программы вызывается функция getch() для приостановки выполнения программы до нажатия клавиши
- Возвращается 0, что означает успешное завершение программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д