Найти максимальный элемент массива [закрыт]

135
07 сентября 2019, 11:10

Найти максимальный элемент в массиве ai (i=1, , n), используя очевидное соотношение max(a1, , an) = max[max(a1, , an–1), an]. Использовать рекурсивную и нерекурсивную функцию. Рекурсией решил, а вот циклом никак не придумаю как реализовать.

Answer 1

Вы серьезно? 8-/

int max = a1;
for(int i = 2; i <= n; ++i)
    if (max < a[i]) max = a[i];
Answer 2

Например так:

int max_from_sub(const int* arr, const size_t start, const size_t size)
{
    int max = arr[start];
    for (size_t i = start + 1; i < size; ++i)
        if (max < arr[i]) max = arr[i];
    return max;
}
int array_max_element(const int* m, const size_t n)
{
    int max = m[0];
    for (size_t i = 0; i < n - 1; ++i)
        max = std::max(max_from_sub(m, i, n), max);
    return max;
}

Или без функций:

int max = arr[0];
for (int i = 0; i < n - 1; ++i)
    for (int j = i + 1; j < n; ++j)
        if (max < arr[j]) max = arr[j];
READ ALSO
Как перенаправить ввод-вывод через pipe?

Как перенаправить ввод-вывод через pipe?

Создаю pipe, запускаю программу - итог висякКак проверить что pipe не нужно читать - виснет на чтение pipe

106
Почему не работает push_back()?

Почему не работает push_back()?

Можете пояснить почему не работает push_back()?

121
Многопоточный калькулятор на Qt [закрыт]

Многопоточный калькулятор на Qt [закрыт]

Задача сделать так, чтобы программа работала в двух потокахНужно искусственно усыплять поток, дабы эмулировать долгие вычисления

138