Как в VB сделать это:
В одномерном массиве, который состоит из N действительных элементов, вычислить:
1) минимальный элемент массива;
2) сумму элементов массива, расположенных между первым и последним положительными элементами.
Преобразовать массив таким образом, чтобы сначала размещались все элементы, которые равны нулю, после чего - все остальные.
На экран вывести: исходный массив; вычисленные значения и преобразованный массив.
Другие языки программирования и технологии
Вопрос по Visual Basic! Очень нужна ваша помощь! Внутри (+)
1) Переменной минимума присвоить значение первого элемента, далее в цикле проверять каждый элемент, и если он меньше минимального, то присвоить минимальному значение текущего элемента.
2) Перебираем массив с начала, найдя первый положительный элемент с помощью условного оператора IF запоминаем его индекс в первую переменную и выходим из цикла. Повторяем те же действия, но перебирая массив с конца.
Далее считаем в цикле сумму элементов между первым запомненным индексом плюс один и вторым запомненным индексом минус один.
Преобразование осуществляется с помощью двойного цикла. Перебираем элементы с конца и дял каждого элемента проходим массив сначала. Если элемент второго цикла равен нулю, то меняем местами элементы первого и второго цикла через временную переменную.
Вывод осуществляется по ходу программы, думаю как его производить объяснять не стоит.
2) Перебираем массив с начала, найдя первый положительный элемент с помощью условного оператора IF запоминаем его индекс в первую переменную и выходим из цикла. Повторяем те же действия, но перебирая массив с конца.
Далее считаем в цикле сумму элементов между первым запомненным индексом плюс один и вторым запомненным индексом минус один.
Преобразование осуществляется с помощью двойного цикла. Перебираем элементы с конца и дял каждого элемента проходим массив сначала. Если элемент второго цикла равен нулю, то меняем местами элементы первого и второго цикла через временную переменную.
Вывод осуществляется по ходу программы, думаю как его производить объяснять не стоит.
1. 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Option Explicit
Dim A() As Integer, i As Integer, j As Integer, n As Integer, m As Integer
Dim max As Integer, sum As Integer, b As Integer
Private Sub Command1_Click()
Randomize 'Иницилизация генератора случайных чисел
Cls 'Очищаем форму
n = InputBox("Vvedite n", , 10)
sum = 0
ReDim A(n) ' Размеры массивов
Print "Massiv A(n)"
For i = 1 To n
A(i) = Int(Rnd * 101 - 50) 'Заполняем массив случайными числами
Print A(i); vbTab;
Next i
max = A(1)
For i = 1 To n
If max < A(i) Then max = A(i): b = i
Next i
Print
Print "Максимальный элемент массива A (" & b & ") = " & max;
For i = 1 To n
If A(i) > 0 Then b = i
Next i
Print
Print "Последний положительный элемент массива A (" & b & ") = " & A(b);
For i = 1 To b - 1
sum = sum + A(i)
Next i
Print
Print "Сумма до последнeго положительного элемента массива A ="; sum
End Sub
SoftIce вне форума
_________________________________________________________________________
2. 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub Command1_Click()
n = 25
ReDim a(n)
For i = 1 To n
Select Case i
Case 1: a(1) = 0
Case 2: a(2) = 4
Case Else
a(i) = a(i - 1) - 3 * a(i - 2)
If a(i) < 0 Then
S = S + a(i)
Me.ForeColor = vbRed
Else
ForeColor = 0
End If
End Select
Print "a("; i; ") = "; Tab(20); a(i)
Next i
Print: Print "S="; S
End Sub
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Option Explicit
Dim A() As Integer, i As Integer, j As Integer, n As Integer, m As Integer
Dim max As Integer, sum As Integer, b As Integer
Private Sub Command1_Click()
Randomize 'Иницилизация генератора случайных чисел
Cls 'Очищаем форму
n = InputBox("Vvedite n", , 10)
sum = 0
ReDim A(n) ' Размеры массивов
Print "Massiv A(n)"
For i = 1 To n
A(i) = Int(Rnd * 101 - 50) 'Заполняем массив случайными числами
Print A(i); vbTab;
Next i
max = A(1)
For i = 1 To n
If max < A(i) Then max = A(i): b = i
Next i
Print "Максимальный элемент массива A (" & b & ") = " & max;
For i = 1 To n
If A(i) > 0 Then b = i
Next i
Print "Последний положительный элемент массива A (" & b & ") = " & A(b);
For i = 1 To b - 1
sum = sum + A(i)
Next i
Print "Сумма до последнeго положительного элемента массива A ="; sum
End Sub
SoftIce вне форума
_________________________________________________________________________
2. 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub Command1_Click()
n = 25
ReDim a(n)
For i = 1 To n
Select Case i
Case 1: a(1) = 0
Case 2: a(2) = 4
Case Else
a(i) = a(i - 1) - 3 * a(i - 2)
If a(i) < 0 Then
S = S + a(i)
Me.ForeColor = vbRed
Else
ForeColor = 0
End If
End Select
Print "a("; i; ") = "; Tab(20); a(i)
Next i
Print: Print "S="; S
End Sub
Похожие вопросы
- Господа, программисты, неопытному юзеру ОЧЕНЬ нужна Ваше помощь - установила 2 Windows
- помогите пожалуйста кто смыслит в C# или в C++, очень нужна ваша помощь, нужен код программы, точнее двух
- Информатика."Найти значение логических выражений".Очень нужна ваша помощь!
- Очень нужна ваша помощь, как относиться православие к киберспорту, не могу играть в игры если не будет серьезной...
- Вопрос о Visual Basic.
- Вопрос про Visual Basic
- народ,срочно!нужна ваша помощь!вопрос жизни и смерти!
- Очень срочно нужна Ваша помощь!!!
- php и mysql Разбираетесь? Нужна ваша помощь в срочном порядке)
- У всех у кого Win XP нужна ваша помощь!!
http://otvet.mail.ru/comments/answer/458187618/?begin_comment=1