Адресная арифметика: поиск max элемента массива - C (СИ)
Формулировка задачи:
Здравствуйте! Это программа находит максимальный элемент из введеного массива. Программа работает и все хорошо, если бы не одно но.. Нужно дописать вторую функцию,
которая также будет находить максимальное значение из массива, но при этом необходимо использовать адресную арифметику (без оператора [] и индексирования переменных)
#include <stdio.h> const int N = 5; double maxi(double x[], int N) { int i, max; max = x[0]; for (i = 1; i < N; i ++) if (x[i] > max) max = x[i]; return max; } int main(void) { double x[N], m; // max; int i, status; for (i=0; i < N; i++) { printf("Задай элементы массива x[%d] = ", i); status = scanf ("%lf", &x[i]); if (status != 1) { printf("Не корректно введен элемент\n"); return 1; } } m = maxi(x, N); printf("Максимум ровняется %lf\n", m); return 0; }
Решение задачи: «Адресная арифметика: поиск max элемента массива»
textual
Листинг программы
double arr[N] = {...}; max(arr, arr+N);
Объяснение кода листинга программы
- В начале кода объявляется массив arr типа double размером N.
- Затем в фигурных скобках указываются значения элементов массива.
- Далее, с помощью функции max, происходит поиск максимального элемента в массиве arr и возвращается его значение.
- Значение N равно 20.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д