русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Схема алгоритма


Дата добавления: 2015-01-08; просмотров: 555; Нарушение авторских прав


Начиная с первых элементов массивов A и B, сравниваем элементы A[i] и B[j]. В массив C пересылаем больший из них, например, A[i] (если выполняется условие A[i]>=B[j]).

· Далее продолжаем пересылать в массив C элементы массива A (индекс j при этом не меняется), пока очередной элемент массива A не будет меньше B[j] (условие A[i] >=B[j] не выполняется).

· Тогда начинаем пересылать в массив C элементы массива B (индекс i при этом не меняется), пока для какого-либо элемента массива B не будет снова выполнено условие (A[i] >=B[j]).

· Если один из массивов исчерпан (выполнено условие i > n или j > m), то оставшиеся элементы другого массива пересылаются друг за другом без всяких проверок.

Реализовать алгоритм самостоятельно.

14. Инвертирование массива

· Требуется изменить порядок следования элементов массива размером n на обратный, т.е. поменять местами нулевой элемент массива с (n – 1)-м, первый с (n – 2)-м, i-й с (n – (i+1))-м. Последними нужно поменять местами средние элементы, т.е. (n/2)-й и (n/2 + 1)-й.

15. Циклический сдвиг

· Требуется переместить элементы массива А размера n на m позиций вправо. При этом m элементов из конца массива перемещаются в начало:

А = (a1, a2, a3, a4, a5) – исходный массив;

A = (a4, a5, a1, a2, a3) – после циклической перестановки на 2 позиции вправо.

Вариант 1. Используется вспомогательный массив для временного хранения m последних элементов массива А. Далее оставшиеся элементы с нулевого по (n m – 1)-й смещаются вправо на m позиций. (Заметим, что перемещение нужно начинать с последнего из перемещаемых элементов, чтобы не испортить элементы массива А.) После этого в первые m элементов пересылаются элементы вспомогательного массива.

Вариант 2. Циклический сдвиг осуществляется с использованием одной вспомогательной переменной, в которую каждый раз пересылается последний элемент массива А, после чего все элементы сдвигаются вправо на 1 позицию (начиная с конца), и на место первого элемента помещается значение вспомогательной переменной. Эта процедура повторяется m раз.





<== предыдущая лекция | следующая лекция ==>
Схема алгоритма | Работа с массивами как с объектами


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.481 сек.