Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

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

Помогите доделать программу, вот ее условие: Натуральные числа а, 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, 13:15   #2
IgorGO
МегаМодератор
СуперМодератор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Адрес: УКРАЇНА, Київ
Сообщений: 8,978
Репутация: 1710

icq: 7934250
skype: i2x0,5
По умолчанию

Код:

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

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

А через цикл do...loop можно выразить?
Dimoon вне форума  
Старый 21.10.2018, 14:17   #4
IgorGO
МегаМодератор
СуперМодератор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Адрес: УКРАЇНА, Київ
Сообщений: 8,978
Репутация: 1710

icq: 7934250
skype: i2x0,5
По умолчанию

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

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

Последний раз редактировалось Dimoon; 21.10.2018 в 21:37.
Dimoon вне форума  
Старый 21.10.2018, 22:08   #6
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 17,998
Репутация: 6348
По умолчанию

Код:

for i=1 to N
...
Next

эквивалентно по результату
Код:

i=1
Do while i<=N
...
i=i+1
Loop

вот и переделай )
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума  
Старый 21.10.2018, 22:10   #7
IgorGO
МегаМодератор
СуперМодератор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Адрес: УКРАЇНА, Київ
Сообщений: 8,978
Репутация: 1710

icq: 7934250
skype: i2x0,5
По умолчанию

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

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Доработать программу на C++ boreanz Фриланс 3 23.10.2015 00: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 16:08


15:58.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru