powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Задание VBA, 1й курс
22 сообщений из 22, страница 1 из 1
Задание VBA, 1й курс
    #37036206
FridGe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите пожалуйста решить на vba в Excel 2 программы..
Программы:
№1. Найти минимальный элемент и присвоить его значение элементу с номером (N - 3), а вместо минимального элемента записать число 101.
№2. Сформировать массив из элементов исходных массивов, непревышающих сумму первых элементов исходных массивов.

Буду очень и очень благодарен..
...
Рейтинг: 0 / 0
Задание VBA, 1й курс
    #37036214
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FridGeПомогите пожалуйста......или сделайте за меня?
...
Рейтинг: 0 / 0
Задание VBA, 1й курс
    #37036243
FridGe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разница не большая, но всё же помогите пожалуйста, если б на програмера учился, тогда ладно, а то так же..
...
Рейтинг: 0 / 0
Задание VBA, 1й курс
    #37036251
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FridGeРазница не большая, но всё же помогите пожалуйста тогда показывайте, что уже получилось, что не получается и задавайте конкретные вопросы.

ЗЫ: Может математику тоже не надо изучать, не на математика же учитесь? И сигналы светофора тоже не надо знать, если машину не водите?
...
Рейтинг: 0 / 0
Задание VBA, 1й курс
    #37036287
FridGe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Получилось вот что, но я так понимаю что это не правильно, не могли бы вы исправить..
Sub Cours1()
Dim a(3, 10) As Integer
Randomize
s = "Исходные массивы: " & Chr(10)
For j = 1 To 3
a(j, 0) = 1
For i = 1 To 10
a(j, i) = Rnd() * 999 + 1
If a(j, i) < a(j, a(j, 0)) Then a(j, 0) = i
s = s & Format(a(j, i), "00#") & " "
Next
s = s & Chr(10)
Next
s = s & Chr(10) & "Минимальные элементы в 3-й позиции, вместо их 101:" & Chr(10)
For j = 1 To 3
a(j, 3) = a(j, a(j, 0))
a(j, a(j, 0)) = 101
For i = 1 To 10
s = s & Format(a(j, i), "00#") & " "
Next
s = s & Chr(10)
Next
End Sub



Sub Cours1()
Dim a(3, 10) As Integer
Randomize
s = "Исходные массивы: " & Chr(10)
For j = 1 To 3
a(j, 0) = 1
For i = 1 To 10
a(j, i) = Rnd() * 999 + 1
If a(j, i) < a(j, a(j, 0)) Then a(j, 0) = i
s = s & Format(a(j, i), "00#") & " "
s = s & Chr(10) & "Массив из элементов, которые больше суммы минимальных = " _
& a(1, 3) & " + " & a(2, 3) & " + " & a(3, 3) & " = " & a(1, 3) + a(2, 3) + a(3, 3) & Chr(10)
For j = 1 To 3
For i = 1 To 10
If a(j, i) > a(1, 3) + a(2, 3) + a(3, 3) Then s = s & Format(a(j, i), "00#") & " "
Next
Next
MsgBox s
End Sub
...
Рейтинг: 0 / 0
Задание VBA, 1й курс
    #37036304
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для начала читаем правила форума и учимся оформлять код в посте:
Код: 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.
37.
38.
39.
40.
41.
42.
43.
44.
Sub Cours1()
  Dim a( 3 ,  10 ) As Integer
  Randomize
  s = "Исходные массивы: " & Chr( 10 )
  For j =  1  To  3 
    a(j,  0 ) =  1 
    For i =  1  To  10 
      a(j, i) = Rnd() *  999  +  1 
      If a(j, i) < a(j, a(j,  0 )) Then a(j,  0 ) = i
      s = s & Format(a(j, i), "00#") & " "
    Next
    s = s & Chr( 10 )
  Next
  s = s & Chr( 10 ) & "Минимальные элементы в 3-й позиции, вместо их 101:" & Chr( 10 )
  For j =  1  To  3 
    a(j,  3 ) = a(j, a(j,  0 ))
    a(j, a(j,  0 )) =  101 
    For i =  1  To  10 
      s = s & Format(a(j, i), "00#") & " "
    Next
    s = s & Chr( 10 )
  Next
End Sub



Sub Cours1()
  Dim a( 3 ,  10 ) As Integer
  Randomize
  s = "Исходные массивы: " & Chr( 10 )
  For j =  1  To  3 
    a(j,  0 ) =  1 
    For i =  1  To  10 
      a(j, i) = Rnd() *  999  +  1 
      If a(j, i) < a(j, a(j,  0 )) Then a(j,  0 ) = i
      s = s & Format(a(j, i), "00#") & " "
s = s & Chr( 10 ) & "Массив из элементов, которые больше суммы минимальных = " _
  & a( 1 ,  3 ) & " + " & a( 2 ,  3 ) & " + " & a( 3 ,  3 ) & " = " & a( 1 ,  3 ) + a( 2 ,  3 ) + a( 3 ,  3 ) & Chr( 10 )
  For j =  1  To  3 
    For i =  1  To  10 
      If a(j, i) > a( 1 ,  3 ) + a( 2 ,  3 ) + a( 3 ,  3 ) Then s = s & Format(a(j, i), "00#") & " "
    Next
  Next
  MsgBox s
End Sub
...
Рейтинг: 0 / 0
Задание VBA, 1й курс
    #37036308
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FridGe№1. Найти минимальный элемент и присвоить его значение элементу с номером (N - 3), а вместо минимального элемента записать число 101.
Сколько измерений должно быть в этом массиве?
Сколько измерений в массиве из первого фрагмента кода?

Вы просто наобум взяли какой-то код из учебника?
...
Рейтинг: 0 / 0
Задание VBA, 1й курс
    #37036317
bac
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FridGe,

По первому заданию - почему же массив двумерный. В задании определен одномерный массив
...
Рейтинг: 0 / 0
Задание VBA, 1й курс
    #37036319
FridGe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я без понятия, как сделать, почему и обратился..

Дали следующие задания без уточнений и все

№1. Найти минимальный элемент и присвоить его значение элементу с номером (N - 3), а вместо минимального элемента записать число 101.
№2. Сформировать массив из элементов исходных массивов, непревышающих сумму первых элементов исходных массивов.

Позарез нужно, что бы допустили и не отчислили..
...
Рейтинг: 0 / 0
Задание VBA, 1й курс
    #37036323
FridGe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: 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.
37.
38.
39.
40.
41.
42.
43.
44.
45.
Sub Cours1_1()
  Dim a( 3 ,  10 ) As Integer
  Randomize
  s = "Исходные массивы: " & Chr( 10 )
  For j =  1  To  3 
    a(j,  0 ) =  1 
    For i =  1  To  10 
      a(j, i) = Rnd() *  999  +  1 
      If a(j, i) < a(j, a(j,  0 )) Then a(j,  0 ) = i
      s = s & Format(a(j, i), "00#") & " "
    Next
    s = s & Chr( 10 )
  Next
  s = s & Chr( 10 ) & "Минимальные элементы в 3-й позиции, вместо их 101:" & Chr( 10 )
  For j =  1  To  3 
    a(j,  3 ) = a(j, a(j,  0 ))
    a(j, a(j,  0 )) =  101 
    For i =  1  To  10 
      s = s & Format(a(j, i), "00#") & " "
    Next
    s = s & Chr( 10 )
  Next
  MsgBox s
End Sub

