Другие языки программирования и технологии

помогите с одномерным масивом кто шарит

задать одномерный массив и вычислить произведение положительных элементов, сумму отрицательных и вывод первого нулевого элемента
На основе кода Даши Жученко, но проще и без небольших ошибочек. Array и max это ключевые слова, которые нельзя использовать в имени макроса и в именах переменных.
Sub Macros()
Const imax As Integer = 10 'Размерность массива.
Dim Arr(imax) As Integer
Dim i, sum, pr, ni As Integer
pr = 1: sum = 0: ni = 0
For i = 1 To imax
Arr(i) = Int(10 * Rnd) - 5 'Генерация случайных чисел в диапазоне от -5 до 5.
If Arr(i) > 0 Then pr = pr * Arr(i) 'Произведение положительных элементов.
If Arr(i) < 0 Then sum = sum + Arr(i) 'Сумма отрицательных элементов.
If Arr(i) = 0 And ni = 0 Then ni = i: MsgBox "Arr(" & ni & ")=0" 'Вывод первого нулевого элемента.
Next i
End Sub
AU
Aman Umotaly Ulu
27 337
Лучший ответ
var a:array[ 1..100] of integer;
i,n:integer;
begin
randomize;
write('vvesti razmer massiva ==>'); readln(n);
for i:=1 to n do begin
a [ i ] :=random(100);
write(a [ i ] );
end;
это массив случайных чисел, вычисление и вывод попробуй сам, не выйдет - стучись
Максимус Макс
Максимус Макс
95 932
вроде все просто, в одном цикле. а язык какой? с++, дельфи? питон? брейнфак?
Саня Калмыков
Саня Калмыков
20 840
язык!?!
Baha B
Baha B
7 948
Sub array()
Const max As Byte = 10 'Размерность массива.
Dim Arr(max) As Integer
Dim i, sum, pr As Integer

pr = 1
sum = 0

For i = 1 To max
Arr(i) = Int(10 * Rnd) - 5 'Генерация случайных чисел в диапазоне от -5 до 5.
Next i
For i = 1 To max
If Arr(i) > 0 Then
pr = pr * Arr(i) 'Произведение положительных элементов.
End If
If Arr(i) < 0 Then
sum = sum + Arr(i) 'Сумма отрицательных элементов.
End If
Next i
For i = 1 To max
If Arr(i) = 0 Then
MsgBox "Arr(" & i & ")=" & Arr(i) 'Вывод нулевых элементов на экран.
End If
Next i
End Sub

Для вывода только первого нулевого элемента требуется досрочный выход их цикла. Поищите сами, я уже не помню, как он устроен.