В качестве простого упражнения по построению фракталов в консоли предлагается следующая фигура:
Код программы несложен:
Обращаем внимание на 3-й параметр функции draw, вызываемой из main. Именно он определяет масштаб изображения "креста".
Есть также версия Win32 данной задачи.
Ссылка на открытый репозитарий Git:
git clone https://ashtan@bitbucket.org/ashtan/fractaldemowin32.git
Код программы несложен:
#include<stdio.h>
#define N 80
#define M 80
char arr[N][M];
void clear()
{
int i,j;
for(i=0;i<N;i++)
for(j=0;j<M;j++)
arr[i][j]=' ';
}
void print()
{
int i,j;
for(i=0;i<N;i++) {
for(j=0;j<M;j++)
putchar(arr[i][j]);
putchar('\n');
}
}
int pow(int n,int m)
{
int i,res=1;
for(i=0;i<m;i++)
res*=n;
return res;
}
void draw(int y,int x, int k)
{
int delta=pow(3,k-1);
if(k==0) {
arr[y][x]='*';
} else {
draw(y,x,k-1);
draw(y-delta,x,k-1);
draw(y+delta,x,k-1);
draw(y,x-delta,k-1);
draw(y,x+delta,k-1);
}
}
int main()
{
clear();
draw(N/2,M/2,3);
print();
return 0;
}
Обращаем внимание на 3-й параметр функции draw, вызываемой из main. Именно он определяет масштаб изображения "креста".
Есть также версия Win32 данной задачи.
Ссылка на открытый репозитарий Git:
git clone https://ashtan@bitbucket.org/ashtan/fractaldemowin32.git

Комментариев нет:
Отправить комментарий