Переписал программу для расчета дуг различного радиуса (которые нужны для рисования этих самых дуг на карте "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;
}