C言語で長い配列データの書き方

このQ&Aのポイント
  • C言語で長い配列データを効率的に書く方法について教えてください。
  • 組込み系の仕事をしている人です。機械の制御データをエクセルで整理し、配列データとして書き込む際に横書きでパラメタが長くなってしまいます。他の書き方があるのでしょうか?
  • C言語で長い配列データを扱う方法を教えてください。現在はテキストエディターで配列を書いているのですが、パラメタが横書きで長くなってしまい、困っています。
回答を見る
  • ベストアンサー

C言語で長い配列データの書き方

組込み系の仕事をしてます。 例えば、20種類の機種がある機械で、個々の制御データ(パラメタ)が100個先にエクセルでデータを整理して表化します。       機種0  機種1  機種2 …機種19 0_洗剤量   0   100   200   1900 1_水量    1   101   201   1901 2_風呂水   2   102   202   1902  : 99_脱水時間 99   199   299   1999 こんな感じで。 これを、テキストエディターで書くとどうしても縦と横が逆になり、 パラメタを書き添えるのが困難です。      /*0_洗剤量*/  /* 1_水量*/←パラメタが横書きで横に長くなってしまう /*機種0*/ { 0,      1,      2, … 99 } /*機種1*/ {100,     101,     102, … 199 } /*機種2*/ {200,     201,     202, … 299 }  : /*機種19*/{1900, 1901, 1902, … 1999 } どうしてもパラメタが横書きで横に長くなってしまいます。 他に書く方法はありますか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • asteroids
  • ベストアンサー率35% (10/28)
回答No.1

C言語はあくまでもプログラミング言語です。小さめのデータはいいが、大量のデータはリソースまたは外部ファイルとして読み込むように処理したほうがいいと思います。 なので、これらのデータをエクセルで入力・編集し、CSVなどで出力したファイルを読み込んで処理してはいかがでしょうか。そうすれば、プログラマ以外のプロジェクト・メンバーでもデータの更新や変更が簡単など、様々なメリットがあります。 環境やハードの制約でリソースや外部ファイルとして読み込めないのなら、見やすさのために、データを行単位で書くのではなく、ブロック単位で書く方法もあります。一行を一ブロックとして記述し、ブロックの間を空行で区切るやり方です。長くなりますが、見やすくなり、ミスも見つけやすくなります。 /*機種0*/  { 0,      1,      2, 3. 4. 5,   …  99 }, /*機種2*/  {100,     101,     102, …    …  199 }, という感じです。

その他の回答 (2)

  • foomufoomu
  • ベストアンサー率36% (1018/2761)
回答No.3

エクセルでデータを作っているのなら、CSVでファイル出力するとか、エディタの仕様によってはコピー&ペーストするだけ。 それで不都合なら、エクセルで、{}やカンマ付きの1つの文字列に変換する式を書くだけ。 これなら、行がどんなに長くなっても間違えることはない。

  • trapezium
  • ベストアンサー率62% (276/442)
回答No.2

awk や perl なんかで変換して include すればいいと思います。一々手書きで C コードに変換なんて間怠っこしくてしょうがない。その手順をスクリプトなり Makefile に書いておけば、メンテナンス上も自動化できていいです。

関連するQ&A

  • 穴なし槽で洗うと洗剤香料が強く残る事について

    穴なし槽は、洗い→すすぎの前に自動で入る短い脱水が弱くて洗剤の香料が強く残るという事はありますか? すすぎ1回の洗剤を2回にしても強く残ってます。 特に洗濯物の量が少ない時に香料が強く残ります。 洗い→脱水→すすぎと進むと洗剤の香料が弱くなります。 水量に対して洗剤を図って入れるというのが間違っているのでしょうか? 宜しくお願い致します。

  • ジーパンの洗濯の仕方

    ジーパンの洗濯の仕方についてですが 私は水量多くして編みに入れて 洗い10分ためすすぎ4分1回脱水5分づつで 普通の洗剤の量を入れて洗っていますが、 この洗い方で普通に洗えてますか?

  • データの数を数えるfortran プログラム

    横にm個、縦にn個の実数データが整然と並んでいます。ファイルを開いて読み込むのですが、縦横に何個のデータがあるかプログラムに感知させる方法があるでしょうか。 縦にn個のデータがあることは簡単でした。しかし横にm個あることを感知させるのが難しいです。今は、とにかく全データの個数を調べて、その個数をnで割って求めています。 全データを読む方はは、1個読んで巻き戻し、2個読んで巻き戻し、3個読んで巻き戻し、.... としてデータをこれ以上読めないというところまで読んでその個数が全データということになります。この部分がかなり時間を使います。データを開いてエディタで1行目のカラム数を数えればいいわけですが、プログラム的にはどうなるでしょうか。Cだったら、改行を感知させるという方法があるかもしれません。Fortranだったらどうなるでしょうか。 ※Fotranの専門の会議室がないのかなと思っていますが。

  • Photo editorでの画像の回転

    質問です。 500万画素程度の高解像度のJPG写真を縦で撮影し、PCにて閲覧する(自動的にPhoto editorが立ち上がります。)と、当然縦撮りでの画像は横になってします。 見にくいので縦に回転すると、画像のデータサイズが約3MBほどあったデータ量が1MB以下になってしまいます。回転するとJPG画像は画質が劣化すると聞いたのですが、それにしてもデータ量が3分の1以下になってしまうのは、見た目では画質劣化は正直わかりませんが、気分的に気持ち悪く困ってます。 使用OSはWINDOWS2000です。 なぜデータサイズが3分の1以下になってしまうのか、どのような理屈でそうなるのか、また、同じデータサイズで回転する方法はないのか(できれば、Photo editorにて)ご教授お願い致します。

  • IME2000で縦書き用の「っゃゅょぁぃぅ・・・」を入力したい

    WZ-EDITORでテキスト形式のデータを入力しています。 IME2000を使用して横書きでデータ作成しているのですが、 縦書き用の「っゃゅょぁぃぅ・・・」を入力したいのです。 横書き用は、小さな文字が右下隅の位置に表示されますが、 横書き入力で、縦書きのように右上隅に表示される文字を入力したいのです。 このテキスト形式のデータをプログラムで縦に並び替えるので、 縦書き用の文字が入力できるのなら入力したいのです。 よろしくお願いします。

  • マクロ:横並びデータを縦並びに変更

    添付のように、横に並んでいるデータを、 縦に並べ変えるマクロを組みたいのですが、 ネットで検索して、組んでみたのですが、 基本的な知識がなくてうまくいきません。 データ量もあり、頻繁に発生する作業なので、 教えて頂けると大変助かります。 よろしくお願い申し上げます。

  • エクセル 関数のリンク

    2つのファイルで作った表をリンクさせたいのですができません。 元のファイルの縦データ(関数)を もうひとつのファイルに横書きにリンクさせたいのですが。 縦から縦の場合は$A$1の$を削除してコピーすることでできました。 大量データなので横にもコピーをしたいのですが 宜しくお願いいたします。

  • エクセルのデータ配置を変えたい

    質問をお願いします。 エクセルで作成したデータの配置を添付のように変更したいのですがどのような方法があるのでしょうか。 具体的には、横に展開した上の表を下の表のように、A列のコード毎に、A・B・Cそれぞれの数値を表示したいことと、ブランクの部分は表示させない、というようにしたいのです。 (もちろん別のシートにデータを作成して構いません) データ量は、縦・横とも相当あるので、とても手作業ではできません。 何か良い方法があれば教えて下さい。

  • I・O DATAのポータブルHDD(HDPX-U40S)

    I・O DATAのポータブルHDD(HDPX-U40S)を買いました。 メーカのホームページにはこの機種の設置は横としか書いていないのに、箱の中には縦置き出来る付属品が入っています。 ってことは縦置き出来るの?って誤解しますが、実際のところどっちが正しいのでしょうか? お願いします

  • 洗濯物に、ほこりのようなものが付いてきます。カビなのでしょうか?

     現在、日立のNW-6BZという2年ほど前の機種を使っています。買ったのは昨年で、実際にはまだ使って1年程度です。しかし、3ヶ月目くらいから衣服にほこりっぽいものが付いていることに気が付きました。はじめは、粉洗剤を使っているので溶け残りだろうと思っていたのですが、洗剤の量を減らしたり、洗濯前に温水で溶かたり、水量を増やしたりしてみてもなくなりません。  「多段水位洗浄によって消費水量が少なくてすむ」というふれこみの製品だったため、もしかしてそれが原因なのかもしれないのですが、確かめようがありません。ほこりは白いもので、衣服の洗濯ジワのところに線になって残っています。時々粉のようなものもあり、それは洗剤かとも思うのですが、明らかに繊維でほこりが残っていることのほうが多いです。以前使っていた洗濯機では同じ洗剤でもなんともなかったのですが・・。  これは洗剤なのでしょうか?それともほこりなのでしょうか?白いのでカビではないと思うのですが。  どなたかご存知の方がいらっしゃれば是非教えてください!また、もし解決策などありましたら合わせて教えていただきたいと思います。よろしくお願いします。