1 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 22:39:18 ] エスケープシーケンスやWin32APIなどの環境依存なものでもOK。 ただしその場合、質問者は必ず環境を書きましょう。 ※sage禁止です(と代々スレに書いてありますが自己判断で)。 【前スレ】 【初心者歓迎】C/C++室 Ver.56【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1215278693/ 【アップローダー】(質問が長い時はココ使うと便利) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm ◆ソースのインデントについて 半角やTABでのインデントはスレに貼ると無くなります。 そのため、アップローダーに上げるのが最も良いですが、 直接貼るのであれば、全角空白か に置換しておくことをお勧めします。
357 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 16:19:28 ] >>356 それで実行したら ----------- 改行 ☆ ☆☆ ☆☆☆ ☆☆☆☆ ----------- でした。
358 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 16:19:33 ] >>356 は>>353-354 宛
359 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 16:29:21 ] まぁ for(i = 0; i < 5; i++){ cout << "☆"; for(j = 0; j < i; j++){ cout << "☆"; } cout << "\n"; } でも出来るけど、>>355 が正解だろうな。
360 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 16:45:24 ] でもこの手のはCSVやURLクエリのように区切りが出てきて for(int i=0; i<5; i++){ std::cout << "☆"; for(int j=0; j<i; j++){ std::cout << ","; std::cout << "☆"; } std::cout << "\n"; } みたいな感じに落ち着くことも多い。
361 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 16:47:44 ] #include <iostream> #include <iomanip> int main() { int i, j; std::cout.fill('☆'); for(i = 1; i <= 5; i++) std::cout<<std::setiosflags(std::ios::right)<<std::setw(i)<<""<<std::endl; return 0; }
362 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 17:00:18 ] ('☆')←何この顔バカにしてるの?
363 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 17:09:26 ] >>362 なんだと
364 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 17:09:38 ] std::string str; for(int i=0; i < 5; i++) { str += "☆"; std::cout << str; } std::cout << "\n";
365 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 17:11:16 ] >>362 寄生獣ですね、わかります。
366 名前:デフォルトの名無しさん [2008/07/26(土) 19:54:58 ] サービスとして動くプログラムのサンプルをやってるんですが上手くいきません StartServiceCtrlDispatcher()で失敗します GetLastError()で1063が取れるんですけど、どうすればいいんでしょうか? 環境はxp sp2、vc++2005でやってます void ErrorHandler( char *s, DWORD err ) { std::cout << s << std::endl; std::cout << "Error number: " << err << std::endl; ExitProcess( err ); } void WINAPI ServiceMain( DWORD argc, LPTSTR *argv ) { // 空 } void main() { char *SERVICE_NAME = "BeepService"; SERVICE_TABLE_ENTRY serviceTable[] = { { SERVICE_NAME, (LPSERVICE_MAIN_FUNCTION)ServiceMain }, { NULL, NULL } }; // SCMで登録する BOOL success = StartServiceCtrlDispatcher( serviceTable ); if( !success ) ErrorHandler( "In StartServiceCtrlDispatcher", GetLastError() ); }
367 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 20:23:00 ] >>366 よくわからんが、ちゃんとサービスとしてSCMのデータベースに登録済みで、 SCMからサービスとして起動されたときにそういうエラーが出ているの? ただのコンソールアプリとして普通にキックしたときに StartServiceCtrlDispatcher()が失敗するのはただの仕様なんじゃないの
368 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 22:02:45 ] double型の変数を文字型の変数に疑似変換するプログラムを書けと教授に言われたのですが、 全く方法が解りません・・・。 誰か助けてください。 その際関数のオーバーロードを必ず使用する事、と言われました。 実は問題の意味があまり分かってなかったり。疑似変換とは・・・?
369 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 22:05:40 ] 問題の意味は出題者に訊くしかない
370 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 22:08:25 ] 今から教授に電話して聞いてみます。
371 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 22:10:58 ] sprintf? でもオーバーロードなんか必要ないしなぁ・・・
372 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 22:13:17 ] 留守電だったので諦めました。 とりあえず考えられる事をいくつかプログラムしてみます。 疑似変換・・・・か。
373 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 22:20:58 ] char型の固定小数で表せって事だろJK
374 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 22:22:31 ] >>368 こんなん? 真夜中の電話、不吉な感じがイヤン #include<iostream> #include<string> //ここでオペレータをほげほげ int main(void){ double x=1.2345; std::string str; str=x; std::cout << str << std::endl; return 0; }
375 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 22:33:26 ] オーバーロードを入れるとややこしくなりそうだな〜
376 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 22:37:31 ] 関数のオーバーロードをする必要性がわからん・・
377 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 23:15:40 ] inline関数を使う場合は関数の宣言と関数の定義で2回記述しないといけないんですか? #include <iostream> using namespace std; //関数の宣言 inline int square(int x); inline double square(double x); int main() { int i; double j; cout << "整数を入力してください\n"; cin >> i; int sum1 = square(i); cout << i << "の二乗は" << sum1 << "です\n"; cout << "小数を入力してください\n"; cin >> j; double sum2 = square(j); cout << j << "の二乗は" << sum2 << "です\n"; return 0; } //関数の定義 inline int square(int x){ int num1; num1 = x * x; return num1; }inline double square(double x){ double mum1; mum1 = x * x; return mum1;}
378 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 23:19:47 ] >>377 inline なら定義が無いと意味無いし、定義は宣言を含むから、定義だけ書いとけばいいよ。
379 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 23:21:06 ] >>378 即レスありがとうございます!
380 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 23:28:40 ] すいませんもう1つだけ質問です。 テンプレート関数は templat <class T>
381 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 23:29:25 ] すいません誤爆で途中で投稿してしまいました。 スレ汚しすいません;;
382 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 23:34:20 ] すいませんテンプレート関数は template <class T> T square(T x){ 処理 } と記述できると書いてあったんですが 宣言と定義みたいに分けて記述することはできないんですか? 試しに //宣言 template <class T> T square(T x); main関数 return 0; //定義 T square(T x){ 処理 } とやったのですがエラーが出ました。要するに無理ってことでしょうか?
383 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 23:43:04 ] >>382 無理です。使う時点で定義が読み込まれている必要があります。
384 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 23:44:15 ] >>383 ありがとうございます。 不思議に思っていたことが解決しました。
385 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 23:44:31 ] >>382-383 っ export
386 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 23:52:22 ] >>385 つ現実
387 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 00:02:31 ] >>382 ttp://www.fides.dti.ne.jp/~oka-t/cpplab-template-3.html
388 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 00:06:47 ] >>387 馬鹿?
389 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 00:08:34 ] >>382 分けて書くこと自体は可能。その感じだと、たぶん定義のほうに template <class T> が足りないだけ。
390 名前:デフォルトの名無しさん [2008/07/27(日) 01:35:03 ] 「aaaaiiiuuueooあああああいいいしてるるるる」 みたいに、 ・昇順で並んでいる ・同じ文字がたくさん入ってる ・あとから変更されることはない ・wchar_t ・一文字あたりの繰り返しは少ない(5個くらいまで) ・長い文字列もある(10MBytesくらい) という文字列を扱うんだが、 ・「N番目の文字」を高速に取り出せる ・「N種類目の文字と個数」を高速に取り出せる 条件を満たすデータ構造ってどんなのがある? 配列を2つ用意するしかない? てかこのスレでよかった?
391 名前:390 mailto:sage [2008/07/27(日) 01:36:00 ] すまん矛盾してた > ・同じ文字がたくさん入ってる これは無視してくれ。
392 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 01:41:12 ] >>390 struct { int start; wchar_t c; } を start でソートした配列、でいいんじゃないかな? その例だと {{0, L'a'}, {4, L'i'}, {7, L'u'}, {10, L'e'}, {11, L'o'}, {13, L'あ'}, ...} って感じで。
393 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 01:41:14 ] >>390 昇順に並んでるってのは、文字コードが昇順にならんでるってわけじゃないの?
394 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 01:46:54 ] >>392 おお! なんだかよさそうだ。 ありがと! >>393 そうです
395 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 01:48:28 ] >>394 例にでてる文字列が文字コード順に並んでないけど、それは例が間違いってことだな。
396 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 01:50:47 ] >>395 ひらがなが先だっけ? なら例が間違ってるわ。 すまん
397 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 01:53:16 ] >>396 いや、アルファベットをローマ字で昇順に並べても、文字コード順にはならんよ。
398 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 10:26:24 ] >>397 そうでした
399 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 14:51:23 ] #include <iostream> using namespace std; //関数addの宣言 void add(int *px, int *py, int *pz); //点数を加算するプログラム int main() { int x1; int x2; int a; cout << "2科目の点数を入力してください\n"; cin >> x1 >> x2; cout << "加算する点数を入力してください\n"; cin >> a; add(&x1, &x2, &a); cout << "科目1は" << x1 << "点です\n"; cout << "科目2は" << x2 << "点です\n"; return 0;} //関数addの定義 void add(int *px, int *py, int *pz){ *px += *pz; *py += *pz;}
400 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 14:53:22 ] 2科目のテストの点数(x1,x2)にa点を加算する関数add()を、ポインタを使って定義しなさい。 という宿題が出たのですが、これで実行したら成功したのですが。 これは無駄過ぎるという所はありませんか? あったら指摘お願いします
401 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 14:55:17 ] 宿題スレに書かずにここに書く辺りが無駄。
402 名前:デフォルトの名無しさん [2008/07/27(日) 15:00:46 ] >>400 まあパッと見pzはポインタにする必要はまったくないな。
403 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 15:01:49 ] 宿題スレは〜のコード書いてくださいとかだと勝手に解釈してたので こっちの方に書き込んでしまいました。 ご迷惑おかけして大変申し訳ございませんでした。 この場を借りて謝罪いたします。
404 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 15:05:10 ] >>402 指摘ありがとうございます。
405 名前:デフォルトの名無しさん [2008/07/27(日) 17:59:33 ] template<class T, class U> void f(T t, U u) { ... } template<class T> void f<T, int>(T t, int u) { ... } こういうことってできないんだっけ? error C2768: 'f' : 明示的なテンプレート引数を使用することはできません。 って出るんだが。
406 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 18:01:19 ] <T, int>いらない
407 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 18:04:36 ] >>406 ありがとうさん
408 名前:405 mailto:sage [2008/07/27(日) 18:07:53 ] template<int I, int J> void f() { } template<int I> void f<I, 0>() { } これは無理? J=0の場合のみ特殊化。
409 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 18:11:11 ] テンプレート使った際の演算子オーバーロードで悩んでいます。 コンパイルエラーは以下のように出ます。 ------------------------- Test.cpp:13: error: expected constructor, destructor, or type conversion before ‘Test’ ------------------------- このエラーを理解できないため、デバグできません。 どうしたらいいのでしょうか? 教えてください。 ソースは以下。
410 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 18:12:25 ] // Test.cpp #include<iostream> using namespace std; template<typename T> class Test{ public: T value; Test(){}; Test operator+(const Test& t); }; template<typename T> Test Test<T>::operator+(const Test<T>& t) //←13行目 { Test tmp; tmp.value = value + t.value; return tmp; } int main() { Test<int> test1, test2; test1.value=100; test2.value=200; Test<int> test3 = test1 + test2; return 0; } -------------------------
411 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 18:15:34 ] Test<T> Test<T>::operator+(const Test<T>& t) じゃない? const Test<T> Test<T>::operator+(const Test<T>& t) このほうがいいかな
412 名前:410 mailto:sage [2008/07/27(日) 18:25:03 ] おお! ありがとうございます m(_ _)m 続けて質問して申し訳ないのですが、 const をつけると付けないとではどのようなちがいがあるのでしょうか?
413 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 18:34:16 ] クラスのメンバ変数をポインタ型にすると メンバ変数が定義されていないとか言うんだけど 何これ…
414 名前:413 mailto:sage [2008/07/27(日) 18:41:51 ] 間違えた メンバ変数じゃなくてメンバ関数をポインタ型にすると メンバ変数が定義されていないって出る
415 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 18:42:39 ] class hoge{
416 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 18:46:14 ] 直感で static付けたらどうでしょうと言ってみよう
417 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 18:48:36 ] メンバ関数をポインタ型? メンバ変数をメンバ関数ポインタの型にするって事か?
418 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 18:54:38 ] >>417 class A{ praivate: int *a; public: void *get_a(); } void A::*get_a() { return a; } aが定義されていない識別子です ってなる
419 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 18:56:44 ] void* A::get_a()
420 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 18:58:56 ] voidじゃなくてintだった… >>419 解決した。ありがとう!
421 名前:デフォルトの名無しさん [2008/07/27(日) 18:59:27 ] すみません。。。お尋ねしたいのですが、 GDBでUTF-8の内容を表示させるにはどうすればよいのでしょうか? ご存知の方がいらっしゃいましたら何卒ご教授下さい。 よろしくお願いいたします。
422 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 19:37:58 ] TCHAR pString[64] ; std::wcin.getline(pString, 64) ; が入力を待たずに終わってしまいます。 プロジェクトを別に作って試したんですが他ではちゃんと入力を待ってます。 どういう状況の時だと処理を待たずに終了してしまうのでしょうか?
423 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 19:52:06 ] >>422 現象とは関係ないけど、それ、wchar_tかWCHARを使ったほうがいいよ。
424 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 20:15:58 ] >>422 直前で数値や文字列を入力したときに改行が残ったままになってるとか
425 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 20:25:08 ] 文字列に指定した文字がいくつあるか調べる関数を作成して、実際にキーボードから文字を入力して文字の個数を調べるコードを書いたのですが。 include <iostream> #include <string> using namespace std; //関数countの宣言 int count(char str[], char ch); //指定した文字数を調べるプログラム int main() { char str[256]; //入力する文字列 char c; //調べる文字 int sum; //文字数 cout << "文字列を入力してください\n"; cin >> str; cout << "探したい文字を入力してください\n"; cin >> c; sum = count(str, c); cout << str << "の中に" << c << "は" << sum << "個あります\n"; return 0; }
426 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 20:26:14 ] //関数countの定義 int count(char str[], char ch){ int j; //文字列の文字数 int i; int num = 0; //カウントする変数 j = strlen(str); for(i = 0; i < j; i++){ if(str[i] == ch){ num++; } } return num; } これで実行してちゃんとカウントできたのですが、無駄過ぎる文はありませんか? 指摘お願いします。 連投すいません;;
427 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 20:29:50 ] >>426 sum = std::count( str.begin(), str.end(), c )
428 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 20:30:22 ] std::string と std;;wstring で template を使って関数を共通化したいんだけど, 文字列リテラル ( "hoge" と L"hoge") や,文字型の違い ( 'a' と L'a') を吸収するには どうやったらいいの? 例えば,バックスラッシュを付け足す場合とか. template <typename string_type> string_type& AddBackSlash(string_type& str) { return str += '\\';//← wstring の場合は L'\\' にしたい, }
429 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 20:31:09 ] >>427 ありがとうございます!
430 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 20:37:12 ] >>428 特殊化
431 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 20:58:44 ] おすすめのエディタ教えてください! 今までC言語を始めよう!というフリーソフトを使ってきました
432 名前:428 mailto:sage [2008/07/27(日) 21:13:16 ] >>430 ありがとうございます.特殊化するということはコピペして,wstring に置換して, L を付ける作業をするしかないですかね… template <typename string_type> string_type& AddHoge(string_type& str) { string_type strInternal = "foo"; return str += "Hoge"; } //特殊化 template<> std::wstring& AddHoge<std::wstring>(std::wstring& str) { std::wstring strInternal = L"foo"; return str += L"Hoge"; }
433 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 21:32:49 ] >>423-424 ありがとうございます、>>424 さんが言われたとおり直前で数値をwcinにて 受け取ってます。それをコメントアウトしたらgetineのとこで処理が 止まりました。 原因はわかったのですがどうやって回避してよいのでしょうか?^^;
434 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 21:41:25 ] std::vector<double> v(100); このとき確保されるメモリは実装しだい?
435 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 21:56:05 ] はい。sizeof(double)*100かもしれませんし、*128かもしれません。
436 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 21:57:02 ] >>431 結局は好みだから使ってみて気にいったのを使えよ。 因みに俺はemacs使ってる。
437 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 22:03:18 ] >>426 strlen(str) で文字列の末尾まで '\0' を検索した後に, 再び文字を検索するのが無駄と言えば無駄かも. int count(const char str[], const char ch) { int num = 0; //カウントする変数 while( *str != '\0' ) if( *str++ == ch ) num++; return num; }
438 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 22:08:45 ] int count(const char * const str, const char ch) { unsigned num = 0; for (char const * p = str; (p = strchr(p, ch)) != NULL; ++p) ++num; return num; }
439 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 23:13:07 ] nul終端文字列ってほんと頭悪い仕様だよな。色々非効率だし。
440 名前:437 mailto:sage [2008/07/28(月) 01:14:04 ] >>438 そんなに変わらないだろうと思ってたけど,ずいぶん速いな
441 名前:デフォルトの名無しさん mailto:sage [2008/07/28(月) 01:34:49 ] >>439 PASCAL stringを授けよう。
442 名前:デフォルトの名無しさん [2008/07/28(月) 02:20:14 ] メッセージプロシジャでWM_CHARが送られてきた時、 OnKeyDownという関数にwpとlpをそのまま渡しています。 そして、押されたキーが"v"だった時だけ処理をしたいのでstrcmpを使ってみたのですが そこで強制終了してしまいます。正しくはどう書いたらよいのでしょうか? 教えてください。お願いします。 OnKeyDown(WPARAM wp, LPARAM lp) { switch(wp) { case VK_RETURN: break; 〜 略 〜 default: if(strcmp((char*)wp,"v") == 0) { //キーがvだった時の処理 } }
443 名前:デフォルトの名無しさん mailto:sage [2008/07/28(月) 02:26:08 ] >>442 一文字だったら *(char*)wp == 'v' とかでどうなんだろう あとメッセージボックスなんかでwpの中身確認してみたらどうだろうか ついでにこっちの方が回答もらいやすいかもね Win32API質問箱 Build68 pc11.2ch.net/test/read.cgi/tech/1215348804/
444 名前:デフォルトの名無しさん mailto:sage [2008/07/28(月) 02:31:31 ] >>443 MessageBoxに表示させようと wpをchar*にキャストしたら同じように落ちました・・・ とりあえずそっちで聞いてきます。 ありがとうございました。
445 名前:デフォルトの名無しさん mailto:sage [2008/07/28(月) 11:16:35 ] 初心者ですがC言語を覚えるには数学ができないと駄目ですか?
446 名前:デフォルトの名無しさん mailto:sage [2008/07/28(月) 11:19:21 ] C言語だけなら算数が出来れば十分 3Dやら暗号やら圧縮やらを扱いたいなら数学が必要になってくるかも
447 名前:デフォルトの名無しさん mailto:sage [2008/07/28(月) 11:21:27 ] 446さんありがとうございます。
448 名前:デフォルトの名無しさん mailto:sage [2008/07/28(月) 11:29:53 ] C言語で仮に3Dアクションゲームを造るとすると最低限高校1年の数学と物理が理解できればチャレンジしても無謀ではないですか? 数学:sin cos tan(三角関数?)等 物理:ベクトル等
449 名前:デフォルトの名無しさん mailto:sage [2008/07/28(月) 11:34:01 ] うん、あと行列がわかってれば 物理演算しようってわけじゃないんだから、完全な理解も必要なし
450 名前:デフォルトの名無しさん mailto:sage [2008/07/28(月) 11:39:08 ] ライブラリ使えば自分で計算する必要ももちろんないしね
451 名前:デフォルトの名無しさん mailto:sage [2008/07/28(月) 13:18:58 ] まぁ行列分かってれば中学生でもできるよ。
452 名前:デフォルトの名無しさん mailto:sage [2008/07/28(月) 14:03:08 ] まぁそれをいったら ベクトルが分かっててプログラミングができるなら小学生にもできるよ、って話だけどな
453 名前:デフォルトの名無しさん mailto:sage [2008/07/28(月) 14:04:41 ] ベクトルも行列もプログラミングも分からない大学生にはできないといいたい訳だな
454 名前:デフォルトの名無しさん mailto:sage [2008/07/28(月) 14:13:46 ] 分からなきゃ勉強するまでさ。 今までだってそうやってきただろ?
455 名前:デフォルトの名無しさん mailto:sage [2008/07/28(月) 14:15:05 ] >>454 >>453 に例示されるような人はおそらく勉強しないでしょう
456 名前:デフォルトの名無しさん mailto:sage [2008/07/28(月) 14:27:06 ] スレ違いだと思いますが流れ的に質問させてください。 CとC++とwindowsプログラミングを一通り勉強したので 次にDirectXの勉強をしようと思っているのですが、勉強する前に三角関数・ベクトル・行列を復習してから(曖昧なので) DirectXの勉強をしたほうが理解が深まると思うのですがどう思いますか? 先輩方アドバイスよろしくお願いします。
457 名前:デフォルトの名無しさん mailto:sage [2008/07/28(月) 14:29:49 ] 先にDirectXのチュートリアルでもやった方が良い