2次元配列に対するファイルからのデータ格納について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
se-

2次元配列に対するファイルからのデータ格納について

#1

投稿記事 by se- » 14年前

1行に1個の数値データ、計MxN個のデータが記載されたテキストファイルからMxN行の多次元配列に数値データを格納する(M,Nは任意)プログラムを作りたいのですが参考になるソースやご意見など頂けたら幸いです。
txtファイルの形式は
///////////////////
10
11
12

///////////////////
こんな感じで数値の羅列が続きます

beatle
記事: 1281
登録日時: 14年前
住所: 埼玉
連絡を取る:

Re: 2次元配列に対するファイルからのデータ格納について

#2

投稿記事 by beatle » 14年前

フォーラムルールはご覧になりましたでしょうか。
se-さんの質問は丸投げですので、この掲示板では禁止されています。
se-さんが分かる範囲で、ソースコードなりを提示してください。

ヒント:
fopenやscanfはご存知ですか。
文字列"10"から整数10に変換するやり方はご存知ですか。

se-

Re: 2次元配列に対するファイルからのデータ格納について

#3

投稿記事 by se- » 14年前

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

beatle
記事: 1281
登録日時: 14年前
住所: 埼玉
連絡を取る:

Re: 2次元配列に対するファイルからのデータ格納について

#4

投稿記事 by beatle » 14年前

やりたいのは多次元配列というか2次元配列ですね?
MとNが任意とありますが、C言語で多次元配列を生成するには、あらかじめMとNが分かっていると便利です。
しかし、MとNはファイルには直接には記載されていないということでよろしいでしょうか。

とすると、ファイルのデータの個数からMとNを自動で判別するということになりますね。
データの個数の取得は既に実装できているみたいですから、後はnky == M * NとなるようなMとNの組を計算すればいいですね。
一般には複数の解になりますから、どういう基準でMとNを決めるかを考えないといけないでしょうね。

そもそも、2次元配列の定義方法、値の代入方法などはご存知なのでしょうか。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 2次元配列に対するファイルからのデータ格納について

#5

投稿記事 by softya(ソフト屋) » 14年前

codeタグの使い方が間違っていますのでフォーラムルールを再確認して投稿前にプレビューで必ず確認して下さい。
それと空白を_などに置き換える必要性はありません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

“C言語何でも質問掲示板” へ戻る