Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2010, 18:08   #11
FridGe
Пользователь
 
Регистрация: 26.12.2010
Сообщений: 10
По умолчанию

Удалено...

Последний раз редактировалось FridGe; 26.12.2010 в 19:28.
FridGe вне форума Ответить с цитированием
Старый 26.12.2010, 19:23   #12
FridGe
Пользователь
 
Регистрация: 26.12.2010
Сообщений: 10
По умолчанию

Извините за мою глупость..

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

№1
Код:
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
№2
Код:
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
Правильно ли решены?

Последний раз редактировалось FridGe; 26.12.2010 в 19:48.
FridGe вне форума Ответить с цитированием
Старый 26.12.2010, 20:01   #13
FridGe
Пользователь
 
Регистрация: 26.12.2010
Сообщений: 10
По умолчанию

Помогите пожалуйста, что то запускаю их, и 0 на массу..
FridGe вне форума Ответить с цитированием
Старый 26.12.2010, 22:36   #14
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

проблема 1 - у Вас две процедуры с одинаковыми именами - так низзя
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 26.12.2010, 22:53   #15
FridGe
Пользователь
 
Регистрация: 26.12.2010
Сообщений: 10
По умолчанию

А как по другому, то я уже не понимаю, не могли бы вы отредактировать эти 2 задачи что бы они стали правильными..
FridGe вне форума Ответить с цитированием
Старый 26.12.2010, 23:28   #16
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
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
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 27.12.2010, 12:26   #17
FridGe
Пользователь
 
Регистрация: 26.12.2010
Сообщений: 10
По умолчанию

Код вообще с заданием то связан? И как на счет границ с масивом?
FridGe вне форума Ответить с цитированием
Старый 27.12.2010, 13:43   #18
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

а) я Вам лично ничего не задолжал
б) Cours1_1() решает задачу 1, даже с некоторым перевыполнением (формирует 3 исходных массива, находит в каждом минимальный элемент, подставляет его в 3-ю позицию, а вместо минимального ставит 101, отображает в окне сообщений исходные и подправленные массивы)
замените For j = 1 To 3 на For j = 1 To 1 - и будет Вам одим массив.
в) Cours1_2() решает задачу 2
Цитата:
И как на счет границ с масивом?
я за массивы без границ. это моя принципиальная гражданская позиция. и с нее я не сойду.
Успехов в учебе и личной жизни.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 27.12.2010, 16:49   #19
FridGe
Пользователь
 
Регистрация: 26.12.2010
Сообщений: 10
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
а) я Вам лично ничего не задолжал
б) Cours1_1() решает задачу 1, даже с некоторым перевыполнением (формирует 3 исходных массива, находит в каждом минимальный элемент, подставляет его в 3-ю позицию, а вместо минимального ставит 101, отображает в окне сообщений исходные и подправленные массивы)
замените For j = 1 To 3 на For j = 1 To 1 - и будет Вам одим массив.
в) Cours1_2() решает задачу 2
я за массивы без границ. это моя принципиальная гражданская позиция. и с нее я не сойду.
Успехов в учебе и личной жизни.
Огромнейшее спасибо за помощь, просто несказанно выручили..!!
FridGe вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задание по программированию на VBA для MS Excel pi9lvo4ka Помощь студентам 0 16.12.2010 00:54
4 курс komar1991 Помощь студентам 7 18.09.2010 13:37
Задание на Excel c применением VBA rafaiil Помощь студентам 11 13.05.2009 00:32