Файл: Одномерные массивы Вставка и удаление элемента.pptx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 16.03.2024

Просмотров: 14

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Одномерные массивы

Вставка и удаление элемента

Задание 1. В заданный массив из 5 элементов, вставить новый элемент, значение которого и позиция вводится с клавиатуры.

Алгоритм решения

Например:

Исходный массив

Хотим вставить новый элемент, равный 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 элементов, удалить элемент, позиция которого вводится с клавиатуры.

Алгоритм решения

Программа

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 элементов, вставить новый элемент перед максимальным элементом, значение которого вводится с клавиатуры.

Алгоритм решения

Например:

Исходный массив

Максимальный элемент в данном массиве 25 под номером 6.

Хотим вставить новый элемент, равный 0 на шестую позицию

Программа

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

Одномерные массивы

Вставка и удаление элемента


Учитель информатики и ИКТ

МБОУ «Лицей «Дубна»

Жевтило Ирина Аскольдовна

Задание 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

Программа

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