ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 16.03.2024
Просмотров: 14
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Одномерные массивы
Вставка и удаление элемента
Учитель информатики и ИКТ
МБОУ «Лицей «Дубна»
Жевтило Ирина Аскольдовна
Задание 1. В заданный массив из 5 элементов, вставить новый элемент, значение которого и позиция вводится с клавиатуры.
Алгоритм решения
- Сформировать массив из 5 элементов
- Ввести значение и позицию k вставляемого элемента
- Предусмотреть сдвиг элементов массива с k-позиции до конца массива
- Вставить новый элемент
- Учесть, что в новом массиве будет на один элемент больше.
Например:
Исходный массив
Хотим вставить новый элемент, равный 50 на четвертую позицию
1 | 2 | 3 | 4 | 5 |
5 | 8 | 4 | 3 | 7 |
1 | 2 | 3 | 4 | 5 | 6 |
5 | 8 | 4 | 50 | 3 | 7 |
Программа
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 |