Найти номера минимального и максимального элемента вещественного массива - C (СИ)

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

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

Задание звучит следующим образом: Описать процедуру NMinmax(A, N, NMin, NMax), находящую номера минимального и максимального элемента вещественного массива A размера N. Выходные параметры целого типа: NMin (номер минимального эле-мента) и NMax (номер максимального элемента). С помощью этой процедуры найти номера минимальных и максимальных элементов массивов A, B, C размера NA, NB, NC соответственно. Имеется код:
#include <stdio.h>
#include <conio.h>
 
void NMinMax(float *A, int N, int NMin, int NMax)
{
     float min, max;
     int i;
     min = max = A[0];
     NMin = NMax = 0;
     for ( i = 0; i<N; i++)
     {
        { if (A[i]<min)
         {min = A[i];
         NMin = i;
         }
         else 
         if (A[i]>max)
         {A[i] = max;
         NMax = i;
         }
     }
     printf("%d, %d /n", NMin, NMax);
}
int main()
{
    float A[5] = {2.1, 3.54, 4.7, 1.8, 1.45};
    float B[5] = {6.5, 3, 4.4, 2.8, 0.85};
    float C[5] = {0.1, 3.54, 4.72, 2.89, 4.49};
  int Nmin, Nmax;
  NMinMax(A, 5, Nmin, Nmax);
  printf("Min A = %d, Max A = %d/n", Nmin, Nmax);
  NMinMax(B, 5, Nmin, Nmax);
  printf("Min A = %d, Max A = %d/n", Nmin, Nmax);
  NMinMax(C, 5, Nmin, Nmax);
  printf("Min A = %d, Max A = %d/n", Nmin, Nmax);
  getch();
  return 0; 
}
Ошибка вылетает следующая: course.c: In function `NMinMax': course.c:38: error: syntax error at end of input [course.o] Error 1 Буду благодарна за любую помощь.

Решение задачи: «Найти номера минимального и максимального элемента вещественного массива»

textual
Листинг программы
#include <stdio.h>
 
void NMinMax (float *A, int N, int *NMin, int *NMax)
{
    int i;
    for (*NMin=*NMax=i=0; i<N; i++)
    {
        if (A[i]>A[*NMax])
            *NMax = i;
        if (A[i]<A[*NMin])
            *NMin = i;
    }
}
 
int main()
{
    float A[5] = {2.1, 3.54, 4.7, 1.8, 1.45};
    float B[7] = {6.5, 3, 4.4, 2.8, 0.85, 13.4, 103.3};
    float C[9] = {12.3, 2,3,4,5,6,7,0.001,9};
    int Nmax, Nmin;
 
    NMinMax(A, 5, &Nmin, &Nmax);
    printf("Min A = %d, Max A = %d\n", Nmin, Nmax);
    NMinMax(B, 7, &Nmin, &Nmax);
    printf("Min B = %d, Max B = %d\n", Nmin, Nmax);
    NMinMax(C, 9, &Nmin, &Nmax);
    printf("Min C = %d, Max B = %d\n", Nmin, Nmax);
 
    return 0;
}

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

  1. В функции NMinMax происходит поиск минимального и максимального элемента в массиве A.
  2. Переменная NMin и NMax инициализируются значением первого элемента массива A.
  3. В цикле for начиная с первого элемента и до N-1 элемента, проверяется каждый элемент массива A.
  4. Если текущий элемент больше, чем элемент, хранящийся в переменной NMax, то значение переменной NMax обновляется на текущий индекс.
  5. Если текущий элемент меньше, чем элемент, хранящийся в переменной NMin, то значение переменной NMin обновляется на текущий индекс.
  6. В конце функции NMinMax возвращается найденное значение NMin и NMax.
  7. В функции main создаются три массива A, B и C, содержащие пять, семь и девять элементов соответственно.
  8. Переменные Nmax и Nmin инициализируются значением 0.
  9. Вызывается функция NMinMax для каждого массива, передавая в нее указатель на массив и его размер, а также указатель на переменную NMin и NMax.
  10. Выводится на экран сообщение с найденными значениями NMin и NMax для каждого массива.
  11. Программа возвращает значение 0, что означает успешное завершение работы.

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


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

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

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