Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4_Метод_Часть_4_Массивы.doc
Скачиваний:
6
Добавлен:
01.05.2025
Размер:
621 Кб
Скачать
☆
    1. Задачи для дополнительного решения

  1. Дан массив чисел. Удалить все элементы между элементами по номерами m1 и m2.

  2. В последовательности из 10 чисел удалить первый и второй нулевой элемент.

Задача 3*. Дан массив чисел. Удалить все элементы между первым четным и вторым четным элементом.

  1. В массиве из n чисел удалить все отрицательные элементы.

  2. В массиве из n чисел удалить все элементы, принадлежавшие интервалу [1,3].

    1. Вставка элемента в заданную позицию

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

Допустим, что необходимо включить число В в массив в К позицию. Для этого необходимо передвинуть все элементы, начиная с К позиции, вправо на одну позицию. Сдвиг должен производиться с конца, в противном случае все элементы с К+1 позиции будут замещены элементом А(К). Затем в К позицию записывается число В.

Программная реализация

FOR i = n TO K STEP –1

A(i+1) = A(i)

NEXT i

A(K) = B

n = n + 1

пример 13

Дан массив чисел. Вставить во вторую позицию число равное минимальному значению массива

Тест

Данные

Результат

n=5

A=(3, 5, -2, 4, 0)

A=(5, -2, 3, -2, 4, 0)

Исполнение алгоритма

Нахождение минимального значения

i

Проверка условия

min

=А(1)=3

2

А(2)<min (ложь)

5>3

Значение осталось прежним

3

А(3)<min (истина)

-2<3

=А(3)=-2

4

А(4)<min (ложь)

4>-2

Значение осталось прежним

5

А(5)<min (ложь)

0>-2

Значение осталось прежним

Вставка минимального элемента во вторую позицию

i

Сдвиг

Вставка минимального элемента

Массив

n

5

A(6)=A(5)

A=(3, 5, -2, 4, 0, 0)

4

A(5)=A(4)

A=(3, 5, -2, 4, 4, 0)

3

A(4)=A(3)

A=(3, 5, -2, -2, 4, 0)

2

A(3)=A(2)

A=(3, 5, 5, -2, 4, 0)

n=n+1=

5+1=6

А(2)=min=-2

A=(3, -2, 5, -2, 4, 0)

Блок-схема алгоритма

Н ачало

Ввод n

i=1,n

ввод Ai

min=A1

i<=n

Ai<min

min=Ai

i=n,2

Ai+1 = Ai

A2=min

n=n+1

i=1,n

Вывод Ai

Конец

Программа

CLS

INPUT "введи размер массива " ; n

DIM A(n + 1)

PRINT "введи массив"

FOR i = 1 TO n

'Ввод элементов массива

INPUT A(i)

NEXT i

'Задание начального значения минимума

MIN = A(1)

'Определение наименьшего значения массива

FOR i = 2 TO n

IF A(i) < MIN THEN MIN = A(i)

NEXT i

'Сдвиг всех элементов вправо на одну позицию, начиная со второго номера

FOR i = n TO 2 STEP –1

A(i+1) = A(i)

NEXT i

'Вставка значения минимального элемента во вторую позицию

A(2)= MIN

FOR i = 1 TO n+1

'Вывод элементов массива

INPUT A(i);

NEXT i

n = n + 1

END

пример 14

Дан массив чисел. Вставить два числа ноль в начало массива.

Программа

CLS

INPUT "введи размер массива " ; n

DIM A(n + 2)

PRINT "введи массив"

FOR i = 1 TO n

'Ввод элементов массива

INPUT A(i)

NEXT i

'Сдвиг всех элементов массива вправо на две позиции

FOR j = 1 TO 2

FOR i = n TO 1 STEP –1

A(i+1) = A(i)

NEXT i

'Вставка нуля в начало массива

A(1)= 0

n = n + 1

NEXT j

FOR i = 1 TO n

'Вывод элементов массива

INPUT A(i);

NEXT i

n = n + 1

END

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]