syampoooooooooo の回答履歴

全13件中1~13件表示
  • VC++のincludeパスの記述の質問

    VC++6.0のincludeファイルのパスの設定について質問します。 下記の如くパスを設定していますが、ファイルは読み込めないエラーが 発生します。 ========================================= パスの設定:c:\Program Files\Microsoft Visual Studio 9.0\VC\include\ ========================================= 尚 \ は 逆スラシュをキーインしていますが、VC++6.0では表示は¥となります。 OKWaveのブラウザーでは、キーボードの通り\と表示されます。 ========================================== エラーの内容: c:\libusb-1.0.19\msvc\errno.h(14) : fatal error C1083: インクルード ファイルがオープンできません。'crtdefs.h': No such file or directory ========================================== 注)上記のパスには、'crtdefs.h'があることは確認しています。 Q1) 上記のエラーの解決方法は? Q2) VC++6.0で、逆スラシュをそのまま表示する設定はありますか? 初心者の質問ですが、宜しくお願いします。

  • VC++のincludeパスの記述の質問

    VC++6.0のincludeファイルのパスの設定について質問します。 下記の如くパスを設定していますが、ファイルは読み込めないエラーが 発生します。 ========================================= パスの設定:c:\Program Files\Microsoft Visual Studio 9.0\VC\include\ ========================================= 尚 \ は 逆スラシュをキーインしていますが、VC++6.0では表示は¥となります。 OKWaveのブラウザーでは、キーボードの通り\と表示されます。 ========================================== エラーの内容: c:\libusb-1.0.19\msvc\errno.h(14) : fatal error C1083: インクルード ファイルがオープンできません。'crtdefs.h': No such file or directory ========================================== 注)上記のパスには、'crtdefs.h'があることは確認しています。 Q1) 上記のエラーの解決方法は? Q2) VC++6.0で、逆スラシュをそのまま表示する設定はありますか? 初心者の質問ですが、宜しくお願いします。

  • データ構造とアルゴリズムの問題です

    要素数がnである配列aの要素の合計を求めるアルゴリズムのループ端によるフローチャートを完成せよ(後判定繰返し) sum =a[0] i=1; do{sum=sum+a[i]; i++; }while i<n; a[0] → sum 1 → i 後判定繰返し | □→sum; i+1 → i | □ 後判定繰返し □の中を埋めるんですが教えてください

  • テニス大会のタイムテーブルのプログラミングについて

    テニス大会の乱数表(プログラミング)作成をお手伝いいただけませんか? 大会開催に関して、下記の比較的、複雑な条件下で大会を運営しています。 そこでテニス大会の乱数表(プログラミング)作成していただける方を探しています。 対戦表(~班~ペア vs ~班~ペア)×(85~100試合) はこちらで作成いたします。 そこで、それらの試合を 以下の(1)~(17)の条件を満たしたうえで 試合投入できるようなスケジュール(順番と枠組みのみでOK) を組めるプログラムを探しております。こちらOSはウインドウズ7です。 ---------条件は以下です-------- (1)「3日」で完了する「ダブルス」のテニス大会 総人数は55~70名程のメンバーが、 あらかじめ「4つの班」 に分かれ、人数はほぼ均等に振り分けられている。 ここでは(o班、j班、n班、y班とする) (2)班内でペアを作り、他班のペアとダブルスの試合する。 一人あたりの試合数がおおよそ6試合前後になるように私が組んでいるが、 各人の試合数はその人によって異なる。 (大会の総試合数はおおよそ80~100試合ぐらい) レベル別に近い者同士がペアを組んで、他の班のおおよそ同レベルの相手と試合できるように事前に組んでいる。 なので、すべての対戦内容は(班内でのペアと、 その対戦相手の組み合わせ)は予め決まっているし、 各々の試合内容は大会内での他の試合の結果から変動することはない。 (3)大会プログラムは1日目、2日目、3日目ともに ・朝A (3試合) ・朝B (6~8試合) ・朝C (4試合) ・昼A (3試合) ・昼B (9~12試合) ・夜A (2試合) 以上のような予定で行うとする。 (4)コートについては、頃合いをみて運営スタッフが空いたコートに試合をコールする。 ゆえに最大のコート数や、コート番号はここでは無視する。 (5)3日目は、1、2日目のどちらよりも少ない試合数であるとする。 また、1日目と2日目の試合数の差は最大3つまでとする。 (6)1人が一日分として試合できる数は1~3試合である。 0試合と4試合以上は不可能とする。 (7)朝A,Bでの試合を禁止される人もいる。各人について入力欄を設け制約の変更がきくようにしたい (8)一日分で3試合行うことがが禁止される人もいる。各人について入力欄を設け制約の変更がきくようにしたい (9)個々人にについて 試合間隔は「自分の入っていない6試合」 を空けなければ次の試合に入ってはならない。 「6試合分の時間」ではなく「必ず6試合あける」こととする。 この条件(9)は日にちごとに有効だが、日は跨がない。 (10)「朝A、昼A、夜A」 の(2試合または3試合)は、条件(9)の試合間隔を計算する際には、 まとめて1試合分としてでカウントする 例えば、、、 ・(朝A-1~朝A-3)のいずれかの試合に出場した選手は6試合の間隔をあけるため、 (朝B‐1 ~ 朝B-6)には出場できない。 ・朝C-4に出場した選手は6試合の間隔をあけるため、 (昼A-1~昼A-3、昼B-1~昼B-5)には出場できない。 (11)夜Aで対戦を行うペアとその対戦相手ペアは初めから決まっていて固定である。 配置・内容は変動しない試合だが、試合出場者はその他の条件の対象としてカウントされる試合である。 (12)ある試合が「その試合の参加者(4名のうちの誰か1人、もしくは2~4人で複数の可能性もある)にとっての、 その大会内での最後の試合」となるように設定しなければならないことがある。 例えば、一人あたり6試合行う人がいたとしたら、その人にとって必ず6番目に持ってこなければならない試合 が存在する可能性がある。 (13)(n班のペア vs y班のペア)による対戦が3つ以上連続してはならない。 またこれは、(n班,o班,y班,j班) のすべての班同士についても同様とする。 ただし夜Aの試合については考慮しない (14)n班全体で見たときに、 y班のペアとの対戦が一日分の試合の半分以上を占めてはならない 。 またこれは、(n班,o班,y班,j班) のすべての班同士についても同様とする。 (15)もし3日間の大会ではなく、 2日間の大会だと総試合数は60試合程度になる。 その場合、2日目の試合数が1日目より多くなってはいけない。 (16)大会が2日間のときでも、(1)~(17)を満たすスケジュールを出力できるプログラミングの仕様だと望ましい。 3日間用と2日間用が別々になっても大丈夫です。 (17)出力される3日間のスケジュールは以上の条件を満たす、ランダムに1パターンないしは、全パターンの出力が望ましい。 -------------条件は以上ですーーーーーーーーーーーーーー 8月31日の大会に間に合わせたいと考えています。 が、難しい場合については (12)(13)(14)(15)の条件については, 手作業で満たしているかどうか確認を行うので省いても大丈夫です。

  • C++で変数の型を途中で切り替えたい

    今までプログラム内で、設定データを格納するためのメモリの宣言としてenv_tという構造体を使って env_t * m_pEnv; この宣言を行っていたのですが、プログラム途中でenv_tの構造体に+30バイト程度追加しなければならない箇所が出たため新たにenv_02_tという構造体を作成しました。 その構造体を使わなくてはならない分岐に来たら delete m_pEnv; として、 m_pEnv = new env_02_t; と行ったところ、次のようなエラーが発生しました。 [BCC32 Error] uMain.cpp(2801): E2034 Cannot convert '_KUMA_ENV_02_ *' to '_KUMA_ENV_ *' てっきりこれで構造体をenv_tからenv_02_tに切り替えることが可能と思い込んでいたのですが、切り替えるにはどうしたらよいのかどうぞ、ご教示頂きますようお願い致します。

  • x64移行でのインラインアセンブラ修正

    Win32のプログラムをx64に移行する仕事を頼まれました。 プラットフォームをx64に移してビルドを行ったところ、 インラインアセンブラを使用していた以下のコードでエラーが発生しました。 ~前略~ __asm { mov eax, 0; /* EAXに0を入れる */ cpuid; /* CPUID実行 */ mov dword ptr [vender_sig + 0], ebx; /* 最初の4文字 */ mov dword ptr [vender_sig + 4], edx; /* 次の4文字 */ mov dword ptr [vender_sig + 8], ecx; /* 最後の4文字 */ mov byte ptr [vender_sig + 12], 0; /* ラストに \0 */ } ~中略~ __asm { mov eax, 1; /* EAXに1を入れる */ cpuid; /* CPUID実行 */ mov dword ptr [prosessor_sig], eax; /* プロセッサシグネチャ */ mov dword ptr [function_flag], ebx; /* ファンクションフラグ */ mov dword ptr [feature_flag2], ecx; /* Featureフラグ */ mov dword ptr [feature_flag1], edx; /* Featureフラグ */ } ~中略~ __asm { mov eax, 1; cpuid; /* CPUID実行 */ mov dword ptr [t], eax; /* top */ mov eax, 3; cpuid; /* CPUID実行 */ mov dword ptr [m], edx; /* middle */ mov dword ptr [b], ecx; /* bottom */ } ~後略~ x64ではインラインアセンブラが使用できないということはわかったのですが、 これをどう直していいかがわかりません。 アドバイスよろしくお願い致します。

  • C言語について

    2つの文字列を入力して別の文字列にコピーするプログラムをつくっているのですが、どこが間違っているのでしょうか?教えていただけませんか? /*文字列連結*/ void *my_stract(char*, char*, char*); void main(void) { char bun1[100],bun2[100],bun3[200]; printf("文字列1を入力してください\n"); gets(bun1); printf("文字列2を入力してください\n"); gets(bun2); my_stract(bun1,bun2,bun3); puts(bun3); } char *my_stract(char *str3, char *str2, char *str1) { char *p1, *p2, *p3; p1=str1; p2=str2; p3=str3; while(*p1) { *p3=*p1; p1++; p3++; } while(*p2) { *p3=*p2; p2++; p3++; } *p3='\0'; return str3; }

  • 括弧のネストが多くて深いと・・・

    身の回りには様々なソフトウエアがあって、C言語で作られているものが1番多いと聞きます。InternetExplorerはC言語で作られてるのかな。 さて、C言語には、if(a>0){・・・}とか、while(a>0){・・・}のようなコードがあります。これでIEを作るとなると、、、 {・・・}{{・・・}・・・{・・・}{・・・}{・・・{・・・}{・・・{・・・{{・・・}・・・}}}}{・・・{・・・}}} みたいな感じでしょうか?括弧のネストとか、入れ子って言うんですかね。IEだと、これが100層200層1000層くらいあるのでしょうか? ここまで括弧が多いと、必然的に右括弧と左括弧の数がズレて、エラーになっちゃうでしょう。しかも、階層構造が複雑で、混乱すると思います。経験積めば慣れるのでしょうか?コツとかあるのでしょうか? 私も5層くらいなら経験あると思いますが、この程度に私は限界を感じています。10層が必要になると、逃げ道を探すでしょう。 プログラマーって大変だね。

  • プロセス内のAPI関数名を知りたい

    プロセスに読み込まれているAPIモジュールの名称一覧は、CreateToolhelp32SnapshotでTH32CS_SNAPMODULEとプロセス番号を指定すれば得られます 同じようにプロセスに読み込まれているAPI関数名の一覧表を簡単に得る方法はありますか? ---------------------------------------- 上述のごとくCreateToolhelp32Snapshotで得たモジュール一覧表がありますのでプログラムではなく、モジュール内の関数名を手操作・手調べでも結構ですから簡単に知る方法をご教授ください 【理想を言えばプログラム的に知る方法です お願いします】

  • プロセス内のAPI関数名を知りたい

    プロセスに読み込まれているAPIモジュールの名称一覧は、CreateToolhelp32SnapshotでTH32CS_SNAPMODULEとプロセス番号を指定すれば得られます 同じようにプロセスに読み込まれているAPI関数名の一覧表を簡単に得る方法はありますか? ---------------------------------------- 上述のごとくCreateToolhelp32Snapshotで得たモジュール一覧表がありますのでプログラムではなく、モジュール内の関数名を手操作・手調べでも結構ですから簡単に知る方法をご教授ください 【理想を言えばプログラム的に知る方法です お願いします】

  • C言語初心者です。書いたプログラムを採点して下さい

    入力された0~100までの10個の数値から、 最小値と最大値を表示するプログラムを書きました。 #include <stdio.h> int getmin(int * pvalue); int getmax(int * pvalue); int main(void) {     int i,value[10];     int minimum,maximum;     printf("0~100の範囲で10個の数値を入力してください:\n");     for(i=0;i<10;i++){         scanf("%d",&value[i]);         if(value[i] < 0 || value[i] > 100)         {             printf("0~100の範囲です:\n");             scanf("%d",&value[i]);         }     }     minimum = getmin(value);     maximum = getmax(value);     printf("最小値は%d\n",minimum);     printf("最大値は%d\n",maximum);     return 0; } int getmin(int * pvalue) {     int i=0,j;     for(j=1;j<10;j++)     {         while(pvalue[i] > pvalue[j]){i++;}     }     return pvalue[i]; } int getmax(int * pvalue) {     int i=0,j;     for(j=1;j<10;j++)     {         while(pvalue[i] < pvalue[j]){i++;}     }     return pvalue[i]; } 正常に作動はしましたが、 記述に無駄が多い、分かりづらい などあればご指導いただけますか? よろしくお願いします。

  • コンソールアプリケーションの空のプロジェクト

    VisualStudioでC++プロジェクトを作る際、 「コンソールアプリケーション、プロジェクト、空のプロジェクト、メイクファイルプロジェクト」 からプロジェクトの種類を選びますが、このとき 「コンソールアプリケーションを選び、「アプリケーションウィザードで「□空のプロジェクト」にチェックを入れて作った」プロジェクトと、 「空のプロジェクトを選択して作った」プロジェクトはどう違うのでしょうか? 先日プログラムを書いていたのですが、全く同じ文章であるにもかかわらず前者ではコンパイルエラーが起こり、後者は問題なく起動するということがありました。 プロジェクトの種類によってどのような動作をする際に差が出るのでしょうか? よろしくお願いします。 なお、上記の「全く同じ文章であるにもかかわらず前者ではコンパイルエラーが起こり、後者は問題なく起動した」プログラムは以下のもので、「58行目と63行目のCLASS_NAMEにご完成がないとエラーが出ました」。 #define WIN32_LEAN_AND_MEAN #include <Windows.h> int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int); bool CreateMainWindow(HINSTANCE, int); LRESULT WINAPI WinProc(HWND, UINT, WPARAM, LPARAM); HINSTANCE hinst; const char CLASS_NAME[] = "WinMain"; const char APP_TITLE[] = "Hello World"; const int WINDOW_WIDTH = 400; const int WINDOW_HEIGHT = 400; int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLinc, int nCmdShow) { MSG msg; if (!CreateMainWindow(hInstance, nCmdShow)){ return false; } int done = 0; while (!done) { if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { if (msg.message == WM_QUIT){ done = 1; } TranslateMessage(&msg); DispatchMessage(&msg); } } return msg.wParam; } LRESULT WINAPI WinProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { case WM_DESTROY: PostQuitMessage(0); return 0; } return DefWindowProc(hWnd, msg, wParam, lParam); } bool CreateMainWindow(HINSTANCE hInstance, int nCmdShow) { WNDCLASSEX wcx; HWND hwnd; wcx.cbSize = sizeof(wcx); wcx.style = CS_HREDRAW | CS_VREDRAW; wcx.lpfnWndProc = WinProc; wcx.cbClsExtra = 0; wcx.cbWndExtra = 0; wcx.hInstance = hInstance; wcx.hIcon = NULL; wcx.hCursor = LoadCursor(NULL, IDC_ARROW); wcx.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH); wcx.lpszMenuName = NULL; wcx.lpszClassName = CLASS_NAME; wcx.hIconSm = NULL; if (RegisterClassEx(&wcx) == 0){ return false; } hwnd = CreateWindow(CLASS_NAME, APP_TITLE, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, WINDOW_WIDTH, WINDOW_HEIGHT, (HWND)NULL, (HMENU)NULL, hInstance, (LPVOID)NULL); if (!hwnd){ return false; } ShowWindow(hwnd, nCmdShow); UpdateWindow(hwnd); return true; }

  • VisualStudio2013にspy++

    VisualStudio2013のDVDがMSDNから送られてきたのですが インストールしてもspy++がついてきていません。 廃止になったのでしょうか? それとも別個にインストールできるのでしょうか