Консультация № 174163
12.11.2009, 14:09
35.00 руб.
0 12 2
Доброго времени суток,
Необходимо составить блок схему к следующей задаче (вставка в массиве):
"Вставить число А перед всеми элементами, большими А" (С++)
Нужно понять (мне) сам принцип.
Заранее благодарен.


Обсуждение

Неизвестный
12.11.2009, 14:12
общий
как быть с самым первым элементом?
Неизвестный
12.11.2009, 14:14
общий
если только блок-схему то просто рисуешь начало и цикл. цикл по всем элементам массива
Неизвестный
12.11.2009, 14:20
общий
это ответ
starcode блок схема алгоритма такая
Прикрепленные файлы:
Неизвестный
12.11.2009, 14:23
общий
А какой массив? Обычный?
Неизвестный
12.11.2009, 22:10
общий
одномерный массив.
в смысле как быть с первым элементом?
Неизвестный
12.11.2009, 23:20
общий
starcode:
Цитата: 302408
одномерный массив.
в смысле как быть с первым элементом?

"Вставить число А перед всеми элементами, большими А" первый элемент массива больше A, что куда вставлять
Неизвестный
13.11.2009, 10:19
общий
Просто если массив обычный и нужна именно вставка, а не замена то сначала нужно оценить количество элементов больших заданного, создать новый массив размером = заданный + количество элементов больших заданного, и перемещать уже туда по сходному с данным Airyashov алгоритму.
Неизвестный
13.11.2009, 10:28
общий
я сам не понял что вообще требуется в этой задаче
Неизвестный
13.11.2009, 10:44
общий
да, нужна вставка. массив обычный т.е. нужно мне понять сам принцип вставки в массивах, как это выглядит в виде блок схемы.
Неизвестный
13.11.2009, 12:10
общий
Если тебя устроит в текстовом виде могу написать.
Неизвестный
13.11.2009, 16:33
общий
Виталий Пироженко:
Виталий, в текстовом виде было бы здорово.
Неизвестный
13.11.2009, 23:20
общий
это ответ
Здравствуйте, starcode.
1 Получение или инициализация массива Х0 размером х0 и необходимых переменных.
2 Оценка размера результирующего массива. Результат =х1.
3 Создаём массив Х2 размером х0+х1=х2.
4 Цикл по i (от 0, до х1, шаг 1)
if Исходныймассив[i]<А
ФункцияВставки(Х2, Х0, х2, i, Значение)
конец цикла.

01 ФункцияВставки(РезультирующийМассив, Исходныймассив, РазмерМассива, НомерИндекса, Значение)
Цикл (от РазмерМассива - 2, до НомерИндекса+1, шаг =-1);// -2 потому как нумерация массива с 0 а вам нужно начать с предпоследнего.
В цикле : РезультирующийМассив[РазмерМассива-1]=Исходныймассив[РазмерМассива-2]
Конец цикла.
ЭлементМассива[НомерИндекса]=Значение.
Конец ФункцияВставки.

Можно зночительно оптимизировать алгоритм, и как коллеги говорят улутшить лексику псевдокода:Dно уж не обессудьте с омнибуки на старом салтове лучше не получилось:?) если будут вопросы по поводу - в личку, ответим, вопрос в том что студент должен разобратся! А мы - поможем!
Удачи!
Форма ответа