今、1つのファイルにデータが入力してあり、それを計算プログラムを利用して答えを求めるという課題に取り組んでいます。
自分で理解しているのは計算プログラムの中に、与えられたデータ(初期値のようなもの)を入力するところまでです。下のコードは計算部分を省略しています。
#include <stdio.h> int main(void) { int i; FILE *file; file = fopen("test.txt","r"); fscanf(file,"%d",&i); fclose(file); printf("%d\n",i); return 0; }そこで今分からないのが計算式で出てきた答えを受け継ぐというところです。具体的に言うと
たとえば『○』に『×』を加えたら『△』という答えが出てきた。そしてその『△』を次の式の『□』に加えると『☆』という答えが出てきた、というものだとします。
△=○+×…①
☆=△+□…②
この時、プログラムでは上から下に進んでいくので普通に計算できていくと思うんですが、今自分がやっている課題は①、②という風に式の数が決まっておらず、式が2つのときもあれば5つになる場合もあります。それぞれの式は同じものです。ただ入力していく数値が違います。つまり前の式の答えを次の式に入力していかないと計算ができないということです。
教科書をみると式はΣでまとめられていました。しかしそのΣをプログラムで表わす方法が分かりません。
分からないことをまとめます。
・前の式の答えを次の式に受け継ぐにはどうすればいいのか?
・式の数(式自体は同じ内容で入力する数値が違う)が定まっていない場合はどういう風に次の式に受け継ぐのか?
・その式の数だけいちいちプログラムに書き込んでいかないといけないのか?
・Σのような役割を持つコードみたいなものがあるのか?
といった感じです。かなり分かりづらい文章になって申し訳ありません。文の内容で理解できない部分があると思いますので遠慮なく言ってください。