русс | укр

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

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

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

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


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

Решение


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


Пусть k − номер элемента, после которого мы дол­жны вставить элемент х (k и х будем вводить с клави­атуры). Вставка осуществляется следующим образом:

¨ первые k элементов массива остаются без изме­нений;

¨ все элементы, начиная с (k+1)−го необходимо сдви­нуть вправо;

¨ элементу с номером (k+1) присваиваем значение х.

Рассмотрим конкретный пример. Пусть дан следу­ющий одномерный массив из N (N=10) элементов:

3, -12, 5, 14, 27, -6, 1, -34, 10, -15.

Надо вставить элемент со значением 100 после пято­го элемента массива. Мы получим следующий массив:

3, -12, 5, 14, 27, 100, -6, 1, -34, 10, -15.

Таким образом, после вставки в массиве станет 11 элементов, и это надо учесть при описании типа myarray:

Type myarray=Array[1..n+1] Of Integer;

Будем выводить массив два раза − до и после встав­ки нового элемента, используя уже известную процеду­ру Print1.

Составим теперь основную программу с использова­нием новой процедуры Insert1(k1, x1, m), кото­рой передаются: k1 − номер элемента, после которого надо вставить новый элемент, x1 − значение нового элемента, m − массив. Сдвиг элементов будем начинать с конца массива.

Program Example_105;

Const n=10; dd=51;

Type myarray=Array[1..n+1] Of Integer;

Var A: myarray;

x, k: Integer;

{x - значение нового элемента, k - номер

элемента,после которого вставляем}

Procedure Init2(Var m: myarray);

{Процедура заполнения (инициализации)

массива случайными числами}

...

Procedure Print1(n1: Integer; m: myarray);

{Процедура вывода (распечатки) массива}

...

Procedure Insert1(k1, x1: Integer;

Var m: myarray);

Var i: Integer;

Begin

{Сдвиг элементов на одну позицию назад}

For i:=n Downto k1+1 Do m[i+1]:=m[i];

m[k1+1]:=x1;

{Вставка элемента после k1-го}



End;

Begin

Init2(А);

Print1(n, А); {Вывод начального массива

из n элементов}

Writeln('Номер элемента, после которого

вставлять, ');

Writeln('и значение нового элемента');

Readln(k, x);

Insert1(k, x, A);

Print1(n+1,A);{Вывод массива после вставки нового элемента}

Readln;

End.



<== предыдущая лекция | следующая лекция ==>
Решение | Вставка элемента перед элементом с


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


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

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

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


 


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

 
 

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

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