Предмет: Информатика, автор: elriiuzaki

Дан массив Z(10). Вставить число Р между теми числами, которые образуют пару с одинаковыми знаками.
СДЕЛАТЬ В БЭЙСИКЕ!!!!

Ответы

Автор ответа: VV1000
0

Ответ:

Ответ в объяснении

Объяснение:

Visual Basic

Dim Z(), N() As Integer ' Объявляем динамический массивы Z и N, их размеры будут меняться.

Dim i As Integer, j As Integer, k As Integer, P As Integer, Msg As String

ReDim Z(10), N(10) ' Определяем сначала, что в массивах Z и N будет по 10 элементов

For i = 1 To 10

__Msg = "Введите " & i & " элемент массива"

__Z(i) = InputBox (Msg) ' Вводим начальные значения массива Z

__N(i) = Z(i) ' И сохраняем их в массиве N

Next i

P = InputBox ("Введите значение P")

i = 10 : k = i

Do While i > 1

__If Z(i)*Z(i-1) > 0 Then ' Если два элемента имеют одинаковый знак, то их произведение > 0

____k = k + 1

____Redim Z(k) ' Добавляем в массив Z место под еще один элемент

____' При этом массив обнуляется, поэтому его необходимо было сохранить в массиве N

____For j = 1 To i - 1

______Z(j) = N(j) ' Копируем элементы перед P

____Next j

____Z(i) = P ' Вставляем элемент P

____For j = i + 1 To k

______Z(j) = N(j - 1) ' Копируем элементы после P

____Next j

____ReDim N(k) ' Добавляем в массив N место под еще один элемент. При этом N обнуляется.

____For j = 1 To k

______N(j) = Z(j) ' Копируем массив Z в N

____Next j

__End If

__i = i - 1

Loop

Дальше идет вывод массива Z.

Я проверил в VB 6 - работает.

Похожие вопросы
Предмет: Математика, автор: bliznez2727