Найти максимальный элемент массива, используя метод деления пополам - C (СИ)

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

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

Есть задача.Найти максимальный элемент массива используя метод деления пополам вида max(a1...an)=max(max(a1...an/2),max(an/2+1....an))Написал код,не вижу ошибки
#include <stdio.h>
#include <stdlib.h>
 
void funk(int *num,int size)
{
    int i;
    for(i=0;i<size - 1;i++)
    {
        int j;
        for (j = (size - 1);j>i;j--)
        {
            if (num[j-1]>num[j])
            {
                int temp= num[j-1];
                num[j-1]=num[j];
                num[j]=temp;
            }
        }
    }
}
double maxr(double *a,double *b)
{int c=a[0];
int d=b[0];
int kmax;
int i,n;
 
for (i=0;i<n;i++)
{
    if (a[i]>c)
    {
        c=a[i];
    }}
    for (i=0;i<n;i++)
{
    if (b[i]>c)
    {
        d=b[i];
    }
 
} if (c>d)
 return kmax=c;
    else
     return   kmax=d;

}
double imax(double *a,int n)
 
{   double lmax;
    double max1= maxr(a,n/2);
    double max2=maxr(a+(n/2),n-n/2);
    if (max1>max2)
    max1=lmax;
    else
    max2=lmax;
    printf("MAX EBANA: %d",lmax);
    return 0;
 
}
int main()
{
    int a[6]={6,3,-8,1,14,-2};
    funk(a,6);
    imax(a,6);

    return 0;
 
}

Решение задачи: «Найти максимальный элемент массива, используя метод деления пополам»

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

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

  1. В функции Max указывается входной аргумент n, который представляет собой размер массива A.
  2. Переменная max инициализируется значением первого элемента массива A.
  3. Затем, в цикле for, проходится по всем элементам массива, начиная со второго.
  4. Если текущий элемент больше значения переменной max, то значение переменной max обновляется.
  5. В конце функции возвращается значение переменной max.
  6. Функция предназначена для поиска максимального элемента в массиве A.
  7. Метод деления пополам не используется в данном коде.

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


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

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

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