powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / помогите пожалуйста
25 сообщений из 55, страница 2 из 3
помогите пожалуйста
    #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
25 сообщений из 55, страница 2 из 3
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / помогите пожалуйста
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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