0 / 0 / 0
Регистрация: 16.02.2017
Сообщений: 20
1

Поиск максимального элемента

22.02.2017, 10:53. Показов 703. Ответов 1
Метки нет (Все метки)

Нужна сделать поиск максимального элемента массива путем деления пополам не через рекурсию, а через цикл.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>
#include <conio.h>
 
int maxs(double*, int);
 
int _tmain(int argc, _TCHAR* argv[])
{
    randomize();
    double n;
    int i;
    cin >> n;
    double* a = new double[n];
    for (i = 0; i < n; i++)
        *(a + i) = random(10);
    for (i = 0; i < n; i++)
        cout << *(a + i) << " ";
    double r=maxs(a,n-1);
    cout<<r;
    getch();
    return 0;
double maxs(double* a, int n)
{
    if (n == 0)
        return a[0];
    double r1 = maxs(a, n / 2);
    double r2 = maxs(a + n / 2 + 1, n - 1);
    return max(r1, r2);
}
 
}
Добавлено через 1 час 44 минуты
Корректный код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>
#include <conio.h>
 
int maxs(double*, int);
 
int _tmain(int argc, _TCHAR* argv[])
{
    randomize();
    double n;
    int i;
    cin >> n;
    double* a = new double[n];
    for (i = 0; i < n; i++)
        *(a + i) = random(10);
    for (i = 0; i < n; i++)
        cout << *(a + i) << " ";
    double r=maxs(a,n-1);
    cout<<r;
    getch();
    return 0;
}
double maxs(double* a, int n)
{
    if (n == 0)
        return a[0];
    double r1 = maxs(a, n / 2);
    double r2 = maxs(a + n / 2 + 1, n - 1);
    return max(r1, r2);
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.02.2017, 10:53
Ответы с готовыми решениями:

Поиск максимального элемента в файле
Доброго времеи суток. Не подскажие, как осуществить поиск максимального элемета из записаных в...

Поиск максимального элемента массива
Задание из ОГЭ , требуется написать, какое число выведет программа. Почему выводит 41 а не 20, ведь...

Поиск максимального элемента дерева
Добрый день! Помогите пожалуйста реализовать поиск максимального элемента в дереве.

Поиск максимального элемента массива
Всем вечер добрый Вот моя ситуация: дано два одномерных массива А и Б допустим как мне найти ...

1
Модератор
Эксперт CЭксперт С++
5107 / 4538 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
22.02.2017, 11:18 2
Метод половинного деления не для поиска максимального элемента, тем более для произвольного массива...
Намного проще просто просмотреть и найти.
Задание какое-то странное.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.02.2017, 11:18
Помогаю со студенческими работами здесь

Поиск максимального элемента вектора
Написала программу поиска максимального элемента вектора, только теперь её надо переделать немного...

Поиск максимального элемента по модулю
Дана целочисленная прямоугольная матрица А. Составить новую матрицу В из тех строк матрицы А,...

Поиск максимального элемента на главной диагонали
Алгоритм работает включительно по вывод максимального значения. Значение пересечения не выводит,...

Поиск минимального и максимального элемента в матрице
Помогите в моем коде реализовать поиск минимального и максимального элемента функция minmax ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru