Другие языки программирования и технологии
Дан массив Z(10). Вставить число Р между теми числами, которые образуют пару с одинаковыми знаками. Помогите) пжста
какой язык программирования, если Паскаль - пиши
Андрей Лихоманов
Паскаль
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 - работает.
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 - работает.
Похожие вопросы
- помогите пожалуйста с массивом А- массив из 10 целых чисел найти число больше 10 сообщить его номер.
- Помогите :) Дан массив из n целых чисел. Найти количество встречающихся равных чисел.
- Дан массив из 100 целых чисел. Заменить элементы между минимальным и максимальным значениями Pascal!
- Дан массив размера 10. Переставить в обратном порядке элементы массива, расположенные между его минимальным и максима
- В массиве из 10 целых чисел подсчитать сумму элементов более чем в 2 раза превышающих минимальный.
- Программирование ассемблер. Дан массив из 8 байт. Посчитать количество байт, в которых число нулей и единиц одинаковое
- помогите? Дан массив целых чисел (n=15),
- Pascal . Дан массив вещественных чисел. Найти сумму элементов, номера которых являются простыми числами
- дан массив целых чисел F1,F2...Fn. распечатать элементы, нах-ся между min и max и их номера. подскажите где я ошибся
- вставить число Х песле последнего положительного элемента в массиве В из 10 чисел ?на паскале... на паскале...