Sub Cours1_2()
  Dim a( 3 ,  10 ) As Integer
  Randomize
  s = "Исходные массивы: " & Chr( 10 )
  For j =  1  To  3 
    a(j,  0 ) =  1 
    For i =  1  To  10 
      a(j, i) = Rnd() *  999  +  1 
      s = s & Format(a(j, i), "00#") & " "
    Next
    s = s & Chr( 10 )
  Next
  s = s & Chr( 10 ) & "Массив из элементов, которые меньше суммы первых элементов = " _
  & a( 1 ,  1 ) & " + " & a( 2 ,  1 ) & " + " & a( 3 ,  1 ) & " = " & a( 1 ,  1 ) + a( 2 ,  1 ) + a( 3 ,  1 ) & Chr( 10 )
  For j =  1  To  3 
    For i =  1  To  10 
      If a(j, i) < a( 1 ,  1 ) + a( 2 ,  1 ) + a( 3 ,  1 ) Then s = s & Format(a(j, i), "00#") & " "
    Next
  Next
  MsgBox s
End Sub

Так правильно смотря на условия?
...
Рейтинг: 0 / 0
Задание VBA, 1й курс
    #37036339
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FridGeПозарез нужно, что бы допустили и не отчислили..ну то есть гоняем балду семестр, а в последний момент прибегаем, кто бы помог. Или в "Работу" и за деньги, или ждем доброго самаритянина, кому не чужды проблемы студентов, которым лень учиться, порой за собственные же деньги.
...
Рейтинг: 0 / 0
Задание VBA, 1й курс
    #37036481
FridGe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё же правильный код или нет?
...
Рейтинг: 0 / 0
Задание VBA, 1й курс
    #37036487
FridGe,
код не правильный. Лажа с гарницами массивов.

Практика - критерий истины.(с)
...
Рейтинг: 0 / 0
Задание VBA, 1й курс
    #37036554
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мальчики... девочки.... Правильный... неправильный... он к заданию отношения не имеет.
...
Рейтинг: 0 / 0
Задание VBA, 1й курс
    #37036767
Быдло__кодер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторБуду очень и очень благодарен..
200 WMR - сделаю на завтра. Мыло в профиле
...
Рейтинг: 0 / 0
Задание VBA, 1й курс
    #37036867
FridGe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Быдло__кодер,

За 200wmr ничего не лопнет?
...
Рейтинг: 0 / 0
Задание VBA, 1й курс
    #37036874
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FridGeЗа 200wmr ничего не лопнет?
а ты в своем вузе стипендию получаешь или сам за учебу платишь?
...
Рейтинг: 0 / 0
Задание VBA, 1й курс
    #37037394
FridGe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я так понимаю, что мне здесь никто не поможет..
...
Рейтинг: 0 / 0
Задание VBA, 1й курс
    #37037415
FridGe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да и в принципе 1ая задача решена точно правильно...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Sub Cours1_1()
  Dim a( 3 ,  10 ) As Integer
  Randomize
  s = "Исходные массивы: " & Chr( 10 )
  For j =  1  To  1 
    a(j,  0 ) =  1 
    For i =  1  To  10 
      a(j, i) = Rnd() *  999  +  1 
      If a(j, i) < a(j, a(j,  0 )) Then a(j,  0 ) = i
      s = s & Format(a(j, i), "00#") & " "
    Next
    s = s & Chr( 10 )
  Next
  s = s & Chr( 10 ) & "Минимальные элементы в 3-й позиции, вместо их 101:" & Chr( 10 )
  For j =  1  To  1 
    a(j,  3 ) = a(j, a(j,  0 ))
    a(j, a(j,  0 )) =  101 
    For i =  1  To  10 
      s = s & Format(a(j, i), "00#") & " "
    Next
    s = s & Chr( 10 )
  Next
  MsgBox s
End Sub

