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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 21.10.2018, 11:15   #1
Dimoon
Новичок
Джуниор
 
Регистрация: 21.10.2018
Сообщений: 4
По умолчанию Доработать программу

Помогите доделать программу, вот ее условие: Натуральные числа а, b, с называются числами Пифагора, если выполняется
условие a^2 + b^2 = c^2. Напечатать все тройки чисел Пифагора, меньшие N.

Sub test3()
Dim a, b, c, N As Double
N = Val(InputBox("Введите значение N"))
Cells(1, 1) = "a"
Cells(1, 2) = "b"
Cells(1, 3) = "c"
Do While c < N
c = Sqr(a * a + b * b)
a = a + 1
b = b + 1
Cells(c / 1 + 1, 1) = a
Cells(c / 1 + 1, 2) = b
Cells(c / 1 + 1, 3) = c
Loop
End Sub
Dimoon вне форума
Старый 21.10.2018, 12:15   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
Sub test3()
  Dim a, b, c, r&, N As Double
  N = Val(InputBox("Введите значение N", , 20))
  r = 1:  Cells(r, 1) = "a":  Cells(r, 2) = "b":  Cells(r, 3) = "c"
  For a = 1 To N / Sqr(2)
    For b = a To N / Sqr(2)
      c = Sqr(a * a + b * b)
      If c = Int(c) Then
        r = r + 1: Cells(r, 1) = a: Cells(r, 2) = b: Cells(r, 3) = c
      End If
    Next
  Next
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 21.10.2018, 12:35   #3
Dimoon
Новичок
Джуниор
 
Регистрация: 21.10.2018
Сообщений: 4
По умолчанию

А через цикл do...loop можно выразить?
Dimoon вне форума
Старый 21.10.2018, 13:17   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

можно, выражайте
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 21.10.2018, 20:35   #5
Dimoon
Новичок
Джуниор
 
Регистрация: 21.10.2018
Сообщений: 4
По умолчанию

так подскажите как, ведь я попросить доделать через do...loop , а не переделать программу

Последний раз редактировалось Dimoon; 21.10.2018 в 20:37.
Dimoon вне форума
Старый 21.10.2018, 21:08   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Код:
for i=1 to N
...
Next
эквивалентно по результату
Код:
i=1
Do while i<=N
...
i=i+1
Loop
вот и переделай )
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума
Старый 21.10.2018, 21:10   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

см. #2 - там видно как сделать
см. #1 - где там хоть слово сделать с помощью do...loop. учитесь четко и ясно формулировать мысли
удачи!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 21.10.2018, 21:17   #8
Dimoon
Новичок
Джуниор
 
Регистрация: 21.10.2018
Сообщений: 4
По умолчанию

Спасибо, переделал и все заработало)
Dimoon вне форума
Закрытая тема


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Доработать программу на C++ boreanz Фриланс 3 22.10.2015 23:05
доработать программу ehanjaki Помощь студентам 1 12.07.2012 14:37
Доработать программу на С++ sol1tary Фриланс 3 20.07.2011 10:15
Доработать программу за $ lutdan Фриланс 3 09.05.2011 17:32
Доработать программу stepanov_ivan Помощь студентам 1 03.01.2011 15:08