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

помогите доделать задачу в вижуал студио 2005

Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click Dim mas(9) As Integer Dim i As Integer Dim str As String mas(0) = TextBox1.Text mas(1) = TextBox2.Text mas(2) = TextBox3.Text mas(3) = TextBox4.Text mas(4) = TextBox5.Text mas(5) = TextBox6.Text mas(6) = TextBox7.Text mas(7) = TextBox8.Text mas(8) = TextBox9.Text mas(9) = TextBox10.Text For i = 0 To 9 Step 1 str = str & mas(i) & ", " Next i Label1.Text = str End Subнада, чтобы программа указала все положительные числа и вывела их, для этого нада еще 1 цикл составить, но я незнаю как
Свойство Text у текстбокса имеет тип String(а не Integer), поэтому строку сначала надо преобразовать в число.

Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim mas(9) As Integer
Dim i As Integer
Dim str As String

mas(0) = Integer.Parse(TextBox1.Text)
mas(1) = Integer.Parse(TextBox2.Text)
mas(2) = Integer.Parse(TextBox3.Text)
mas(3) = Integer.Parse(TextBox4.Text)
mas(4) = Integer.Parse(TextBox5.Text)
mas(5) = Integer.Parse(TextBox6.Text)
mas(6) = Integer.Parse(TextBox7.Text)
mas(7) = Integer.Parse(TextBox8.Text)
mas(8) = Integer.Parse(TextBox9.Text)
mas(9) = Integer.Parse(TextBox10.Text)

For i = 0 To 9 Step 1
'Проверяем условие
If mas(i) >0 Then
str = str & mas(i).ToString() & ", "
End If
Next i
Label1.Text = str
End Sub

Функция Parse принимает только корректную строку, то есть она должна быть целым числом, если существует возможность неправильного ввода, надо обработать исключение или воспользоваться функцией TryParse.
Кроме того используй операторы сложного присвоения, то есть вместо строки

str = str & mas(i).ToString() & ", "

пиши

str &= mas(i).ToString() & ", "

Результат тот же, писанины меньше.
Дмитрий Мельников
Дмитрий Мельников
4 394
Лучший ответ
For i = 0 To 9 Step 1
if mas(i)>0 then ' кстати, я не знаю, как он тут тип собирается преобразовать, или надо ему явно это сделать
'просто в mas повидимому, попадают текстовые величины, или указан тип integer? не знаю... .
str = str & mas(i) & ", "
Next i
Как указала?
К сожелению бейсика не знаю, а если тебе надо просто вывести все положительные числа - напишу на С#, надеюсь разберешься:

for(int i=0;i<10;i++){
if(mas[ i ]>0) Label.Text += mas[ i ]+", ";
}
МС
Макс Сэнсей
1 158