Форум HeroesWorld-а - Показать сообщение отдельно - [ОБСУЖДЕНИЕ] Спиралевидные карты
Показать сообщение отдельно
#53
Старый 26.05.2019, 11:56
  #53
^
Lava
📖
Регистрация: 11.11.2016
Сообщения: 181
Регистрация: 11.11.2016
Сообщения: 181
По умолчанию
Re: [ОБСУЖДЕНИЕ] Спиралевидные карты

Переписал программу для расчета дуг различного радиуса (которые нужны для рисования этих самых дуг на карте "Heroes III").
Вариант под DOS переделал под Windows.

	/*   p1
      Язык Visual C++ 6.0
      Консольное приложение
      Радиус   */

#include 
#include 

main ()
{
   int a, b, c, d;
   FILE *g;

   /*   a - радиус, для которого ведётся расчёт
          b - максимальное значение, для которого считается квадратный корень
          c - счётчик
          d - рассчитанное значение границы окружности   */

   g = fopen ("1.txt", "w");
   for (a = 1; a < 61; a++)   /*   внешний радиус 1/8 окружности   */
   {
      b = (int) (a / sqrt (2) + 2);   /*   верхняя граница расчётов   */
      fprintf (g, "r = %i\n", a);
      for (c = 0; c < b; c++)
      {
         if (c == a) break;
         d = (int) (sqrt (a * a - c * c - .0001) + 1);
         if (d < c) break;
         if (d == a) continue;
         fprintf (g, "%i - %i\n", c, d);
      }

      fprintf (g, "\n");
   }

   fclose (g);
   return 0;
}
Миниатюры
Нажмите на изображение для увеличения
Название:  p1a.png
Просмотров: 11
Размер:	48.4 Кбайт
ID:	59336  
Lava вне форума
Ответить с цитированием