アプリ版:「スタンプのみでお礼する」機能のリリースについて

次のプログラムのフローチャート(流れ図)を書いてください。お願いします。
フローチャートの書き方は以下のwebから見れます。
http://sasuke.main.jp/furo.html



#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#define MAX_DATA_NUMBER 400
int check_value(int x, char* error_message);
int main(int argc ,char*argv[]){

int M=0 ,i=0,N,U
double x[2][MAX_DATA_NUMBER],y_bunshi
FILE *in_file;
in_file = fopen(argv[1],"r");
M = 0;

if(argc != 3){
printf("使い方: ./smooth 入力データファイル名 平滑化数N");
exit(1);
}

N = check_value(atof(argv[2]),"平滑化数は正の値を入力してください。\n使い方: ./smooth 入力データファイル名 平滑化数N");

if(argc == 3){
if( in_file == NULL){
printf("使い方: ./smooth 入力データファイル名 平滑化数");
exit(1);
}
}


while( EOF != fscanf(in_file, "%lf", &x[0][M]) && M<MAX_DATA_NUMBER){
M++;
}
fclose(in_file);

for(i=0;i<=N-1;i++){
y_bunshi = 0;
for(U=0;U<=i+N;U++){
y_bunshi += x[0][U];
}
x[1][i] = y_bunshi/(i+N+1);
}

for(i=N;i<M-N;i++){
y_bunshi = 0;
for(U=1;U<=N;U++){
y_bunshi += x[0][i+U];
y_bunshi += x[0][i-U];
}
y_bunshi += x[0][1];
x[1][i] = y_bunshi/(2*N+1);
}

for(i=M-N;i<=M-1;i++){
y_bunshi = 0;
for(U=i-N;U<=M-1;U++){
y_bunshi += x[0][U];
}
x[1][i] = y_bunshi/(M+N-i);
}
for(i=0;i<M;i++){
printf("%3d,%8.2f,%8.3f\n",i,x[0][i],x[1][i]);
}
return 0;

int check_value(int x,char* error_message){
if( x <= 0.0){
printf(error_message);
exit(1);
return x;
}

A 回答 (1件)

コンパイルができない、つまり、動作しないプログラムからフローチャートを書くことは無理です。

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!