- ベストアンサー
配列をさらに小分けしたい。
以下のような配列があるとします。 No data ------------------ (0) No1 AAA (1) No1 BBB (2) No1 CCC (3) No2 DDD (4) No2 EEE (5) No3 FFF (6) No3 GGG Noごとに処理をさせたいので、処理しやすいようにNoごとに配列を作りたいのですが、どうしていいかわかりません。 よい方法はありませんでしょうか??
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (4)
- taisuke555
- ベストアンサー率55% (132/236)
- imogasi
- ベストアンサー率27% (4737/17068)
- dizzy
- ベストアンサー率38% (10/26)
- dizzy
- ベストアンサー率38% (10/26)
関連するQ&A
- SQLについて
aaa bbb ccc ddd eee ggg hhh ---------------------------------------------- 111 111 111 111 111 111 111 112 112 112 112 112 112 111 112 113 113 113 113 113 111 114 114 114 114 114 114 111 114 114 114 114 114 114 112 114 115 115 114 114 115 111 114 115 115 114 114 115 112 116 116 116 116 116 116 111 116 116 116 116 116 116 112 116 116 116 116 116 117 111 116 116 116 116 116 117 112 118 118 118 118 118 118 118 上記のようなデータより、SQLのSELECTを使用して、以下のように抽出したいです。 抽出条件は以下が全て満たしているものとなります。 ・aaa,ccc,ddd,eee,gggが重複、hhhが小さいもの ・bbbが異なるもの aaa bbb ccc ddd eee ggg hhh ---------------------------------------------- 112 112 112 112 112 112 111 ・・・(1) 112 113 113 113 113 113 111 ・・・(1) 114 114 114 114 114 114 111 ・・・(2) 114 115 114 114 114 115 111 ・・・(2) (1)はaaa,ccc,ddd,eee,gggが重複、bbbが異なるため抽出対象 (2)はaaa,ccc,ddd,eee,gggが重複、bbbが異なるため抽出対象 また、hhhが小さいもの 以上、よろしくお願いします。
- ベストアンサー
- PostgreSQL
- 大量データの一括変換
aaa.bbb ccc.ddd eee.fff ggg.hhh 上記のようなデータが約1万行程度あるのですが、これを下記のようなユーザ名・メルアドに変換するコマンド等、お分かりになる方教えてください。ユーザ名・メルアドの間は半角スペースです。 ある程度自分で調べた結果awk等で出来そうな気がするのですが。。。 ユーザ名 メルアド ↓ ↓ aaa.bbb aaa.bbb@hoge.com ccc.ddd ccc.ddd@hoge.com eee.fff eee.fff@hoge.com ggg.hhh ggg.hhh@hoge.com
- 締切済み
- その他(プログラミング・開発)
- 配列から構造体へデータコピー
配列から構造体へデータのコピーをしたいのですが、 構造体のメンバがビットフィールドで構成されている時の処理がわかりません。 --------test.c----------- #include <stdio.h> #include <string.h> typedef struct{ unsigned char aaa :1; unsigned char bbb :1; unsigned char ccc :1; unsigned int ddd :13; unsigned char eee :2; unsigned char fff :2; unsigned char ggg :4; }test_t; int main(void) { test_t test_t; unsigned char data[]={0x5F, 0xFE, 0x1C}; memcpy(&test_t, data, 4); printf("aaa = %X\n", test_t.aaa); printf("bbb = %X\n", test_t.bbb); printf("ccc = %X\n", test_t.ccc); printf("ddd = %d\n", test_t.ddd); printf("eee = %X\n", test_t.eee); printf("fff = %X\n", test_t.fff); printf("ggg = %X\n", test_t.ggg); return 0; } ------期待出力--------- aaa = 0 bbb = 1 ccc = 0 ddd = 1FFE eee = 0 fff = 1 ggg = 12 「test.c」を実行した時に「期待出力」のような出力を期待していたのですが、実際には aaa = 1 bbb = 1 ccc = 1 ddd = 1 eee = 0 fff = 0 ggg = 0 と表示されてしまいます。 ビットフィールドで構成された構造体に、配列の値をそのままあてる事は出来ないのでしょうか? 出来るだけ、マスクやシフト演算を使用しないで、配列からビット単位で値を抽出したいのですが・・・
- 締切済み
- C・C++・C#
- EXELで困っています。どなたか助けてください!
お世話になります。早速ですが・・・ 下記のような表があります。 ┌──────┬─-─┬─-─┬─-─┬─-─┬─-─┬─-─┬─-─┐ │分類項目・・・・│AAA │BBB │CCC │DDD │EEE │FFF │GGG │ ├──────┼─-─┴─-─┴─-─┴─-─┴─-─┴─-─┴─-─┤ │「、」区切り・・・│AAA、BBB、CCC、DDD、EEE、FFF、GGG │ ├──────┼──────────────────────-─┤ │「 」区切り・・・│AAA BBB CCC DDD EEE FFF GGG │ ├──────┼──────────────────────-─┤ │「,」区切り・・・・│AAA,BBB,CCC,DDD,EEE,FFF,GGG │ └──────┴──────────────────────-─┘ ■不特定の分類項目(何が記入されるかわかりません)のAAなどの 項目を上図、および、下記のように自動的に変換というか、並べ られるようにしたいと思っています。 (1)「、」区切り(全角句点区切り) (2)「 」区切り(全角スペース区切り) (3)「,」半角句点区切り ■【質問1】VBAマクロを使わず関数などの処理にてできない ものでしょうか? また、 【質問2】(1)上図で「、」で区切ったもの (2)同様に「 」で区切ったもの (3)同様に「,」 で区切ったもの 例えとして⇒○「AAA、BBB 」 ⇒×「AAA、BBB、、、、、、、」 このようにしたいのですが? 【質問3】いずれの場合も、その新しくできた文字列を他の ソフトウェアにコピペしようとすると、関数の数式が コピペされてしまします。 もちろんセルをワンクリックで選択すると、値だけが コピペできます。 この点を初心者でも失敗(数式のコピペではなく)する ことなく、値だけをコピペすることが可能でしょうか? どうかよろしくお願いいたします。 <( _ _ )>
- ベストアンサー
- オフィス系ソフト
- CSVデータをツリー表示させたい
業務で、WEBサイトにCSVデータを表示させたいと考えています。 CSVデータは、毎日更新されるもので、行数も日々変更されます。 項目の中に「レベル」という項目があり、この「レベル」の値を使って、 ツリー表示出来ないかと考えています。 希望としては、決められたフォルダに決められたファイル名で、 CSVデータを置けば、自動的にWEB上にツリー表示されるという ことです。 J-query等で、これを実現出来るプラグインが無いか探しているのですが、 なかなか希望に合うものが見つからず、困っています。 (CSVをWEB表示するものは見つかるのですが、ツリー表示出来る ものが見つかりません) 何か、良い方法があれば、ご教示頂けませんでしょうか? 例 コード レベル 品名 規格 ・・・・ コード レベル 品名 規格 ・・・・ 1234 1 AAA aaa -1234 1 AAA aaa 2345 2 BBB bbb ∟2345 2 BBB bbb 3456 3 CCC ccc ∟3456 3 CCC ccc 4567 3 DDD ddd ∟4567 3 DDD ddd 5678 3 EEE eee ∟5678 3 EEE eee 6789 4 FFF fff ∟6789 4 FFF fff 7890 3 GGG ggg ∟7890 3 GGG ggg
- ベストアンサー
- JavaScript
- sedで文字列の抜き出し
ある一部分の文字列を抜き出したく、sedを使用したいと思って試行錯誤しております。 ↓あるファイル内の文字列 aaa bbb=ccc:ddd=eee:fff=ggg: aaa bbb=hhh:ddd=iii:fff=jjj: ※aaaとbbbの間はスペースです。 ※bbb,ddd,fffはある一定のキーワードです。 ※ccc,eee,ggg,hhh,iii,jjjはバラバラの文字列で長さも一定ではありません。 【質問】 上記の文字列の中でddd=の後の文字列(eee,iii)のみを抜き出したいです。 以下のようなsedを試してみましたが、 eee:fff=ggg iii:fff=jjj が抜き出されてしまいます。 sed 's/.*:ddd=\(.*\):\(.*\)$/\1/' 恐れ入りますが、皆様の知恵をお貸し下さい。
- ベストアンサー
- その他(プログラミング・開発)
- すっきり書き言葉に直す方法をおしえてください
「あるいは」を少なくして書き換える方法を教えてください。 「AAAの問題ですが、BBBにおきましては、このCCC許可を受けていない、あるいは許可は持っているが定められたDDD以外のところでEEEをしている、あるいは不法FFFをしている、あるいは違法なGGGをしている場合などが考えられます。」
- ベストアンサー
- 日本語・現代文・国語
- C言語による「テキストファイルの読み書き(fprintf)」について
C言語による「テキストファイルの読み書き(fprintf)」について質問です ずぶの初心者ですが、既知のファイルの1行目に指定した文字列を付加させるプログラムを作りたいと思っています。 以下のように作りました。 ------------------------------------------------------------ #include <stdio.h> int main(void) { FILE *fp; fp = fopen("test.csv","r+"); fprintf(fp,"コントロールカラム1,コントロールカラム2,・・・(略)・・・,コントロールカラム56\n"); fclose(fp); return 0; } ------------------------------------------------------------ このとき「test.csv」の内容が以下のようであったとします。(容量は1MBくらいです。) 001,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj 002,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj ~(略) 5000,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj この状態でプログラムをコンパイルして実行すると、「test.csv」の内容が以下のようになってしまいます。(一行目が消える) AAA,BBB,CCC,DDD,EEE 002,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj ~(略) 5000,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj またcsvの行が増える度に妙な挙動になっていきます・・・(一行あいたり、先頭行が5行ほど消えたり) 希望する動作としては コントロールカラム1,コントロールカラム2,・・・(略)・・・,コントロールカラム56 001,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj 002,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj ~(略) 5000,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj のようになるようにしたいのですがどのようにすればよいのでしょうか。 よろしくお願いします。 (使用ソフト:Borland C++ Compiler, Cpad) 参考にしたサイトの項目:http://homepage3.nifty.com/mmgames/c_guide/17-01.html
- ベストアンサー
- C・C++・C#
お礼
サンプルソース、大変参考になりました。 おかげさまで問題を解決することができました。 ありがとうございましたm(__)m