Да и вторая задача тоже в принципе решена правильно, только что без границ массива..

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Sub Cours1_2()
  Dim a( 3 ,  10 ) As Integer
  Randomize
  s = "Исходные массивы: " & Chr( 10 )
  For j =  1  To  3 
    a(j,  0 ) =  1 
    For i =  1  To  10 
      a(j, i) = Rnd() *  999  +  1 
      s = s & Format(a(j, i), "00#") & " "
    Next
    s = s & Chr( 10 )
  Next
  s = s & Chr( 10 ) & "Массив из элементов, которые меньше суммы первых элементов = " _
  & a( 1 ,  1 ) & " + " & a( 2 ,  1 ) & " + " & a( 3 ,  1 ) & " = " & a( 1 ,  1 ) + a( 2 ,  1 ) + a( 3 ,  1 ) & Chr( 10 )
  For j =  1  To  3 
    For i =  1  To  10 
      If a(j, i) < a( 1 ,  1 ) + a( 2 ,  1 ) + a( 3 ,  1 ) Then s = s & Format(a(j, i), "00#") & " "
    Next
  Next
  MsgBox s
End Sub

Если нет, поправьте меня..
...
Рейтинг: 0 / 0
Задание VBA, 1й курс
    #37037531
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FridGeДа и в принципе 1ая задача решена точно правильно...
Еще раз: в задании массив одномерный. В решении массив двумерный.
А видя такие конструкции:
Код: plaintext
For j =  1  To  1 
нет желания рассматривать его подробнее
...
Рейтинг: 0 / 0
Задание VBA, 1й курс
    #37038007
FridGeДа и в принципе 1ая задача решена точно правильно...
дело-то не в принципе, а в решении. Что мешало проверить Ваше "в принципе правильное решение" в Excel?...
Код: 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.
37.
38.
39.
40.
Option Base  1  ' нижняя граница массивов=1, если не задавать, то 0

Sub Cours1_1()
'  Dim a(3,10) As Integer 'долой излишества!
  Dim a( 10 ) As Integer  
  Dim s As String
  Dim a0 as Integer
  Dim i as Integer
  Randomize
'  s = "Исходные массивы: " & Chr(10)
  s = "Исходный массив: " & Chr( 10 )
'  For j = 1 To 1
'    a(0) = 1 ' результат плохо отсканированного текста?
    a0 =  1 	
    For i =  1  To  10 
'      a(j, i) = Rnd() * 999 + 1
      a(i) = Rnd() *  999  +  1 		
'      If a(j, i) < a(j, a(j, 0)) Then a(j, 0) = i
      If a(i) < a(a0) Then a0 = i
'      s = s & Format(a(j, i), "00#") & " "
      s = s & Format(a(i), "000 ")
    Next
    s = s & Chr( 10 )
'  Next
'  s = s & Chr(10) & "Минимальные элементы в 3-й позиции, вместо их 101:" & Chr(10)
  s = s & Chr( 10 ) & "Минимальный элемент в 3-й позиции, вместо него 101:" & Chr( 10 )
'  For j = 1 To 1
'    a(j, 3) = a(j, a(j, 0))
    a( 3 ) = a(a0)
'    a(j, a(j, 0)) = 101
    a(a0) =  101 
    For i =  1  To  10 
'      s = s & Format(a(j, i), "00#") & " "
      s = s & Format(a(i), "000 ")
    Next
    s = s & Chr( 10 )
'  Next
  MsgBox s
' ЗЫ: определять минимальное значение массива при формировании последнего - читерство.
' ЗЗЫ: а _метод_, в принципе, правильный
End Sub
...
Рейтинг: 0 / 0
Задание VBA, 1й курс
    #37038019
FridGeДа и вторая задача тоже в принципе решена правильно, только что без границ массива..
Без границ, так без границВ задании:
№2. Сформировать ..., непревышающих сумму первых элементов исходных массивов.

В Вашем(?) в решении :
s = s & Chr(10) & "Массив из элементов, которые меньше суммы первых элементов = "
...
If a(j, i) < a(1, 1) + a(2, 1) + a(3, 1) Then s = s & Format(a(j, i), "00#") & " "

ЗЫ: повторюсь. Что мешает Вам вставить Ваше решение в Excel и запустить?
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Задание VBA, 1й курс
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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