7o8のプロフィール

@7o8 7o8
ありがとう数13
質問数0
回答数23
ベストアンサー数
5
ベストアンサー率
55%
お礼率
0%

  • 登録日2009/10/14
  • 2次元配列で2項目についてソートのやりかたについて

    こんにちは. VS2005 C++ MFC ダイアログベースでソフトを作成しています. CString型の配列 Array[100000][3] を定義し, CSVファイルから読み込んだ値を格納しています. 1列目 X座標 2列目 Y座標 3列目 結果 ファイルから読み込んだデータは以下のように y優先でxとyの値で昇順に並んでいます. _____[0] [1] [2] [0] 200 100 OK [1] 201 100 OK [2] 202 100 OK [3] 200 101 NG [4] 201 101 OK [5] 202 101 OK [6] 201 102 NG [7] 202 102 OK … これを以下のように x優先でxとyの値で昇順に並び変えたいのですが どのようにすればよいでしょうか? _____[0] [1] [2] [0] 200 100 OK [1] 200 101 NG [2] 201 100 OK [3] 201 101 OK [4] 201 102 NG [5] 202 100 OK [6] 202 101 OK [7] 202 102 OK かつ,100000行もあるのでスピードが速い方法だと助かります. 具体的なコードもお願いいたします.

  • C++で10進数→2進数に

    C++で10進数を2進数に変換するプログラムを 順番通りに表示できるようにする っていうのを配列を使って作るんですが 下はあまり関係ないですが、こんな感じのが参考になるかなと思ったんですが、どうすればいいんですか #include <iostream> using namespace std; int main() { int i,goukei=0; int kokugo[5]; float heikin; for(i=0;i<5;i++) { cout << "出席番号" << i+1 << "番の国語の成績を入力してください\n"; cin >> kokugo[i]; goukei = goukei + kokugo[i]; } heikin = (float)goukei/5.0; cout << "平均点は" << heikin << "点です\n"; for(i=0;i<5;i++) { cout << "出席番号" << i+1 << "番の国語の成績は" << kokugo[i]; cout << "点で、平均との差は" << heikin-(float)kokugo[i] << "です\n"; } return 0; }

    • ベストアンサー
    • noname#127615
    • C・C++・C#
    • 回答数4
  • 処理速度を早くしたい!

    このサイトは初めてなので、至らない点があればお許しを。 画像処理ソフト(そこそこ本格的なもの)を開発したら、 処理速度が遅すぎる!(>.<)★←解決したい内容 (プラットフォームは64bit-QuadコアPCで、OSはvista) (Visual Studio 2005 C++で開発) この原因はたぶん、  1)なんと実メモリ占有が、5.6GBも(実装8GB)    (残りメモリが数10MBしか余裕がないようだ)  2)HDDへのアクセスが1分間に300~1100回発生している つまり残りメモリが少ないので、ページングしているからか? または処理プログラムをDLLにしたから、HDDに頻繁にアクセス? そこで、★質問A) 何にメモリをとられているか、分かるツールはないか? そしてこの配列にこれだけ、とかを、大きい順に見れるような… さらに、★質問B) もしDLLにしたのが問題であるなら、 DLLを実メモリに一旦展開したら、ずっと常駐して、 HDDへのアクセスが不要になるようなビルド方法があるらしい? ついでに、★質問C) 高速化のため一部並列threadプログラムでコーディングしたが、 使い難いので一部openMPを使ったが、逆に極端に遅くなった。 もちろん競合しないようにしたつもりだけど、 そもそもthreadPGとopenMPは共存できないの? ちなみに私くしめ、現役PGから退いて数年以上です。 最新の開発環境、その他用語など、知らない点も多し。 だから質問内容のピントがズレてるかもしれない (>.<) その点を同情して、このオジサンPGにやさしく教えてね♪ /E

  • 2次元配列で2項目についてソートのやりかたについて

    こんにちは. VS2005 C++ MFC ダイアログベースでソフトを作成しています. CString型の配列 Array[100000][3] を定義し, CSVファイルから読み込んだ値を格納しています. 1列目 X座標 2列目 Y座標 3列目 結果 ファイルから読み込んだデータは以下のように y優先でxとyの値で昇順に並んでいます. _____[0] [1] [2] [0] 200 100 OK [1] 201 100 OK [2] 202 100 OK [3] 200 101 NG [4] 201 101 OK [5] 202 101 OK [6] 201 102 NG [7] 202 102 OK … これを以下のように x優先でxとyの値で昇順に並び変えたいのですが どのようにすればよいでしょうか? _____[0] [1] [2] [0] 200 100 OK [1] 200 101 NG [2] 201 100 OK [3] 201 101 OK [4] 201 102 NG [5] 202 100 OK [6] 202 101 OK [7] 202 102 OK かつ,100000行もあるのでスピードが速い方法だと助かります. 具体的なコードもお願いいたします.

  • スタックを用いて整数配列を入れ替えるプログラムがわかりません…!

    C言語プログラミングの超初心者です。 「スタックを用いて0~9の10個の整数配列を5個ずつ並び替えるプログラムをつくる」(0123456789→4321098765) という課題に取り組んでいるのですが、 お恥ずかしいのですがスタック・プッシュ・ポップの関係を何とか理解した程度で、どのようにプログラミングを組めばよいのかわかりません…! 上記の課題の前提として、「0~100までの整数の並び順を逆にする」(0 1 2…100→100 99 98…0)が与えられていました。途中で分からなくなってしまっため、恥ずかしながら途中までなのですが、記述させていただきます。こちらのプログラムが参考になるようであれば、使っていただければ幸いです。 #include<stdio.h> #include<stlib.h> #define STACKLENGTH 100 #define LENGTH 10 int stack[STACKLENGTH]; int stack_p = 0; void print(void); void Print(char*,int*a,int); int main(int arg,char** argv){ int a[LENGTH]; int ii; for (ii=0; ii<LENGTH, ii++){ a[ii]= rand()%101; } Print("入れ替え前",a,LENGTH); for(ii=0; ii<LENGTH; ii++){ push(a[ii]); } for (ii=0; ii){ a[ii]=Pop(); } Print("入れ替え後",a,LENGTH ); } お手数をおかけします。とても困っており、ぜひご指導をお願いいたします…!