• 締切済み

Re,ファイル入出力と配列について。 ごめんなさい。

aaa  1  a bbb  2  b ccc  3  c このようなファイルを読み込んで、 配列に入れて、 1  a  aaa 2  b  bbb 3  c  ccc のように、 位置を変えて出力したいのですが、 やり方がわかりません。 ちなみに、空白はタブです。 二回も同じ質問してしまい、大変申し訳ございません。 課題の問題を良く見たら、ポインタも使ってはいけないとのことでした。 str系、is系、fscanf等の標準ライブラリ関数を使わないで処理をし、 また、if等の制御文を駆使して、処理しなくてはいけません。 つまり、基礎的な事でプログラムを組めというわけです。 大変恐れ入りますがよろしくお願いします。 先程、お世話になった方々、誠にありがとうございました。

みんなの回答

  • rentahero
  • ベストアンサー率53% (182/342)
回答No.3

> ありがとうございます。 > チャレンジしてみたんですが、 > やっぱりダメでした。。。 > 助けてください! どうダメだったのか、どのように書いてみたのか、補足してください。 そうでないと、回答できません。 「ここは課題の正解を聞くところではありません」よ。

全文を見る
すると、全ての回答が全文表示されます。
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

ポインタでのアクセスは、配列でのそれに簡単に置き換えできます。 char buff[80]; p=buff; *(p+i)とbuff[i]はほぼ同じ意味です。 タブは'\t'で文字として比較できます。 がんばれ~

youyouma
質問者

補足

ありがとうございます。 チャレンジしてみたんですが、 やっぱりダメでした。。。 助けてください!

全文を見る
すると、全ての回答が全文表示されます。
  • rentahero
  • ベストアンサー率53% (182/342)
回答No.1

