Помогите с одномерным массивом розобратся

Помогите с одномерным массивом розобратся

    #include <iostream>
#include <string>
using namespace std;
int main()
{    
setlocale(LC_ALL, "rus");
        int arr[10];
        int max = 0;
        for (int i = 0; i < 10; i++) {
            cout << "[" << i + 1 << "]" << ": ";
            cin >> arr[i];
        }
        cout << "\n Ваш масив: ";
        for (int i = 0; i < 10; ++i) {
            cout << arr[i] << " ";
        }
        cout<<""<<endl;         
        for(int i = 0; i < 10; ++i)
        {
            if(arr[i] > max)
            {
                max = arr[i];
            }

        }         
            cout << "Максимальный элемент масива "<< max ;                 
       return 0;
}

В массиве Х(N) найти max1– максимальный элемент в первой половине массива и max2– максимальный элемент во второй половине массива.
максимальный я определил, а как поделить на две части и найти во второй части не могу понять

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

Сначала массив надо логически разделить пополам. Если у тебя в массиве 10 элементов, то первая половина массива — это элементы с 0 по 4, а вторая половина — элементы с 5 по 9. Теперь, когда границы половин массива известны, пишешь два цикла для определения максимальных значений. Или, если знаешь как пользоваться функциями, пишешь функцию, которая определяет максимальный элемент массива в заданном диапазоне индексов и вызываешь ее дважды для своих диапазонов.

Кстати, у тебя в программе ошибка в определении максимального элемента. Перед циклом переменную max надо инициализировать не 0, а значением первого элемента массива из нужного диапазона индексов. И цикл запускать со следующего элемента.

В противном случае, если, например, у тебя все элементы массива отрицательные, максимальным значением окажется 0, что неправильно.

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.