前提・実現したいこと
プログラミング初心者です。カントール関数のグラフを描画がしたいです。方法としてはN回目での各出力値をdatファイルに書き込んでgnuplot上で呼び起こしてプロットし、各点を結ぼうと考えています。カントール関数の出力値に関する部分は問題なさそうなのですが、その出力値をファイルに出力する段階で躓いてしまいました。ご教授いただきたいです。
発生している問題・エラーメッセージ
正しくプログラムが組めているか確認するためにまずはテキストファイルに書き込んでみましたが、テキストファイルには
1.000000 1.000000
と、一番最後の点の値しか出力されません。
今はN=2としているので、10個の点の値が出るようにしたいです。
該当のソースコード
include <stdio.h>
include <math.h>
include <stdlib.h>
define N 2
define A 1.0/2.0
double cantor(int, int);
void main(void){
int n,k,l;
double k2,l1,x,y;
for (n=0;n<=N;n++){
for (k=0;k<=pow(3, n);k++){
l=pow(3, n);
y=0;
y=cantor(k, n);
/printf("f_%d(%d/%d)=%f\n",n,k,l,y);/
if(n==N){
k2=k;
l1=l;
x=k2/l1;
printf("%f %f\n",x,y);
FILE *file;
file = fopen("cantor.txt","w");
fprintf(file,"%f %f\n",x,y);
fclose(file);
}
}
}
}
おそらくファイル出力の仕方に問題があると思うので、cantor関数内は省略します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/23 17:35
2018/07/24 04:25