0
我有用SORPINSKI三角形的XOR方法編寫的代碼。它所產生的數據是組成三角形的點在x和y上的共同點,如果我需要生成三角形,這將是很好的,但我不會。我需要的是使用沙箱方法計算維數....所以我真正需要我的代碼來生成三角形的質量和它的高度。質量真的意味着組成三角形的點的數量。所以我的問題是,如何在代碼中加入計算每一行中實際存在的點的能力,而不是將它們放在哪裏。計算使用XOR方法編寫的謝爾賓斯基三角形的尺寸
#include <stdio.h>
#define ANCHURA 7
#define ALTURA 4
typedef unsigned char BOOL;
#define ON (BOOL)1
#define OFF (BOOL)0
int main(int argc, char**argv)
{
BOOL spky[ALTURA][ANCHURA];
int i, j;
FILE*fout;
fout=fopen("xor.txt","w");
for(i=0;i<ALTURA;i++)
{
for(j=0;j<ANCHURA;j++)
{
spky[i][j]=OFF;
}
}
spky[0][(ANCHURA-1)/2]=ON;
for(i=1;i<ALTURA;i++)
{
for(j=1;j<ANCHURA-1;j++)
{
spky[i][j]=(spky[i-1][j-1]^spky[i-1][j+1]);
}
}
long int total=0;
for(i=0;i<ALTURA;i++)
{
for (j=0;j<ANCHURA;j++)
{
if(spky[i][j])
total++;
}
}
fprintf(fout,"%ld\t%d\n", total, i);
fclose(fout);
return (0);
}
用C語言編寫的代碼:塊
究竟出在哪裏,你寫出來的座標,最後嵌套循環之前,創建一個新的變量'長整型總= 0;' - 在循環中用'total ++;'代替'fprintf'語句 - 當你退出循環時,執行'printf(「總數爲%ld \ n」,total);'。任務完成。 – Floris
感謝您的回答。我做了你所說的,結果是,現在代碼生成整個質量和三角形的整個高度(我添加了)。問題是我需要代碼來生成一個數字列表,而不僅僅是最終的數字。我需要生成一個數字列表,表示特定行中的點數加上之前行中的點數。例如,對於第1行有一個點,對於第2行有2個點,但是整個部分的質量是3(2 + 1)。 –
這聽起來像是一個非常基本的編程問題。你知道如何在C中實現一個計數器嗎?您在使用它之前將其設置爲零,在適當的時候增加它,然後在應達到該值時將其讀回。 – Floris