|
Вставка и удаление элементов массива. Одномерные массивы Вставка и удаление элемента
Одномерные массивы Вставка и удаление элемента Учитель информатики и ИКТ
МБОУ «Лицей «Дубна»
Жевтило Ирина Аскольдовна
Задание 1. В заданный массив из 5 элементов, вставить новый элемент, значение которого и позиция вводится с клавиатуры. Алгоритм решения - Сформировать массив из 5 элементов
- Ввести значение и позицию k вставляемого элемента
- Предусмотреть сдвиг элементов массива с k-позиции до конца массива
- Вставить новый элемент
- Учесть, что в новом массиве будет на один элемент больше.
Например: Исходный массив Хотим вставить новый элемент, равный 50 на четвертую позицию Программа const n = 6; i, x, k: integer; begin randomize; a [i]:=random(20)+1; write(a[i]:5); end; writeln; readln(x); write('Позиция в массиве: '); readln(k); for i := n - 1 downto k do a [i+1] := a [i]; a[k] := x; writeln (' Новый массив: '); write(a[i]:5); end. Пример исполнения 18 15 10 20 9 Введите новый элемент: 7 Позиция в массиве: 2 Новый массив: 18 7 15 10 20 9 Задание 2. Из заданного массива из 8 элементов, удалить элемент, позиция которого вводится с клавиатуры. Алгоритм решения - Сформировать массив из 8 элементов
- Ввести позицию k удаляемого элемента
- Предусмотреть сдвиг элементов массива (влево)
- Учесть, что в новом массиве будет на один элемент меньше.
Программа const n = 8; i, k: integer; begin randomize; for i := 1 to n do begin a [i]:=random(20)+1; write(a[i]:5); end; writeln; write('Введите номер удаляемого элемента: '); readln(k); for i := k to n-1 do a [i] := a [i+1] ; writeln (' Новый массив: '); for i := 1 to n-1 do write(a[i]:5); end. Пример исполнения 7 12 4 20 16 9 10 5 Введите номер удаляемого элемента: 4 Новый массив: 7 12 4 16 9 10 5 Задание 3. В заданный массив из 10 элементов, вставить новый элемент перед максимальным элементом, значение которого вводится с клавиатуры. Алгоритм решения - Сформировать массив из 10 элементов
- Найти максимальный элемент и запомнить его номер в переменной k
- Ввести значение вставляемого элемента
- Предусмотреть сдвиг элементов массива (вправо) с k-позиции до конца массива
- Вставить новый элемент
- Учесть, что в новом массиве будет на один элемент больше.
Например: Исходный массив Максимальный элемент в данном массиве 25 под номером 6. Хотим вставить новый элемент, равный 0 на шестую позицию 1
| 2
| 3
| 4
| 5
| 6
| 7
| 8
| 9
| 10
| 5
| 8
| 4
| 3
| 7
| 25
| 14
| 3
| 12
| 2
| 1
| 2
| 3
| 4
| 5
| 6
| 7
| 8
| 9
| 10
| 11
| 5
| 8
| 4
| 3
| 7
| 0
| 25
| 14
| 3
| 12
| 2
| Программа const n = 11; i, max, x, k: integer; begin randomize; a [i]:=random(20)+1; write(a[i]:5); end; writeln; max:=0; for i := 1 to n - 1 do if a [i]>max then begin max:=a[i]; k:=i; end; readln(x); a [i+1] := a [i]; a[k] := x; writeln (' Новый массив: '); write(a[i]:5); end. Пример исполнения 8 9 15 10 16 18 7 20 3 8 Введите новый элемент: 0 Новый массив: 8 9 15 10 16 18 7 0 20 3 8 |
|
|