Сумма положительных элементов - VB
Формулировка задачи:
Здравствуйте) Помогите, пожалуйста, переделать код на Visual Basic..не знаком с этим языком..так бы хоть разобрался. А задание следующее: найти сумму положительных элементов, расп-ых впереди первого отриц-ого элемента
Листинг программы
- var
- Form1: TForm1;
- massiv: array of integer;
- n:integer;
- implementation
- {$R *.dfm}
- procedure TForm1.Button1Click(Sender: TObject);
- begin
- ListBox1.Items.Clear;
- n:=strtoInt(InputBox('Размер массива', 'Введите размер массива','0'));
- SetLength(massiv,n); //установка размера массива
- end;
- procedure TForm1.Button2Click(Sender: TObject);
- var i:integer;
- begin
- for i:=0 to n-1 do
- begin
- massiv[i]:=strtoint(InputBox('Элементы массива', 'Введите '+inttostr(i+1)+ ' -й элемент массива','0')); //ввод элементов массива
- ListBox1.Items.Add(inttostr(massiv[i]));
- end;
- end;
- procedure TForm1.Button3Click(Sender: TObject);
- var i,sum: integer;
- begin
- sum:=0;
- for i := Low(massiv) to High(massiv) do begin
- if massiv[i]<0 then
- break;
- sum:=sum+massiv[i];
- end;
- Listbox1.Items.Add('Сумма до 1 отрицательного='+ inttostr(sum));
- End;
- end;
Решение задачи: «Сумма положительных элементов»
textual
Листинг программы
- Option Explicit
- Option Base 1 'Установка нижнего индекса для всех модульных массивов =1
- Dim n&, i&
- Dim massiv() As Integer 'massiv: array of integer;
- Private Sub Command1_Click()
- Command2.Enabled = False
- On Error Resume Next 'Пропуск остановки во время ошибки
- Do: Err.Clear
- n = -1: n = InputBox("Введите размер массива", , 1)
- If n > 10 Then
- If MsgBox("Вы уверенны что будете заполнять " & n & " элементов массива ?", 68) = vbNo Then _
- Exit Sub ' Выход если не уверен
- End If
- ReDim Preserve massiv(n) '//установка размера массива
- If Err = 0 Then Exit Do 'Если размер установлен правильно выход из этого цикла
- Loop
- List1.Clear
- For i = 1 To n
- Do: Err.Clear
- massiv(i) = InputBox("Введите " & i & "-й элемент", , 0)
- If Err = 0 Then Exit Do 'Выход если всё правильно
- Loop
- List1.AddItem massiv(i) ' а заодно заполняем список
- Next
- Command2.Enabled = True
- End Sub
- Private Sub Command2_Click()
- n = 0
- For i = 1 To UBound(massiv)
- If massiv(i) < 0 Then
- Exit For '//Если число отрицательное выход из цикла пересчёта
- Else
- n = n + massiv(i)
- End If
- Next
- MsgBox " Сумма = " & n, vbInformation
- End '//Победа ! выход из программы
- End Sub
- Private Sub Form_Load()
- Command2.Enabled = False
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д