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

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

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

Есть задача.Найти максимальный элемент массива используя метод деления пополам вида max(a1...an)=max(max(a1...an/2),max(an/2+1....an))Написал код,не вижу ошибки
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. void funk(int *num,int size)
  4. {
  5. int i;
  6. for(i=0;i<size - 1;i++)
  7. {
  8. int j;
  9. for (j = (size - 1);j>i;j--)
  10. {
  11. if (num[j-1]>num[j])
  12. {
  13. int temp= num[j-1];
  14. num[j-1]=num[j];
  15. num[j]=temp;
  16. }
  17. }
  18. }
  19. }
  20. double maxr(double *a,double *b)
  21. {int c=a[0];
  22. int d=b[0];
  23. int kmax;
  24. int i,n;
  25. for (i=0;i<n;i++)
  26. {
  27. if (a[i]>c)
  28. {
  29. c=a[i];
  30. }}
  31. for (i=0;i<n;i++)
  32. {
  33. if (b[i]>c)
  34. {
  35. d=b[i];
  36. }
  37. } if (c>d)
  38. return kmax=c;
  39. else
  40. return kmax=d;
  41.  
  42. }
  43. double imax(double *a,int n)
  44. { double lmax;
  45. double max1= maxr(a,n/2);
  46. double max2=maxr(a+(n/2),n-n/2);
  47. if (max1>max2)
  48. max1=lmax;
  49. else
  50. max2=lmax;
  51. printf("MAX EBANA: %d",lmax);
  52. return 0;
  53. }
  54. int main()
  55. {
  56. int a[6]={6,3,-8,1,14,-2};
  57. funk(a,6);
  58. imax(a,6);
  59.  
  60. return 0;
  61. }

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

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

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

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

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


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

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

11   голосов , оценка 3.818 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы