powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / помогите пожалуйста
55 сообщений из 55, показаны все 3 страниц
помогите пожалуйста
    #36404950
Natashka1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
составить программу вычисления в массиве суммы всех чисел, кратных 8;
составить программу вычисления среднего арифметического элементов с нечетными номерами; составить программу вычисления суммы элементов от второго отрицательного и до конца
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36405153
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть 2 варианта:
1) 100 $
2) что вызывает трудности? покажите Ваши нароботки поможем, порпавим

ЗЫЖ ссессия...ссессия, как всегда не вовремя :-)

I Have Nine Lives You Have One Only
THINK!
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36405170
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HandKotесть 2 варианта:
1)
2)

Ну или 3) подождать, когда сюда заглянет альтруист VipFedor и с радостью поможет бедной замученной студентке не учиться самостоятельно.
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36405246
Natashka1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HandKot,

Dim A(1 To 9) As Integer
Print "массив A:=";
K = 1
For i = 1 To 9
If i Mod 8 <> 0 Then A(i) = -K Else A(i) = K
Print A(i);
K = K + 3
Next i
Print
S = 0 ' начальное значение суммы
K = 0
For i = 1 To 9
If A(i) Mod 8 = 0 Then S = S + A(i): K = K + 1 'сумма и количество элементов кратных 8
Next i
Print "сумма элементов кратных 8="; S

что тут исправить надо?
тут хоть что-нибудь правильное есть?
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36405266
Natashka1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Natashka1,

это про вычисления в массиве суммы всех чисел, кратных 8
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36405298
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Natashka1,

Так вроде все правильно работает, что вас смущает?
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36405321
Natashka1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

у меня vb не хочет устанавливаться, точно правильно?
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36405335
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторвычисления в массиве суммы всех чисел, кратных 8
Код: plaintext
1.
2.
3.
4.
S =  0  ' начальное значение суммы
For i =  1  To  9 
  If A(i) Mod  8  =  0  Then S = S + A(i):  'сумма и количество элементов кратных 8
Next i
Print "сумма элементов кратных 8="; S

этот кусок правильный, только убрал K = K + 1 т.к он здесь вообще вроде не к месту

а этот кусок запролняет массив?\
Код: plaintext
1.
2.
3.
4.
5.
6.
    Print "ìàññèâ A:=";
    K =  1 
    For i =  1  To  9 
        If i Mod  8  <>  0  Then A(i) = -K Else A(i) = K
        Print A(i);
        K = K +  3 
    Next i

I Have Nine Lives You Have One Only
THINK!
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36405339
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Natashka1,

Ну я уж забоялся.... Вроде правильно.
А эксель у вас ставится или ворд? Можно в тамошнем VBA экспериментировать.
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36405351
.Михаил.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Natashka1
Dim A(1 To 9) As Integer
Print "массив A:=";
K = 1
For i = 1 To 9
If i Mod 8 <> 0 Then A(i) = -K Else A(i) = K
Print A(i);
K = K + 3
Next i
Print
S = 0 ' начальное значение суммы
K = 0
For i = 1 To 9
If A(i) Mod 8 = 0 Then S = S + A(i): K = K + 1 'сумма и количество элементов кратных 8
Next i
Print "сумма элементов кратных 8="; S

что тут исправить надо?
тут хоть что-нибудь правильное есть?
это Basic? в Basic используются ";"
Natashka1
это про вычисления в массиве суммы всех чисел, кратных 8

в принципе правильно, чуть поправил под Basic
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Dim A( 1  To  9 ) As Integer
Dim i As Integer
Dim k As Integer
Dim s As Integer
Print "массив A:="
k =  1 
For i =  1  To  9 
    If (i Mod  8 ) <>  0  Then A(i) = -k Else A(i) = k
    Print A(i)
    k = k +  3 
Next i
Print 'хз для чего это тут, может быть переход на след. строку
k =  0 : s =  0  ' начальное значение суммы
For i =  1  To  9 
    If (A(i) Mod  8 ) =  0  Then
        s = s + A(i)
        k = k +  1  'сумма и количество элементов кратных 8
    End If
Next i
Print "сумма элементов кратных 8=": Print s
результат у меня -16
ps: "странная" инициализация массива тут применена...
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36405425
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.Михаил.это Basic? в Basic используются ";"

Что вас смущает? ";" используются в команде Print как в Basic, так и в VB
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36405456
Natashka1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HandKot,

составьте программу вычисления среднего арифметического элементов с нечетным номерами.

это среднее арифметическое всех элементов массива
Dim a(1 To 9) As Integer
Randomize Timer
'a(i)=(-1 4 -7 10 -13 16 -19 21 -24)
For i = 1 To 9
a(i) = Rnd * (21 + 24) - 24
Print "a("; i; ")"; a(i)
Next i
Print
Sum = 0 'начальное значение суммы
k = 9
For i = 1 To 9
Sum = Sum + a(i)
sr = Sum / k ' среднее арифметическое элементов массива
Next i
Print "сумма всех элементов массва="; Sum
Print "среднее арифметическое элементов массива="; sr
а в какой строчке писать что среднее арифметическое нужно только для нечетных номеров?
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36405469
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Natashka1,

For i = 2 To 8 Step 2
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36405472
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ой, виноват НЕчетные

For i = 1 To 9 Step 2

ну и, разумеется, не k=9, а k=5
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36405477
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Natashka1,

Будьте так любезны, используйте SRC для оформления кода в сообщениях.
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36405491
Natashka1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot Shocker.Pro]Natashka1,

это как?
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36405505
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Natashka1,

Выделяете мышкой

Код: plaintext
нужный текст

и нажимаете кнопочку SRC
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36405803
Natashka1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

программа вычисления произведения четных элементов массива

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Private Sub Command7_Click()
Cls 
Dim a( 1  To  10 ) As Integer
Randomize Timer
Print " исходный массив а "
For i =  1  To  10  step  2 
a(i) = Rnd * ( 40  - (- 20 )) + (- 20 )
Print "a("; i; ")="; a(i)
Next i
ko =  0  
p =  1  
For i =  1  To  10 
If a(i) <=  0  Then p = p * a(i): ko = ko + a(i)
Next i
Print " произведение отрицательных элеметов ="; p
End Sub

правильно?
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36405823
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Так четных или отрицательных? - определитесь
2) При заполнении массива не надо перепрыгивать через 1 элемент - преподаватель не поймет
3) Не путайте четные элементы с элементами с четными номерами.
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36405833
Natashka1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

все не правильно в общем да
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36405854
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну не совсем уж так плохо. Я в Экселе тестю:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Sub nnn()
'Cls
Dim a( 1  To  10 ) As Integer
Randomize Timer
MsgBox " исходный массив а "
For i =  1  To  10  ' Step 2
a(i) = Rnd * ( 40  - (- 20 )) + (- 20 )
MsgBox "a(" & i & ")=" & a(i)
Next i
'ko = 0
p =  1 
For i =  1  To  10 
If a(i) <  0  Then p = p * a(i) ': ko = ko + a(i)
Next i
MsgBox " произведение отрицательных элеметов = " & p
End Sub
Зелёное лишнее (может Cls не лишнее, но в Экселе лишнее :) )
И вот это If a(i) < 0 ещё поменял
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36405858
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это был вопрос или утверждение?

Попробуйте не тырить примеры из чужого конспекта, а разобраться самостоятельно. А также, хотя бы прочитать свой пост и мой вопрос.
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36405863
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121Ну не совсем уж так плохо. Я в Экселе тестю:

Просили произведение четных.
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36405867
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотя в ТЗ такой задачи небыло
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36405872
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, то то я смотрю... но ведь в коде "произведение отрицательных элеметов", в общем и почти работает...
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36405907
Natashka1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

ничего другого не остается мне) я массивы вообще никак понять не могу
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36405923
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Natashka1Shocker.Pro,

ничего другого не остается мне) я массивы вообще никак понять не могу

У вас есть работающий код по вашему заданию. Спрашивайте, какая строка непонятна, будем разбирать. А "сделай за меня, а я даже вникать не хочу" - не катит.
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36405964
Natashka1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
Код: plaintext
1.
If a(i) <  0  Then p = p * a(i)
- это не понятно.

1)если a(i) равно нулю, тогда... ???
2)For i = 1 To 9 Step 2 это элементы с нечетными номерами?
3)For i = 1 To 8 Step 2 это элементы с четными номерами?
4)четные элементы как прописываются?
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36405991
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
If a(i) <  0  Then p = p * a(i) 
вот это как раз и есть - если значение элемента массива с номером i меньше нуля, то умножаем p (которое изначально 1) на него, в итоге получаем " произведение отрицательных элеметов = " & p
Я заменил <= на = именно потому, что 0 вроде не отрицательное (давно было, не помню уже...)
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36406005
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Другое дело

Natashka1
Код: plaintext
1.
If a(i) <  0  Then p = p * a(i)
- это не понятно.

1)если a(i) равно нулю, тогда... ???

тогда условие не выполнится и произведение этого элемента считаться не будет

Natashka12)For i = 1 To 9 Step 2 это элементы с нечетными номерами?

верно, цикл пройдется по номерам 1, 3, 5, 7, 9

Natashka13)For i = 1 To 8 Step 2 это элементы с четными номерами?

неверно. Первый четный номер - это 2
поэтому надо написать
For i = 2 To 8 Step 2

тогда цикл пройдет по 2, 4, 6, 8

Natashka14)четные элементы как прописываются?

Куда прописываются? Если я правильно понимаю ваше ТЗ, четные элементы - это просто четные числа в массиве. То есть если массив заполнен числами 3,5,16,19,-15, то четным будет только третий элемент - число 16.

Поэтому я и обратил ваше внимание - не путайте элементы с четными номерами и четные элементы.
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36406023
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
<= на <
:)
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36406026
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121<= на <
:)

Ага, я тоже не понял твой ответ.

А ноль - не отрицательное число по определению, ибо он - не меньше нуля
http://ru.wikipedia.org/wiki/%D0%9E%D1%82%D1%80%D0%B8%D1%86%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D1%87%D0%B8%D1%81%D0%BB%D0%B0
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36406097
Natashka1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

составить программу вычисления в массиве минимального среди положительных элементов и его номера.

Код: plaintext
1.
2.
3.
min= 0 
for i= 1  to  9  
if a(min)>a(i) then min=i
next i

это как я понимаю он найдет минимальное число из массива, и его номер. а как сделать что бы он нашел это минимальное число именно из положительных?
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36406106
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто два условия надо:
Код: plaintext
if a(min)>a(i) and a(i)> 0  then

и еще - некорректная строка
Код: plaintext
min= 0 

подумайте - почему?
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36406123
Natashka1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

потому что 0 не отрицательное число, поэтому и минимум среди положительных элементов должен быть больше 0?
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36406127
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Natashka1Shocker.Pro,

потому что 0 не отрицательное число, поэтому и минимум среди положительных элементов должен быть больше 0?

Неверно. Переменная min выступает у вас как ИНДЕКС ЭЛЕМЕНТА МАССИВА. А не САМО минимальное значение.
Чему будет у вас равен a(min) при первом проходе цикла?
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36406197
Natashka1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

я не знаю (((
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36406267
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Natashka1Shocker.Pro,

я не знаю (((

min=0
a(min) - это a(0)

а так как вы определили массив с элементами от a(1) до a(9), значит a(0) не существует, то есть программа не будет работать (возникнет ошибка на этой строке)
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36406367
Natashka1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hugo121,

составить программу обмена в массиве первого отрицательного и максимального элементов
как это задание понять? они местами поменяться должны что ли?
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36406372
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Natashka1составить программу обмена в массиве первого отрицательного и максимального элементов
как это задание понять? они местами поменяться должны что ли?

Ну да. Надо найти максимальный элемент и первый отрицательный элемент и поменять их местами.

Не забудьте выдать ошибку, если отрицательный элемент не будет найден.
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36406377
Natashka1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,


Составьте программу объмена в массиве первого отрицательного и максимального элементов
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Private Sub Command11_Click()
Cls ' очистить форму
Dim a( 1  To  11 ) As Integer
Randomize Timer
a=( 2 ,  18 , 11 , 17 , 13 ,- 5 ,- 14 ,- 13 , 4 , 19 )
Print "исходный массив"
For i =  1  To  11 
a(i) = Rnd * ( 20 -( 15 )) + (- 15 )
Print "a("; i; ")="; a(i)
Next i
d = a( 6 )
a( 6 ) = a( 2 )
a( 2 ) = d
Print "массив после перестановки"
For i =  1  To  11 
Print "a("; i; ")="; a(i)
Next i
End Sub
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36406380
Natashka1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Natashka1,

не правильно чуть-чуть

Составьте программу объмена в массиве первого отрицательного и максимального элементов
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Private Sub Command11_Click()
Cls ' очистить форму
Dim a( 1  To  10 ) As Integer
Randomize Timer
a=( 2 ,  18 , 11 , 17 , 13 ,- 5 ,- 14 ,- 13 , 4 , 19 )
Print "исходный массив"
For i =  1  To  11 
a(i) = Rnd * ( 20 -( 15 )) + (- 15 )
Print "a("; i; ")="; a(i)
Next i
d = a( 6 )
a( 6 ) = a( 2 )
a( 2 ) = d
Print "массив после перестановки"
For i =  1  To  10 
Print "a("; i; ")="; a(i)
Next i
End Sub

так будет?
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36406386
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
допустим.

Вопросы:
1) Для чего нужна строка:
a=(2, 18,11,17,13,-5,-14,-13,4,19)
2) Почему массив от 1 до 10, а цикл от 1 до 11?

Но главное:
3) почему вы считаете, что именно 6 и 2 - необходимые вам элементы
их надо найти, я думаю
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36406397
Natashka1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

1) мы всегда на парах пишем...
'a=(2, 18,11,17,13,-5,-14,-13,4,19)
2) for i=1 To 10
3) ну потому что а(2)-это максимальный элемент; а(6)-это первый отрицательный элемент
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36406400
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Natashka11) мы всегда на парах пишем...
'a=(2, 18,11,17,13,-5,-14,-13,4,19)

Небо синее не потому что я вам это сказал, а по другим причинам. Хоть бы пытались понимать, что именно вы пишете.

Эта строка бессмысленна в данном контексте, так как потом вы заполняете массив случайными данными:
a(i) = Rnd * (20-(15)) + (-15)

Natashka13) ну потому что а(2)-это максимальный элемент; а(6)-это первый отрицательный элемент

Это не так, потому что вы заполняете массив случайными цифрами и не можете заранее знать, какие элементы будут какие значения иметь.
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36406418
Natashka1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

как же это сложно все, я делаю так как мы на практике пишем.
может что бы он постоянным был через array надо?

Составьте программу объмена в массиве первого отрицательного и максимального элементов
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Private Sub Command11_Click()
Cls ' очистить форму
Dim a( 1  To  10 ) As Integer
Array
Print "исходный массив"
For i =  1  To  10 
A = Array( 2 ,  18 , 11 , 17 , 13 ,- 5 ,- 14 ,- 13 , 4 , 19 )
a(i) = Rnd * ( 20 -( 15 )) + (- 15 )
Print "a("; i; ")="; a(i)
Next i
d = a( 6 )
a( 6 ) = a( 2 )
a( 2 ) = d
Print "массив после перестановки"
For i =  1  To  11 
Print "a("; i; ")="; a(i)
Next i
End Sub
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36406420
Natashka1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Natashka1,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Private Sub Command11_Click()
Cls ' очистить форму
Dim a( 1  To  10 ) As Integer
Array
Print "исходный массив"
A = Array( 2 ,  18 , 11 , 17 , 13 ,- 5 ,- 14 ,- 13 , 4 , 19 )
For i =  1  To  10 
a(i) = Rnd * ( 20 -( 15 )) + (- 15 )
Print "a("; i; ")="; a(i)
Next i
d = a( 6 )
a( 6 ) = a( 2 )
a( 2 ) = d
Print "массив после перестановки"
For i =  1  To  10 
Print "a("; i; ")="; a(i)
Next i
End Sub

вот так правильно?
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36406426
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неправильно, вы все равно пытаетесь переставить местами второй и шестой элемент местами. А надо первый отрицательный и максимальный.

а строка
A = Array(2, 18,11,17,13,-5,-14,-13,4,19)
НИ НА ЧТО не влияет, поэтому я вас и спросил, зачем она там? Вы можете ее убрать и ничего не изменится.
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36406429
Natashka1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

все равно ничего не поняла, спасибо хоть на за что раньше делали)) главное чтоб на экзамене мне эти массивы не попались))
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36406739
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня VB нет, так что синтаксис Экселевский:

Составьте программу обмена в массиве первого отрицательного и максимального элементов

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Sub swapel()
Dim a( 1  To  10 ) As Integer ' инициализируем массив в 10 элементов
firstmin =  0  'детектор отрицательных чисел
Randomize Timer ' инициализирует датчик случайных чисел. 
For i =  1  To  10 
    a(i) = Rnd * ( 20  - (- 15 )) + (- 15 ) ' тут чуть подправил
    If firstmin =  0  Then If a(i) <  0  Then firstmin = i 'ловим первое отрицательное, запоминаем адрес
    If a(i) > temp Then temp = a(i): maks = i 'собираем максимальные, запоминаем адрес (изначально temp = Empty)
    'максимальных может быть не одно значение, запоминаем первое
    MsgBox "Исходный массив: a(" & i & ") = " & a(i)
Next i
If firstmin =  0  Then MsgBox "Нет отрицательных чисел!": Exit Sub 'если так и не появилось отрицательное
d = a(firstmin)
a(firstmin) = a(maks)
a(maks) = d
For i =  1  To  10 
    MsgBox "Массив после перестановки: a(" & i & ") = " & a(i)
Next i
End Sub

Ну вроде всё непонятное расписал...
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36406849
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ещё такой вариант может пригодится, без жесткого размера массива:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Option Base  1 
Sub swapel()
Dim a() As Integer ' инициализируем массив
SourceNumberStr = InputBox("Введите размер массива, целое (желательно небольшое) число ", "Введите число", "10")
SourceNumber = Val(SourceNumberStr)
ReDim Preserve a(SourceNumber)
firstmin =  0  'детектор отрицательных чисел
Randomize Timer ' инициализирует датчик случайных чисел.
For i = LBound(a) To UBound(a)
    a(i) = Rnd * ( 40  - (- 20 )) + (- 20 ) ' тут чуть подправил
    If firstmin =  0  Then If a(i) <  0  Then firstmin = i 'ловим первое отрицательное, запоминаем адрес
    If a(i) > temp Then temp = a(i): maks = i 'собираем максимальные, запоминаем адрес (изначально temp = Empty)
    'максимальных может быть не одно значение, запоминаем первое
    MsgBox "Исходный массив: a(" & i & ") = " & a(i)
Next i
If firstmin =  0  Then MsgBox "Нет отрицательных чисел!": Exit Sub 'если так и не появилось отрицательное
d = a(firstmin)
a(firstmin) = a(maks)
a(maks) = d
For i = LBound(a) To UBound(a)
    MsgBox "Массив после перестановки: a(" & i & ") = " & a(i)
Next i
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36406903
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121 , Shocker.Pro

Пять баллов!

