1行に1個の数値データ、計MxN個のデータが記載されたテキストファイルからMxN行の多次元配列に数値データを格納する(M,Nは任意)プログラムを作りたいのですが参考になるソースやご意見など頂けたら幸いです。
txtファイルの形式は
///////////////////
10
11
12
…
///////////////////
こんな感じで数値の羅列が続きます
2次元配列に対するファイルからのデータ格納について
Re: 2次元配列に対するファイルからのデータ格納について
フォーラムルールはご覧になりましたでしょうか。
se-さんの質問は丸投げですので、この掲示板では禁止されています。
se-さんが分かる範囲で、ソースコードなりを提示してください。
ヒント:
fopenやscanfはご存知ですか。
文字列"10"から整数10に変換するやり方はご存知ですか。
se-さんの質問は丸投げですので、この掲示板では禁止されています。
se-さんが分かる範囲で、ソースコードなりを提示してください。
ヒント:
fopenやscanfはご存知ですか。
文字列"10"から整数10に変換するやり方はご存知ですか。
-
se-
Re: 2次元配列に対するファイルからのデータ格納について
失礼しました。とりあえず一次元配列ではこのように取り込んでみました。多次元配列への取り込み方法をご教授頂ければありがたいですbeatle さんが書きました:フォーラムルールはご覧になりましたでしょうか。
se-さんの質問は丸投げですので、この掲示板では禁止されています。
se-さんが分かる範囲で、ソースコードなりを提示してください。
ヒント:
fopenやscanfはご存知ですか。
文字列"10"から整数10に変換するやり方はご存知ですか。
code
/*
ファイルは1行1データの整数が書かれている。
これを読み込んで1次元整数配列に格納する。
データの個数は不明、とします。楽にやるには
以下の方法があります。
インクルードを補い、バグ1個を見つけてください。
末尾の出力イメージはバグを入れる前の実行結果です。
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int_main(){
__char__fnam[256];
__FILE__*fi;
__char__bff[256];
__int___nky=0;
__int___*key,ky;
__printf("ファイル名:");_scanf("%s",fnam);
__if((fi=fopen(fnam,"r"))==NULL)_{
____printf("%s_が開けません。\n",fnam);_return_1;
__}
__while(fgets(bff,256,fi)!=NULL)_nky++;
__printf("%d_records_found_in_%s\n",nky,fnam);
__key_=_(int*)malloc(sizeof(int)*nky);
__rewind(_fnam_);
__ky=0;
__while(fgets(bff,256,fi)!=NULL)_{
____key[ky++]_=_atoi(strtok(bff,"_\n"));
__}
__printf("%d_data_are_in_the_table_key[%d].\n",nky,nky);
__for(ky=0;ky<nky;ky++)_printf("%d\n",
/code
Re: 2次元配列に対するファイルからのデータ格納について
やりたいのは多次元配列というか2次元配列ですね?
MとNが任意とありますが、C言語で多次元配列を生成するには、あらかじめMとNが分かっていると便利です。
しかし、MとNはファイルには直接には記載されていないということでよろしいでしょうか。
とすると、ファイルのデータの個数からMとNを自動で判別するということになりますね。
データの個数の取得は既に実装できているみたいですから、後はnky == M * NとなるようなMとNの組を計算すればいいですね。
一般には複数の解になりますから、どういう基準でMとNを決めるかを考えないといけないでしょうね。
そもそも、2次元配列の定義方法、値の代入方法などはご存知なのでしょうか。
MとNが任意とありますが、C言語で多次元配列を生成するには、あらかじめMとNが分かっていると便利です。
しかし、MとNはファイルには直接には記載されていないということでよろしいでしょうか。
とすると、ファイルのデータの個数からMとNを自動で判別するということになりますね。
データの個数の取得は既に実装できているみたいですから、後はnky == M * NとなるようなMとNの組を計算すればいいですね。
一般には複数の解になりますから、どういう基準でMとNを決めるかを考えないといけないでしょうね。
そもそも、2次元配列の定義方法、値の代入方法などはご存知なのでしょうか。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: 2次元配列に対するファイルからのデータ格納について
codeタグの使い方が間違っていますのでフォーラムルールを再確認して投稿前にプレビューで必ず確認して下さい。
それと空白を_などに置き換える必要性はありません。
それと空白を_などに置き換える必要性はありません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。