Адресная арифметика: поиск 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);

Объяснение кода листинга программы

  1. В начале кода объявляется массив arr типа double размером N.
  2. Затем в фигурных скобках указываются значения элементов массива.
  3. Далее, с помощью функции max, происходит поиск максимального элемента в массиве arr и возвращается его значение.
  4. Значение N равно 20.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.25 из 5
Похожие ответы