Не работает код функции по нахождению минимального значения элемента массива - C (СИ)

Узнай цену своей работы

Формулировка задачи:

вот мой г*внокод функции по нахождению минимального значения элемента массива , который не работает, что не так:?
int fun(int *ptr, int n)
{
    int min;
    printf("\n => ");
    scanf("%d", &min);
    
    int i;
    
    for(i=1; i<n; i++)
    {
        printf("\n => ");
        scanf("%d", &ptr[i]);
        if (ptr[i]<min)
        
        ptr[i]=min;

    }
    return min;
}

Решение задачи: «Не работает код функции по нахождению минимального значения элемента массива»

textual
Листинг программы
int fun(int *ptr, int n)
{
    int min = ptr[0], i;
    
    for(i=1; i<n; i++)
    {
        if(ptr[i]<min) min=ptr[i];     
    }
    return min;
}

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

  1. В функции объявлены две переменные: min типа int и i типа int
  2. Значение переменной min инициализируется значением первого элемента массива, на который указывает указатель ptr, то есть min становится равным ptr[0].
  3. Переменная i инициализируется значением 1.
  4. В цикле for переменной i присваивается значение от 1 до n-1, где n - это количество элементов в массиве, на который указывает указатель ptr.
  5. Внутри цикла проверяется, является ли текущий элемент массива меньше значения переменной min. Если это так, то значение переменной min обновляется значением текущего элемента.
  6. По завершении цикла, функция возвращает значение переменной min.
  7. Значение переменной min является минимальным значением среди всех элементов массива.
  8. Если в массиве есть несколько элементов с минимальным значением, функция вернет первое встреченное минимальное значение.
  9. Функция не использует библиотеки или другие функции языка C, она является самодостаточной.
  10. Функция не обрабатывает ошибки или исключительные ситуации, предполагается, что входные данные всегда корректны.
  11. Функция не оптимизирована для работы с очень большими массивами, так как использует цикл for для обхода всех элементов массива.
  12. Функция не удаляет или изменяет элементы массива, на который она указывает.
  13. Функция не генерирует никакие внешние воздействия, она просто вычисляет минимальное значение элемента массива.
  14. Функция не использует стековую переменную для хранения промежуточных значений, все вычисления выполняются в оперативной памяти.
  15. Функция не зависит от текущей системы или платформы, она будет работать на любой системе, поддерживающей язык C.
  16. Функция не содержит никаких комментариев или инструкций по использованию, она предназначена для использования в другом коде.
  17. Функция не содержит никаких скрытых функций или подпрограмм, она делает только то, что описано в п. 14.
  18. Функция не использует глобальные переменные или статические переменные, все переменные объявлены внутри функции.
  19. Функция не содержит никаких операторов управления потоком или параллельных вычислений, она использует только цикл for.
  20. Функция не содержит никаких дополнительных функций или служб для обеспечения безопасности или удобства использования, она предоставляет только минимальное значение элемента массива.

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


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

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

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