str系 is系 fscan系はだめ? うーん。自分で作れってことか。 ではヒント。 is系の処理はライブラリのソースを調べればわかりますが、当然ながらif文で処理されています。 Windowsの環境が手元にあるなら、「文字コード表」を使えば、文字コードの範囲は調べることができます。 また、unixのmanでctypeを調べれば、if文の組み合わせ方法がわかるとおもいます。 string系、scanf系についてはポインタが使えないのであれば少し面倒ですが、freadでファイルから1バイトずつ読んで1バイトずつ配列に格納すればよいでしょう。終端の'\0'を忘れないように。 文字としての数字は、'0'から'9'まで並んでいるので、文字(コード)から'0'を引いてやれば'0'→0となります。以下同様です。 タブを比較したい場合は'\t'と比較すればよいでしょう。 改行は'\n'のはずです。が、Windowsの場合'\r'+'\n'、MacOSの場合'\r'の場合もあります。やってみて判断してください。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ファイル入出力と配列について。

    aaa 1 a bbb 2 b ccc 3 c このようなファイルを読み込んで、 配列に入れてたいのですが、 やり方がわかりません。 どなたか教えてください。 お願いします。

  • 配列に入っている値のソート

    str(1)="bbb" str(2)="aaa" str(3)="ddd" str(4)="eee" str(5)="ccc" という配列があるとします。 これを昇順にソートさせて、 str(1)="aaa" str(2)="bbb" str(3)="ccc" str(4)="ddd" str(5)="eee" とさせたいのですが、どのようにすればよろしいでしょうか?

  • C# listviewでサブアイテムを順番に抽出

    C#のlistviewで例えば中身が下記の様になっているとします。 AAA,AAA,1,AAA BBB,BBB,2,BBB CCC,CCC,6,CCC DDD,DDD,3,DDD SubItems[2]の数字を予め設定した引数str1,str2,str3,str4にlistviewの上から順番に当てはめたいです。 str1=1 str2=2 str3=6 str4=3 こんな感じにしたいです。 上手く説明できているか不安ですが、ご教授頂ければありがたいです。

  • 配列にポインタを入れたい

    C言語のプログラム作成で全然分からなくて非常に困っています。 そのため教えていただきたく思います。 目的は、 文字列 str="aaa\nbbb\nccc\n" を \n で区切って配列に入れたいです。 文字列は不定長さで str="aa\n" や str="aaa\nbb\nc\nddd\neee\n" などです。 必ず\nで区切られています。 それらを配列に入れて hairetu[0] = "aaa\n" hairetu[1] = "bbb\n" hairetu[2] = "ccc\n" ・・・ という結果を得たいです。 自分でまったく分からないところは、 配列の要素にアドレスを入れること、 文字列strの長さが固定でないため配列の要素をどのように増やすか、 です。 どなたか助けていただけないでしょうか。 直接回答を教えていただけたらすごく助かります。 参考のページや考え方を教えていただいてもありがたいです。 よろしくお願いします。

  • ArrayListに多次元配列

    ArrayListに多次元配列の変数を格納したのですが、取り出し方がわからず困っています。 ----------------------------------------------- String[][] str = {{"aaa","bbb","ccc","ddd","eee","fff"}, {"aaa","bbb","ccc","ddd","eee","fff"}, }}; ArrayList array = new ArrayList(); array.add(str[0]); array.add(str[1]); ----------------------------------------------- 上記の場合で、str[0][2];を取得する方法がわかりません。 java初心者なのでおかしな質問かもしれませんが、宜しくお願いします。

    • ベストアンサー
    • Java
  • [Objective-c]多次元配列のアクセス方法

    [Objective-c]多次元配列のアクセスの仕方をご教授いただきたく思います 処理文 NSLog(@"%@",[ar objectAtIndex:1]); ※arは多次元配列 コンソールの表示結果 { item1 ="aaa"; item2 ="bbb"; item3 ="ccc"; } インターネットでは多次元配列のアクセスの仕方が見当たりませんでした。 この様な表示ではなく、この中のaaa,bbb,cccをそれぞれを明示的に取得する方法は存在しますでしょうか? よろしくお願いいたします。

  • Excel2002:複数条件のデータの個数の集計

    苦手な集計について質問させてください。 [A] [B] [1] AAA aaa [2] BBB bbb [3] AAA aaa [4] AAA bbb [5] BBB ccc 上記のようなデータで[A]と[B]のAND条件でみたときの個数を集計したいと思います。 例えば上記であれば、 [A]AAAかつ[B]aaa・・・2個 [A]BBBかつ[B]bbb・・・1個 [A]AAAかつ[B]bbb・・・1個 [A]BBBかつ[B]ccc・・・1個 になります。[B]のデータは[A]のデータに依存せず、[A]の各値にまたがっています。([B]bbbは[A]AAAと[A]BBBの場合があります) 実際のシートでは、全パターンを網羅したリストがA列とB列、集計対象がD列とE列にあります。 上記の例でいえば、以下のようになっています。 [A] [B] [C] [D] [E] [1] AAA aaa AAA aaa [2] AAA bbb BBB bbb [3] BBB bbb AAA aaa [4] BBB ccc AAA bbb [5] BBB ccc つまり[A]列と[B]列が組み合わせパターン、[D]列と[E]列が集計元データです。 ちなみにパターン数が414個、集計元データは29000個程度です。 そして最終的な各パターンの個数を[C]列に表示させたいと思います。 VLOOKUPやピボットテーブルを考えましたが、ピンと来ません。 適切なやり方を教えてください。よろしくお願いします。

  • 配列の組み合わせを数える方法

    配列の組み合わせを数えるイイ方法はないでしょうか? たとえば ArrayA[]={"aaa","bbb","aaa","ccc","bbb","aaa"} ArrayB[]={"1","1","1","2","1","2"} ↑の配列があるとして、 aaa - 1 : 2個 aaa - 2 : 1個 bbb - 1 : 2個 ccc - 2 : 1個 と組み合わせの数を数えることができる方法で悩んでいます。 Strtusを用いて作成しています。 よろしくお願いします。

    • ベストアンサー
    • Java
  • エクセルの文字処理

    以前に同じ様な質問があったかも知れませんが、探しきれなかったので教えてください。 A1~A4の4つのセルに以下のスペースが入った文字列が入っていた場合 A1|AAA A2|AAA BBB A3|AAA BBB CCC A4|AAA BBB CCC DDD    A   B   C   D  1|    AAA 2|AAA BBB 3|AAA BBB CCC 4|AAA BBB CCC DDD という具合にしたいのです。 条件は  ・セル内にスペースで区切られない文字列があった場合には、B列に入れる  ・それ以外はスペースで区切って、A列B列C列D列に入れる  ・文字数は3文字固定ではなく全角半角が混在 以上です。すいません宜しく願いします。

  • 入れ子の構造体について

    例えば、入れ子の構造体を1つ使いたい場合、 struct bbb{ int b; }; typedef struct aaa{ struct bbb a; }AAA; AAA dt; と書くと、「dt.a.b = 10」とやれば、値等を設定できると思いますが、 入れ子の構造体を2つ使いたい場合も、同じように書けるのでしょうか? struct ccc{ int c; }; struct bbb{ struct ccc b; }; typedef struct aaa{ struct bbb a; }AAA; AAA dt; dt.a.b.c = 10; と書けるのでしょうか?こんがらがってしまって、どう書いていいのか・・。 2つでも出来るのであれば、コードの書き方を教えて頂けませんか?