Другие языки программирования и технологии
Помогите решить задачи в Visual Basic 6.0
1. На плоскости заданы своими координатами n точек. Составить программу, определяющую между какими из пар точек самое большое расстояние. Указание: координаты точек занести в массив. 2. Два натуральных числа называются «дружественными», если каждое из них равно сумме всех делителей (кроме его самого) другого (например, числа 220 и 284). Найти все пары «дружественных чисел», которые не больше данного числа N. 3. В трех колхозах выращивают некоторые сельскохозяйственные культуры из имеющегося перечня. Определить культуры, возделываемые во всех колхозах; возделываемые хотя бы в одном колхозе; только в двух колхозах.
1) Просто
Dim n As Integer, i As Integer, Max As Double, S As Double
n = Val (InputBox (n))
Dim A(n, 2) As Double
For i = 1 To n
A(i, 1) = Val (InputBox (x))
A(i, 2) = Val (InputBox (y))
Next i
Max = 0
For i = 1 To n - 1
For j = i + 1 To n
S = Sqr ((A(j, 1) - A(i, 1))^2 + (A(j, 2) - A(i, 2))^2)
If S > Max Then Max = S
Next j
Next i
MsgBox (Max)
End
2 и 3 не знаю. Могу только алгоритмы прикинуть.
2)
1. Берем число a1 = 3.
2. Раскладываем число a1 на множители. Находим их сумму S1. Проверяем, что S1 <= N
3. Берем эту сумму в качестве второго числа, a2 = S1, раскладываем на множители. Находим их сумму S2.
4. Если S2 = a1, то выводим пару чисел - они дружественные
5. Прибавляем a1 = a1 + 1, проверяем, что оно меньше N, и возвращаемся на п. 2
6. Достигаем N, заканчиваем программу.
7. Всё.
Но раскладывать числа на множители - это очень муторная задача.
3)
1. Берём культуру из перечня (массив А1).
2. В цикле проверяем её по всем колхозам.
3.1. Если она есть во всех колхозах, она попадает в массив В1
3.2. Если она есть хотя бы в одном колхозе, она попадает в массив В2
3.3. Если она есть ровно в двух колхозах, она попадает в массив В3
4. Переходим к следующей культуре и возвращаемся к п. 1.
5. Если культуры кончились, заканчиваем программу.
6. Всё.
Dim n As Integer, i As Integer, Max As Double, S As Double
n = Val (InputBox (n))
Dim A(n, 2) As Double
For i = 1 To n
A(i, 1) = Val (InputBox (x))
A(i, 2) = Val (InputBox (y))
Next i
Max = 0
For i = 1 To n - 1
For j = i + 1 To n
S = Sqr ((A(j, 1) - A(i, 1))^2 + (A(j, 2) - A(i, 2))^2)
If S > Max Then Max = S
Next j
Next i
MsgBox (Max)
End
2 и 3 не знаю. Могу только алгоритмы прикинуть.
2)
1. Берем число a1 = 3.
2. Раскладываем число a1 на множители. Находим их сумму S1. Проверяем, что S1 <= N
3. Берем эту сумму в качестве второго числа, a2 = S1, раскладываем на множители. Находим их сумму S2.
4. Если S2 = a1, то выводим пару чисел - они дружественные
5. Прибавляем a1 = a1 + 1, проверяем, что оно меньше N, и возвращаемся на п. 2
6. Достигаем N, заканчиваем программу.
7. Всё.
Но раскладывать числа на множители - это очень муторная задача.
3)
1. Берём культуру из перечня (массив А1).
2. В цикле проверяем её по всем колхозам.
3.1. Если она есть во всех колхозах, она попадает в массив В1
3.2. Если она есть хотя бы в одном колхозе, она попадает в массив В2
3.3. Если она есть ровно в двух колхозах, она попадает в массив В3
4. Переходим к следующей культуре и возвращаемся к п. 1.
5. Если культуры кончились, заканчиваем программу.
6. Всё.
Похожие вопросы
- Помогите решить задачи в Visual Basic!!
- Помогите кретину! Знаю только Visual Basic 6.0
- Уважаемые программисты, помогите (MS Visual Basic 6.0)
- люди подскажите где скачать учебник по visual basic 6.0 плизз (плиз прямую ссылку)
- Visual Basic 6.0. Как изменить значение Left=0 так, чтобы имелась ввиду правая сторона экрана, а не левая ?
- у меня вопроскакого вида программы можно прописать с помощью visual basic 6.0&
- возможно настроить в visual basic 6.0 поддержку access 2003 ??
- Кто-нибудь знает, как запустить wav-файл из программы написанной на Visual Basic 6.0?
- Как удалить строку из файла (Visual Basic 6.0)
- А можно ли зарабатывать зная всего лишь Visual Basic 6.0