- ベストアンサー
この問題がわかりません・・・
この問題がわかりません(-_-;) 7個×2行分のデータをdata配列に読み込みというところが理解できず何度もやってみたのですが解けませんでした・・・答えが載っておらず困っています(@_@;) C言語詳しい方よかったら回答お願いします<m(__)m> 次の2行の内容でtest614.txtファイルを作成しなさい。 1 2 3 5 8 13 21 1 2 2 4 8 32 256 ※スペース区切りで7個の数字2行分。 int型2次元配列変数data[2][7]を宣言後、test614.txtファイルを開いて7個×2行分のデータをdata配列に読み込み、その内容を右のように表示する。続いて、test614.txtファイルを閉じてから、右のようにdata配列を用いて縦に並んだ数値を加算した結果を表示するプログラムを作成しなさい。 実行結果例 (実行結果例) 1 2 3 5 8 13 21 1 2 2 4 8 32 256 ------------------- 2 4 5 9 16 45 277
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>7個×2行分のデータをdata配列に読み込みというところが理解できず・・ その前に、 >次の2行の内容でtest614.txtファイルを作成しなさい。 >1 2 3 5 8 13 21 >1 2 2 4 8 32 256 ができていないから、「読み込み」までいかないのでは・・。 2行とも、3項以降は、 ・1行目は、( 1 + 2 ) = 3, ( 2 + 3 ) = 5, ( 3 + 5 ) = 8, ・・ ・2行目は、( 1 * 2 ) = 2, ( 2 * 2 ) = 4, ( 2 * 4 ) = 8, ・・ となりますよね。この法則?を「コード化する」のが「問題」の重要な部分と思いますが・・。 ☆1行目は、↓でうまくいくはずです・・(BorlandC++5.5.1)。 2行目は、・・う~ん、自分で考えて。 #include <stdio.h> void main() { int iVal, iTane1 = 0, iTane2 = 1, i; for( i = 1; i <= 7; i++ ){ iVal = iTane1 + iTane2; printf( "%3d", iVal ); iTane1 = iTane2; iTane2 = iVal; } printf( "\n" ); } 注:インデントに全角空白を用いています。コピペ後、タブに一括変換して下さい。
その他の回答 (3)
- ko_kinta
- ベストアンサー率39% (43/109)
問題文の最初の4行は実行準備についての記述ですね。 エディタででもいいので、test614.txtを作成しなさいということですが、これは出来ていますか? 5行目からがプログラム作成のための記述ですから、これを自分で箇条書きに分解して、なにをやるべきかをひとつずつ確認しましょう。 1. int型2次元配列変数data[2][7]を宣言 2. test614.txtファイルを開いて 3. 7個×2行分のデータをdata配列に読み込み … というように。 そうすれば作り方が見えてくると思いますよ。
- koko_u_
- ベストアンサー率18% (459/2509)
>for(y=0;y<7;y++){ >for(x=0;x<7;x++){ >data[y][x]=(y+1)*(x+1); >printf("%3d", data[y][x]); >} data 配列はテキストファイルから読み込むのではないのですか?
- asuncion
- ベストアンサー率33% (2127/6289)
>何度もやってみたのですが そのときのソースを載せてみてください。
補足
#include<stdio.h> int main(void){ int data[2][7]; int y,x; int sum; for(y=0;y<7;y++){ for(x=0;x<7;x++){ data[y][x]=(y+1)*(x+1); printf("%3d", data[y][x]); } printf("\n"); } sum=0; 遅れて申し訳ございません<m(__)m> 途中までですが・・・