Hugo121У меня VB нет, так что синтаксис Экселевский:
Я немного критикну структуру процедуры:
я тоже бы сложил все в один цикл, так проще, быстрее и оптимальнее с моей точки зрения и не только , но ТС
начинающий программист и ей может быть сложно выделить что для какого этапа важно. Поэтому я взял на себя смелость и
немного по другому расположил код:
Код: plaintext
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.
32.
33.
34.
35.
36.
Sub swapel()
Dim a( 1  To  10 ) As Integer ' инициализируем массив в 10 элементов
firstmin =  0  'детектор отрицательных чисел
Randomize Timer ' инициализирует датчик случайных чисел.
'Цикл просто заполняет случайными числами массив
For i =  1  To  10 
    a(i) = Rnd * ( 20  - (- 15 )) + (- 15 ) ' тут чуть подправил
    MsgBox "Исходный массив: a(" & i & ") = " & a(i)
Next i
' Это цикл находит индекс первого отрицательно значения в массиве
For i =  1  To  10 
    If a(i) <  0  Then
        firstmin = i 'ловим первое отрицательное, запоминаем адрес
        Exit For ' Дальше проверять массив не имеет смысла, нашли нужный элемент
    End If
Next i
' Это цикл находит максимальное значение в массиве
' Здесь просматривать нужно весь массив, в отличие от предыдущего цикла
For i =  1  To  10 
    If a(i) > temp Then
    'максимальных может быть не одно значение, запоминаем первое
    ' из-за строгого больше в условии проверки.
        temp = a(i)
        maks = i 'собираем максимальные, запоминаем адрес (изначально temp = Empty)
    End If
Next i
If firstmin =  0  Then
    MsgBox "Нет отрицательных чисел!" 'если так и не появилось отрицательное
Else
    d = a(firstmin)
    a(firstmin) = a(maks)
    a(maks) = d
    For i =  1  To  10 
        MsgBox "Массив после перестановки: a(" & i & ") = " & a(i)
    Next i
End If
End Sub


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36406989
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь ГорбоносПять баллов!
Осмелюсь спросить - за что? :)

Игорь ГорбоносТС начинающий программист и ей может быть сложно выделить что для какого этапа важно.

У нее отсутствует желание понять хоть что либо, кроме того, как мелким шрифтом распечатать шпаргалку. Так что что Хуговский код, что твой - для нее просто набор непонятных буковок.
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36407033
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я надеюсь, что не только она эти коды смотрела - 168 просмотров на сейчас, так что кому-нибудь да пригодится. Я тоже долго в массивы врубиться не мог, мало доступных и понятных материалов в сети, вот только на форуме и объяснили (правда, тогда на другом :) )
...
Рейтинг: 0 / 0
помогите пожалуйста
    #36407085
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProИгорь ГорбоносПять баллов!Осмелюсь спросить - за что? :)

За терпение

Shocker.Pro

Может ты и прав, НО!!! Я в школе не понимал химию и поэтому её не любил. Мне казалось что химия сравни шаманству, что-то
налил, помешал, долил ещё что-то и пролучил Х. его З. что. не то что физика. При этом из компьютерного класса не вылазил
и не понимал других, которые приходили и боялись дотронутся до клавиатуры, я думал - как можно боятся и не понимать,
ведь все так просто. Потом в институте, неорганическая химия, стала моим любимым предметом. Оказывается там все так
просто и логично, как в физике. Просто в школе у меня не было логически связанных данных по химии. Были неупорядоченные
обрывки, которые и давали мое не знание.

Поэтому, каждый раз помогая новичку наподобии ТС, я стараюсь "разжевать" свою помощь. А списывать, ТС, сейчас! будет в
любом случае. Потому что на все нужно время, особенно на качественное преобразование количества информации в качество.

З.Ы. Поищи и почитай на фокспрошном форуме ответы ВладимирМ .

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
55 сообщений из 55, показаны все 3 страниц
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / помогите пожалуйста
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]