Найти в какой половине последовательности находится максимальное число ( номер 2) помогите составить блок схему
Плиз
Вот сверху блок схему я более менее сделал, скажите что там не так или есть ошибки?
Плиз
Вот сверху блок схему я более менее сделал, скажите что там не так или есть ошибки?
Создай пустой массив (mass), 2 флага (a, b=0), шесть временных значений (c, d, e, f, g, h).
Считай с клавиатуры количество символов (n) и помести в флаг a.
Присвой переменной c значение 1.
Выполняй цикл, пока c не равно a: ввод числа, помещение его в массив mass[c], c увеличивай на единицу.
Раздели a пополам, помести ответ в d (это будет разделение количества чисел пополам, что позволит узнать, в какой части) . Если ответ получился дробным – присвой флагу b значение единицы (это показывает, что число может находиться не в конкретной половине, а посередине, если количество введённых чисел нечётно) . Если флаг b – единица, округли d в меньшую сторону.
Далее: переменная c нам уже не нужна, поэтому используем её в другом месте. Присвой ей значение 1.
Запусти цикл, пока c
Далее присваиваем переменной c значение переменной d. Переменной c снова установи значение 1.
Если флаг b=1, то увеличивай переменную c на единицу (это позволит не затрагивать число посередине, если количество чисел нечётное) .
Запусти цикл с тем же самым условием: c
Далее, если флаг b=0, то узнаём максимальное значение из f и g, присваиваем это значение к переменной h. Если h=f, выводим: "Максимальное число находится в первой половине введённых данных: "+h. Если h=g, выводим: "Максимальное число находится во второй половине введённых данных: "+h.
Если флаг b=1, действуем чуть иначе: сначала узнаём максимальное значение из f и g, присваиваем это значение переменной h. Далее берём цифру "по центру" (т. е. которая посередине всех введённых данных) : d+1 и сравниваем её с h – h:=max(h, mass(d+1)). Если h=f, то первая половина, если h=g, то вторая половина, если h=mass(d+1), то число по центру.
Компилятора у меня сейчас нет, код приложить не могу)