επιστημη(@episteme) の回答履歴
![](https://gazo.okwave.jp/okwave/images/contents/av_nophoto_100_6.gif)
- c#についての質問です。
c#についての質問です。 お世話になります。 .NETc#で開発をしています。 初心者です。 フォーム上にいくつかのlabelを配置させており そのlabel(仮にlabel1)に数字を入れたら、 隣のlabel(仮にlabel2)が8で掛けた演算結果 の数字を表示させたいのですが・・。 その記述方法が分かりません。 基本的な事だとは思うのですがどなたかご親切な方、 ご教授お願い致したく宜しくお願い致します。
- c#についての質問です。
c#についての質問です。 お世話になります。 .NETc#で開発をしています。 初心者です。 フォーム上にいくつかのlabelを配置させており そのlabel(仮にlabel1)に数字を入れたら、 隣のlabel(仮にlabel2)が8で掛けた演算結果 の数字を表示させたいのですが・・。 その記述方法が分かりません。 基本的な事だとは思うのですがどなたかご親切な方、 ご教授お願い致したく宜しくお願い致します。
- c#についての質問です。
c#についての質問です。 お世話になります。 .NETc#で開発をしています。 初心者です。 フォーム上にいくつかのlabelを配置させており そのlabel(仮にlabel1)に数字を入れたら、 隣のlabel(仮にlabel2)が8で掛けた演算結果 の数字を表示させたいのですが・・。 その記述方法が分かりません。 基本的な事だとは思うのですがどなたかご親切な方、 ご教授お願い致したく宜しくお願い致します。
- c#についての質問です。
c#についての質問です。 お世話になります。 .NETc#で開発をしています。 初心者です。 フォーム上にいくつかのlabelを配置させており そのlabel(仮にlabel1)に数字を入れたら、 隣のlabel(仮にlabel2)が8で掛けた演算結果 の数字を表示させたいのですが・・。 その記述方法が分かりません。 基本的な事だとは思うのですがどなたかご親切な方、 ご教授お願い致したく宜しくお願い致します。
- 外部ファイルでのtemplate関数の実装方法
外部ファイルでのtemplate関数の実装方法 sub.cppにtemplate関数を実装し、 main.cppで、sub.cppのtemplate関数を呼び出す、 みたいなことをやりたいのですが、 コンパイルは通りますが、リンクエラー?になってしまいます。 以下が上記のサンプルプログラムです。 //main.cpp #include <vector> #include <iostream> using namespace std; template <typename t_ret, typename t_array> t_ret sub_t(const t_array&); int main (int argc, char *argv[]) { vector<double> v; v.push_back(1.1); v.push_back(2.2); cout << sub_t<double, vector<double> >(v) << endl; return 0; } // sub.cpp #include <vector> using namespace std; template <typename t_ret, typename t_array> t_ret sub_t(const t_array& array) { return array[0]+array[1]; } //コンパイルログ main.o: In function `main': main.cpp:(.text+0x134): undefined reference to `double sub_t<double, std::vector<double, std::allocator<double> > >(std::vector<double, std::allocator<double> > const&)' collect2: ld returned 1 exit status make: *** [main] Error 1 どなたか、対処方法を教えてください。 宜しくお願いします。
- 外部ファイルでのtemplate関数の実装方法
外部ファイルでのtemplate関数の実装方法 sub.cppにtemplate関数を実装し、 main.cppで、sub.cppのtemplate関数を呼び出す、 みたいなことをやりたいのですが、 コンパイルは通りますが、リンクエラー?になってしまいます。 以下が上記のサンプルプログラムです。 //main.cpp #include <vector> #include <iostream> using namespace std; template <typename t_ret, typename t_array> t_ret sub_t(const t_array&); int main (int argc, char *argv[]) { vector<double> v; v.push_back(1.1); v.push_back(2.2); cout << sub_t<double, vector<double> >(v) << endl; return 0; } // sub.cpp #include <vector> using namespace std; template <typename t_ret, typename t_array> t_ret sub_t(const t_array& array) { return array[0]+array[1]; } //コンパイルログ main.o: In function `main': main.cpp:(.text+0x134): undefined reference to `double sub_t<double, std::vector<double, std::allocator<double> > >(std::vector<double, std::allocator<double> > const&)' collect2: ld returned 1 exit status make: *** [main] Error 1 どなたか、対処方法を教えてください。 宜しくお願いします。
- Cソースをexeにコンパイルする
Cソースをexeにコンパイルする http://freenx.berlios.de/download.phpに置いてあるfreenx-X.Y.Z.tar.gzをWindows上で動作するexeにコンパイルしたいのですが、うまくできませんでした。使用しているOSはWindows XPです。 cygwinをインストールしてtar.gzを展開したフォルダまで行き、makeを実行しましたが、以下のようなエラーがでました。 http://pastebin.com/bfQtMFyW この方法でexeにできるのかどうかも分からないのですが、もし別の方法があるなら教えてください。お願いします。
- ゲームプログラミングの習得について(初心者)
ゲームプログラミングの習得について(初心者) ゲームのプログラマーになりたいのですが、スクールに通うべきか、独学かで悩んでいます。 私の現在のスキルです。 ・プログラミングの基礎はわかりますが、クラスやポインタは知りません。 ・VC++は触ったことはありませんが、VC#で超簡単なアプリは作ったことがあります。 ・2D/3DCGソフトは10年以上使っていますので問題ありません。 ・DirectXやOpenGLのコーディングは全くわかりません。 ・レンダリングの概念はわかります。 ・リアルタイムシェーダーのCg言語は多少書いたことはあります。3DCGソフト上で動く簡単なシェーダーは作成できます。 ・3D数学の書籍は持っていますが、10分の1くらいしか理解できていません。クォータニオンとかは概念はなんとなくわかりますが、一から作るのは全然ダメです。ベクトルは大丈夫ですが、行列はまあまあなんとなく理解できます。 このような初歩レベルであって、仕事としては全く通用しないレベルです。 プログラミングの基礎の基礎ができていないし、DirectXで高度なエフェクト表現とかは全然無理です。 そこで通えそうなゲームスクールを見てみたのですが、私は平日は夜遅くまで仕事をしているので 昼間の授業はもちろん、夜間も通えません。土日にやっている学校は少なく、2校ほどあったのですが、DirectXやOpenGLの授業はなさそうでした。 学校に通うことすら無理なのではないかと思っています。 そうなると、独学しかないのですが、そもそも独学だけで行列やクォータニオンを駆使し、高度なエフェクトを合成してレンダリングし、パーティクルで爆発させたりするレベルまで、スキルアップが可能なのでしょうか? 主に描画系に強くなりたいのです。海外の分厚いゲーム書籍は非常に難解に見えます。 とても悩んでいます。とくにゲームプログラマーの方々、よろしく御指南をください。
- OpenCLで演算した結果(座標)を使用して、OpenGLのライブラリ
OpenCLで演算した結果(座標)を使用して、OpenGLのライブラリ(glvertex)などで描画したいのですが、実装方法がわかりません。 OpenCLで算出した結果を、一度ホスト(CPU)側に戻す方法はわかっているのですが、データ量が多いのでデバイス(GPU)側のままの状態にしたいと考えています。
- ベストアンサー
- C・C++・C#
- help_me_1999
- 回答数1
- この前に引き続き質問です。
この前に引き続き質問です。 http://homepage2.nifty.com/c_lang/sdk/sdk_00.htm ここのプログラムを myProg.hbrBackground =GetStockObject(WHITE_BRUSH); myProg.hbrBackground =(HBRUSH)GetStockObject(WHITE_BRUSH); に修正した上で Visual C++2010Expressでコンパイルしようとすると、 1>MSVCRTD.lib(wcrtexew.obj) : error LNK2019: 未解決の外部シンボル _wWinMain@16 が関数 ___tmainCRTStartup で参照されました。 と表示されます http://msdn.microsoft.com/ja-jp/library/799kze2z.aspx ここを見てサブシステムをコンソールに変えてみましたが、結果は変わりませんでした。 ちなみにWindows7 64bitですが関係はあるのでしょうか?
- コンパイル結果が違う
コンパイル結果が違う C言語を勉強中の初心者です。 以下のプログラムをVC++6.0のCL.exeでコンパイルするとうまくいくのですが、VC++2010のCL.exeでコンパイルして実行すると、t2の値が0になってしまいます。 また、VC++2010でコンパイルした方が実行結果も遅いです。 #include <stdio.h> #include <time.h> int main(void) { int i = 1; time_t t1, t2; time(&t1); while(i <= 30000) printf("%d,", i++); time(&t2); printf("\ntime1=%ld time2=%ld\n", t1, t2); printf("かかった時間は、%d秒です\n", t2-t1); return 0; } vc++2010でコンパイルした方のt2の値が、0で表示されてしまうのはなぜでしょうか? よろしく、お願いします。
- EMBARCADERO C++Builder 2010を使用してCのプ
EMBARCADERO C++Builder 2010を使用してCのプログラミングを勉強しています。 http://okwave.jp/qa/q3367120.html 上記の質問を参考に、ソースを書いて、コンソールアプリケーションでプロジェクトを作成、プログラムを動作させることはできています。 ただ、プログラム実行が終わった後もコマンドプロンプトを表示させたままにして動作を確認したいのですが、どのように設定すればいいのでしょうか?
- ベストアンサー
- C・C++・C#
- greatchahang
- 回答数1
- C++言語の課題です
C++言語の課題です 4つの数字をキーボードから入力させ、入力が終わったら、その最大値を表示するプログラムを作成しなさい という問題が出ました。 4つの数字を入力して 読み込むまではわかりましたが 条件分岐のところから わからなくなりました。 使ってる文法は printf scanf if elseif などです どなたか教えて下さい
- STLのstringのサイズが0なのに、printfできちゃうのはなぜ
STLのstringのサイズが0なのに、printfできちゃうのはなぜ? たとえば、以下のような小文字変換処理を考えます。 std::string str = "ABC"; std::string strTmp = ""; std::transform( str.begin(), str.end(), strTmp.begin(), ptr_fun(::tolower) ); この時、strTmpには"abc"が入っていると思っていたのですが、 strTmp.compare("abc") が0になりませんでした。strTmp.size()が0になっており、どうも空文字""と認識されているようです。 ですが、 printf( strTmp.c_str() ); とすると、"abc"と出力されます。printfで上記のようにデバッグしていたので、なかなかミスが発見できなかったのですが、strTmpの初期化で""を入れているために、compareがうまく動かなかったようです。 std::string strTmp = ""; のところを std::string strTmp = str ; と直すと、compareが期待通りに動きました。 長くなってすみませんが、ここからが質問です。 1.stringの初期化時に確保した文字列長は、その後変更できないのでしょうか?今まで、普通に""で初期化した後、別の文字列を代入したりしていたような気がするのですが…。 2.strTmpのサイズが0にもかかわらず、printfで(一見)期待通りの結果が出力されたのは、なぜでしょうか?printfは、ヌル文字までを出力する仕様みたいですが、そもそもstringのsize()も、ヌル文字までの長さを返すのではなかったでしょうか。 全ソースは、以下の通りです。 #include <string> #include <algorithm> #include <functional> #include <ctype.h> #include <stdio.h> int main() { std::string str = "ABC"; std::string strTmp = ""; // strにすると動く std::transform( str.begin(), str.end(), strTmp.begin(), std::ptr_fun(::tolower) ); printf( "compare = %d\n", strTmp.compare("abc") ); printf( "size = %d\n", (int)strTmp.size() ); printf( "strTmp = %s\n", strTmp.c_str() ); return 0; }
- freadでcsvファイルを読み込んだ後、改行コードを終端文字に変換し
freadでcsvファイルを読み込んだ後、改行コードを終端文字に変換したいです。 どのように変換したらいいでしょうか? C++初心者です。よろしくおねがいいたします。
- ベストアンサー
- C・C++・C#
- komakomachi
- 回答数4
- 固定幅フィールドのテキストデータをifstreamを使って読み込む方法
固定幅フィールドのテキストデータをifstreamを使って読み込む方法 について教えてください。 計算結果の出力ファイルに1行につき8カラム、20カラム、10カラムのデータがあるとします。 例えば 1.2345671.2345678912345678911.23456789 このデータ行には 1.234567(8カラム幅) 1.234567891234567891(20カラム幅) 1.23456789(10カラム幅) の3つの固定小数点の数字が書かれています。 上記例のように3つ(複数)の数字が必ずしもホワイトスペース区切りにはなっていないものとします。 これをC++標準ライブラリのifstream や stringstreamを用いて読み込む場合、どのような記述をしなければならないのでしょうか? たとえば、 int main(int argc, char** argv) { double data[3]; char buf[BUFSIZ]; ifstream ifs( argv[1] ); // argv[1] には上記データが書かれたファイル名が入っているとします。 stringstream str; while( !ifs.eof() ) { if( !ifs.getline( buf, BUFSIZ, '\n' ) ) break; str << buf; str >> setw(8) >> data[0] >> setw(20)>> data[1] >> setw(8) >> data[2]; } cout << data[0] << " " << data[1] << " " << data[2] << endl; return 0; } のような書き方だと、以下のように出力されてしまい、幅を指定しているsetw()が効いていません。 1.23457 0.234568 0.234568 恐らく、'.'がセパレータとして使われて読み込まれているものと思います。 sscanf( buf, "%8lf%20lf%10lf", &data[0], &data[1], &data[2] ); を使うしか方法が無いのでしょうか? 開発環境は ubuntu上のg++ 4.4.3 です。
- 「new 式」 で、変数を 式 として指定することはできますか?
「new 式」 で、変数を 式 として指定することはできますか? 例えば次のような感じで、変数clの内容によりclassAあるいはclassBをnew するようなことがしたいです。 class base [ ... }; class classA : public base { .... }; class classB : public base { .... }; classA* ca; classB* cb; base* cl; cl = classA; ca = new cl; cl = classB; ca = new cl; これにより、多種のclassをnewする際にいちいち pa = new classA; pb = new classB; pc = new classC; pd = new classD; ............ としないで、 for (n=0; n<xxx; n++) p[n] = new cl[n]; …みたいに簡潔に書けないかなと考えてます。 よろしくお願いします。
- 「new 式」 で、変数を 式 として指定することはできますか?
「new 式」 で、変数を 式 として指定することはできますか? 例えば次のような感じで、変数clの内容によりclassAあるいはclassBをnew するようなことがしたいです。 class base [ ... }; class classA : public base { .... }; class classB : public base { .... }; classA* ca; classB* cb; base* cl; cl = classA; ca = new cl; cl = classB; ca = new cl; これにより、多種のclassをnewする際にいちいち pa = new classA; pb = new classB; pc = new classC; pd = new classD; ............ としないで、 for (n=0; n<xxx; n++) p[n] = new cl[n]; …みたいに簡潔に書けないかなと考えてます。 よろしくお願いします。
- 【C#】文字列の最後に改行を入れていく処理
【C#】文字列の最後に改行を入れていく処理 C#初心者です。 ファイルを一行読み込むごとに、行の最後に改行\nを入れ、最後にその文字列を繋げ、出力したいのですが、やり方がわかりません。 結果は abcdefg hijklmn opqrstu のようになってほしいです。 分かる方いらっしゃいましたら教えていただけると幸いです。 宜しくお願いいたします。
- ベストアンサー
- C・C++・C#
- bonnnu1126
- 回答数1
- c++でプログラムを作っています。初心者です。
c++でプログラムを作っています。初心者です。 「DateUtils.hpp」というものを使いたく、 #include <DateUtils.hpp> と先頭に書いたのですが、コンパイルエラーで fatal error C1083: include ファイルを開けません。'DateUtils.hpp': No such file or directory と表示されます。 「DateUtils.hpp」というものはどこかから調達しないといけないのでしょうか? あるいは #include の書き方にでも問題があるのでしょうか… 「DateUtils.hpp」を使えるようにする方法を教えてください。 開発環境などは… ・OSはWindows Vista ・Visual C++ 2010 Expressを使用 ・dllを作成中 といった感じです。よろしくお願いします。
- ベストアンサー
- C・C++・C#
- maradona860
- 回答数2