Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Wedroid
0 / 0 / 0
Регистрация: 18.09.2013
Сообщений: 27
#1

Поиск максимального елемента ,методом деления пополам - C++

24.09.2013, 15:13. Просмотров 844. Ответов 1
Метки нет (Все метки)

Программа ищет максимальный элемент в массиве a1, ..., an, используя метод деления пополам max (a1, ..., an) = max (max (a1, ..., an/2), max (an/2+1, ..., an)).
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
double maxr(double *a,int n);
void main()
{
    double a[6]={2,1,4,5,10,3};
double r=maxr(a,6);
printf("maximum=%Lf\n",r);
getch();
 
}
double maxr(double *a,int n)
{
if(n==1) return a[0];// åñëè ïåðåäГ*ГҐГІГ±Гї îäèГ* ýëåìåГ*ГІ Г¬Г*Г±Г±ГЁГўГ* Г®Г* ГЁ ГҐГ±ГІГј Г¬Г*ГЄГ±.
if(n==2) return __max(a[0],a[1]); // Г*Г*éòè Г¬Г*ГЄГ± ГЁГ§ äâóõ ýëåìåГ*òîâ
double max1= maxr(a,n/2); // ГЁГ±ГЄГ*ГІГј Г¬Г*ГЄГ± Гў ïåðâîé ïîëîâèГ*ГҐ
double max2=maxr(a+n/2,n/2); // ГЁГ±ГЄГ*ГІГј Г¬Г*ГЄГ± ГўГ® âòîðîé ïîëîâèГ*ГҐ
return __max(max1,max2); // âûáðГ*ГІГј Г¬Г*ГЄГ±ГЁГ¬Г*ëüГ*ûé ГЁГ§ äâóõ ïðåäûäóùèõ
}
Помогите исправить программу : некорректно отображает максимальный элемент ,при нечетном количестве елементов масива.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2013, 15:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поиск максимального елемента ,методом деления пополам (C++):

Поиск максимального елемента массива , используя метод деления пополам - C++
Найти максимальный элемент в массиве a1, ..., an, используя метод деления пополам max (a1, ..., an) = max (max (a1, ..., an/2), max...

Поиск методом деления пополам. - C++
Имеется железнодорожное расписание, содержащее номер рейса поезда, времена отправления и прибытия и станцию прибытия. Организовать поиск...

Поиск экстремума методом деления отрезка пополам - C++
Выдаёт ошибку в 15 строчке. Не могу понять в чём дело, помогите) #include&lt;iostream&gt; #include&lt;math.h&gt; #include&lt;cmath&gt; ...

Методом деления отрезка пополам и методом итераций найти прибли-женное значение корня уравнения - C++
Методом деления отрезка пополам и методом итераций найти прибли-женное значение корня уравнения x3 + 12x – 2 = 0 на интервале . Абсолютная...

Поиск максимального елемента - C++
вот есть код програмы которая генерует случайные числа по нормально закону, и нужно найти максимальный елемент в каждом столбце, но находит...

Нахождение корня методом деления отрезка пополам - C++
Задание: Сделал для f(x)=0, но нужно f(x)=x... Не получается у меня сделать для f(x)=x Ниже код: #include &quot;stdafx.h&quot; #include...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Catstail
Модератор
22619 / 10980 / 1779
Регистрация: 12.02.2012
Сообщений: 18,123
24.09.2013, 18:03 #2
Найди два отличия:

C++
1
2
3
4
5
6
7
8
double maxr(double *a,int n)
{
    if(n==1) return a[0];// если передается один элемент массива он и есть макс.
    if(n==2) return __max(a[0],a[1]); // найти макс из двух элементов
    double max1= maxr(a,n/2); // искать макс в первой половине
    double max2=maxr(a+(n/2),n-n/2); // искать макс во второй половине
    return __max(max1,max2); // выбрать максимальный из двух предыдущих
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.09.2013, 18:03
Привет! Вот еще темы с ответами:

Решение нелинейных уравнений методом деления пополам - C++
Окажите помощь в переписи программы с языка паскаль на с++ для курсовой работы. Программа решает нелинейные уравнения методом деления...

Найти максимум функции методом деления пополам - C++
Найти максимум функции методом деления пополам.

Бинарный поиск деления пополам - C++
Здравствуйте, не могу понять почему так: ввожу число 3 и ничего не выводится(со всеми остальными числами всё получалось) #include...

Найти корень уравнения методом деления отрезка пополам - C++
Всем привет, помогите пожалуйста,начал изучать с++ недавно и навыки пока не очень большие, помогите пожалуйста с задачей, ни как ни дойдет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru