入力の続きです。 – プログラミング – Home

通知
すべてクリア

[解決済] 入力の続きです。


四万十川
 四万十川
(@四万十川)
ゲスト
結合: 21年前
投稿: 13
Topic starter  

皆様方のアドバイスにより作ることが出来たのですが、'==' : 演算子にプログラム上の
作用がありません。'=' を意図しましたか?などの警告がでてしまい、printfで見るこ
とが出来ません。
#include stdafx.h
を必要としないからのプロジェクトですと見ることが出来るのですが?
再度、皆様方のアドバイスをいただきたく思います。
お手数お掛け致しますが宜しくお願いいたします。

#include stdafx.h
#include <stdio.h>

#define NUM_DATA 150

#define MAX_NUM_INPUT 3

#define NUM_OUTPUT 1

#define DATA_FILE data.txt

double tx[200][100], ty[200][100];
double data[NUM_DATA];

int main(void)
{
FILE *fp;
int n, i, j,NUM_INPUT, NUM_HIDDEN;
double NUM_SAMPLE;
//INP
NUM_SAMPLE ==0;
for(NUM_INPUT=1; NUM_INPUT < MAX_NUM_INPUT; NUM_INPUT++){

NUM_SAMPLE == ((NUM_DATA) - (NUM_INPUT) - (NUM_OUTPUT) + 1);

if ((fp = fopen(DATA_FILE, r)) == NULL) {
fprintf(stderr, ファイル[ DATA_FILE ]をオープンできません.\n);
return 1;
}

for (n = 0; n < NUM_DATA; n++) {
fscanf(fp, %lf, &data[n]);
}

for(n = 0; n < NUM_SAMPLE; n++) {
for (i = 0; i < NUM_INPUT; i++) {
tx[n][i]= data[n+i];
printf(%lf , tx[n][i]);
}
for (j = 0; j < NUM_OUTPUT; j++) {
ty[n][j]=data[n+i+j];
printf( %lf\n, ty[n][j]);
}
}

fclose(fp);

}

}//main


引用未解決
トピックタグ
四万十川
 四万十川
(@四万十川)
ゲスト
結合: 21年前
投稿: 13
Topic starter  

現在data.txtには1 2 3 4 ・・・150が一行に並んでいます。
printfで出力したいです。
宜しくお願いします。


返信引用
...
 ...
(@...)
ゲスト
結合: 22年前
投稿: 113
 

>NUM_SAMPLE ==0;
~~~
>for(NUM_INPUT=1; NUM_INPUT < MAX_NUM_INPUT; NUM_INPUT++){
> NUM_SAMPLE == ((NUM_DATA) - (NUM_INPUT) - (NUM_OUTPUT) + 1);
~~~
エラーメッセージの通りです。
質問する前に、よく見直しましょう。


返信引用
...
 ...
(@...)
ゲスト
結合: 22年前
投稿: 113
 

ついでに言うと変数を大文字で書くのは、
一般的ではないので気をつけましょう。


返信引用
四万十川
 四万十川
(@四万十川)
ゲスト
結合: 21年前
投稿: 13
Topic starter  

すいません。
原因が分かりました。
エラーメッセージを見たいのですが、どうしたらよいのですか?


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 600
 

コンパイルしてください。 error/warningが出力されます。
この場合、文法的には正しいので、errorではなくwarningですが。
# ってゆーか、見たんでしょ?


返信引用
四万十川
 四万十川
(@四万十川)
ゲスト
結合: 21年前
投稿: 13
Topic starter  

すいません。
error/warningは確認できるのですが、以下のような表記としては確認できません。
これはどのようにしたら良いのですか?
>NUM_SAMPLE ==0;
~~~
>for(NUM_INPUT=1; NUM_INPUT < MAX_NUM_INPUT; NUM_INPUT++){
> NUM_SAMPLE == ((NUM_DATA) - (NUM_INPUT) - (NUM_OUTPUT) + 1);
~~~


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 600
 

> '==' : 演算子にプログラム上の作用がありません。'=' を意図しましたか?

というメッセージから 'あなた'が判断するのです。


返信引用
...
 ...
(@...)
ゲスト
結合: 22年前
投稿: 113
 

>NUM_SAMPLE ==0;

この命令で何をしようとしてますか?
NUM_SAMPLEに0を代入するつもりなら
'=='ではなくて'='を使います。

この説明の意味がわからなければ、再度C言語の学習を
する必要があります。


返信引用
sugar
 sugar
(@sugar)
ゲスト
結合: 24年前
投稿: 448
 

代入演算子と関係演算子の使い分けがきちんとできていますか?
ってことですね。


返信引用
四万十川
 四万十川
(@四万十川)
ゲスト
結合: 21年前
投稿: 13
Topic starter  

なるほど!
理解できました。有難うございました。


返信引用
四万十川
 四万十川
(@四万十川)
ゲスト
結合: 21年前
投稿: 13
Topic starter  

解決です。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました