Программа для построения множества Мандельброта (и его фрагментов)

#include <stdio.h>
#include <dos.h>
#include <conio.h>
#include <stdlib.h>
#include "256.с"
#define M 192
#define A 320
#define В 200
#define К 192
#define DEMOCYCLE 500
#define FILEDAT "mand.dat"
typedef struct
              {
                unsigned char red,green,blue;
              } RGB;
      RGB pal[256] ;
/* Функция сдвигает цвета в палитре на 1 вправо */
void swap(void)
{  RGB t;
    int i;
   t=pal[192];
   for (i=192;i>=2;i--) pal[i]=pal[i-1] ;
   pal[1]=t;
   SetVgaDAC(FP_SEG(pal),FP_OFF(pal)) ;
)

void draw(float Pmin,float Pmax,float Qmin,float Qmax)
{    int x,y,color,k;
      float xk,yk,p0,q0,t,r,DP=((Pmax-Pmin)/(A-1)),DQ=((Qmax-Qmin)/(B-1));
      for (x=0;x<320;x++)
          for (y=0;y<200;y++)
             { p0=Pmin+DP*x;
                q0=Qmin+DQ*y;
                k=0;
                xk=yk=0;
            do
                { t=xk;
                   xk=xk*xk-yk*yk+p0;
                   yk=2*t*yk+q0;
              r=xk*xk+yk*yk;
              k++;
            } while ((k<K)&&(r<M));
            if (r>M) color=k;
            if (k==K) color=0;
            putpixel256(x, y,color);
                 }
}
void main(void)
{   int i,,j,x,y,par;
    float Pmin[100],Pmax[100],Qmin[100],Qmax[100];
    FILE *f;
    set256();
    /* 0-м цветом выбираем черный */
    pal[0].red=pal[0].green=pal[0].blue=0;
    /* Устанавливаем цвета с 1-го по 64-й градациями красного,
    с 65-го по 128-й градациями зеленого, с 129-го по 192-й градациями синего */
    for (х=1;х<=64;х++)
    { pal[x].red=64-x;
      раl[х].green=х-1;
      pal[x].blue=0;
      pal[64+x].red=0;
      раl[б4+х].green=б4-х;
      раl[64+х].blue=х-1;
      pal[128+x].red=x-1;
      раl[128+х].green=0;
      раl[128+х].blue=64-х;
    }
    SetVgaDAC(FP_SEG(pal) ,FP_OFF(pal)) ;
    f=fopen(FILEDAT,"rt") ;
    fscanf(f,"%d",$par) ;
    for (i=0;i<par;i++)
    { fscanf(f,"%f%f%f%f",&Pmin[i],&Pmax[i],&Qmin[i],&Qmax[i]) ;
      draw(Pmin[i],Pmax[i],Qmin[i],Qmax[i]) ;
    };
    for (i=0;(!kbhit());i=(i+l)%par)
    {  draw{Pmin[i], Pmax[i],Qmin[i],Qmax[i]);
    for (j=0;j<DEMOCYCLE;j++) swap();
    }
    setTEXT();
    }

TopList