Вопрос задан 22.06.2023 в 06:04. Предмет Информатика. Спрашивает Антонова Анастасия.

Дан массив Z(10). Вставить число Р между теми числами, которые образуют пару с одинаковыми знаками.

СДЕЛАТЬ В БЭЙСИКЕ!!!!
0 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 - работает.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для выполнения этой задачи на языке программирования BASIC, вы можете использовать следующий код. Допустим, у вас есть массив Z(10) и число P, которое вы хотите вставить:

BASIC
10 REM Заполнение массива Z(10) примерно таким образом 20 DIM Z(10) 30 FOR I = 1 TO 10 40 INPUT "Введите элемент Z("; I; "): ", Z(I) 50 NEXT I 60 REM Введите число P, которое вы хотите вставить 70 INPUT "Введите число P: ", P 80 REM Инициализация переменных для хранения предыдущего числа и его знака 90 PREV_NUM = Z(1) 100 PREV_SIGN = SGN(PREV_NUM) 110 REM Итерация по массиву и вставка числа P между числами с одинаковыми знаками 120 FOR I = 2 TO 10 130 CURR_NUM = Z(I) 140 CURR_SIGN = SGN(CURR_NUM) 150 160 IF CURR_SIGN = PREV_SIGN THEN 170 REM Вставка числа P между числами с одинаковыми знаками 180 FOR J = 10 TO I + 1 STEP -1 190 Z(J) = Z(J - 1) 200 NEXT J 210 Z(I + 1) = P 220 END IF 230 PREV_NUM = Z(I) 240 PREV_SIGN = CURR_SIGN 250 NEXT I 260 REM Вывод массива после вставки 270 FOR I = 1 TO 11 280 PRINT "Z("; I; ") = "; Z(I) 290 NEXT I

Обратите внимание, что этот код предполагает, что вы уже заполнили массив Z(10) и ввели значение P. Он итерирует по массиву и вставляет число P между числами с одинаковыми знаками. После выполнения кода будет выведен обновленный массив.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос