C言語何でも質問掲示板


Total hit  今日  昨日  

必ずお読み下さい → 規約と注意事項  アンケートはこちら  エラーで投稿できない方はこちら  過去ログ検索はこちら

 
   10章の「敵を表示させ ....   
     ・[44913] とても初心者 
   5章の「宣言の仕方を工 ....   
     ・[44889] kazuoni 
     ・[44900] とても初心者 
   全10ステージのシュ ....   
     ・[44565] kazuoni 
     ・[44585] ようすけ 
     ・[44586] ひよこ 
     ・[44593] ようすけ 
     ・[44601] あ〜る 
     ・[44603] ようすけ 
     ・[44605] conio 
     ・[44607] ようすけ 
     ・[44629] Tatu 
     ・[44631] ようすけ 
     ・[44673] Tatu 
     ・[44675] ようすけ 
     ・[44685] Tatu 
     ・[44693] ようすけ 
     ・[44838] Tatu 
     ・[44856] ようすけ 
     ・[44887] Tatu 
     ・[44895] ようすけ 
   クリックされたら数値 ....   
     ・[44781] y 
     ・[44881] 45nm 
   C言語の導入、コンパイ ....   
     ・[44694] Dixq (管理人) 
     ・[44696] sizuma 
     ・[44698] Dixq (管理人) 
     ・[44699] softya 
     ・[44701] sizuma 
     ・[44702] DVDM 
     ・[44703] たかぎ 
     ・[44722] Dixq (管理人) 
     ・[44764] Tororo 
     ・[44789] last snow 
     ・[44802] Dixq (管理人) 
     ・[44807] Tororo 
     ・[44808] たいちう 
     ・[44827] たかぎ 
     ・[44842] Dixq (管理人) 
     ・[44844] 組木紙織 
     ・[44850] たかぎ 
     ・[44875] softya 
     ・[44878] たかぎ 
   入力した文字列から該 ....   
     ・[44834] たかぎ 
     ・[44835] SS4 
     ・[44836] たかぎ 
     ・[44849] non 
     ・[44851] SS4 
     ・[44857] non 
   C#のNumericUpDownにつ ....   
     ・[44852] バグ 
     ・[44853] YuO 
     ・[44855] バグ 
   処理時間の測定につい ....   
     ・[44831] たかぎ 
     ・[44833] Dixq (管理人) 
     ・[44840] れこしぁ  
     ・[44845] non 
     ・[44847] たかぎ 
     ・[44854] Naohiro19 
   OpenCVについて   
     ・[44810] last snow 
     ・[44811] Mist 
     ・[44817] DenDen 
     ・[44820] Mist 
     ・[44824] last snow 
     ・[44828] Mist 
     ・[448011262190129] DenDen 
   敵にショットを撃たせ ....   
     ・[44813] wing 
     ・[448121261984262] nuu 
   未解決の外部シンボル ....   
     ・[44541] box 
     ・[44554] むん 
     ・[44555] トントン 
     ・[44556] むん 
     ・[44558] tk 
     ・[44576] むん 
     ・[44604] トントン 
     ・[44609] box 
     ・[44613] むん 
     ・[44618] ぽこ 
     ・[44619] softya 
     ・[44620] むん 
     ・[44621] むん 
     ・[44622] ぽこ 
     ・[44623] トントン 
     ・[44686] last snow 
     ・[44689] box 
     ・[44691] トントン 
     ・[44805] たいちう 
   進路についてお聞きし ....   
     ・[44785] Dixq (管理人) 
     ・[44790] sizuma 
     ・[44798] ru-pu 
     ・[44804] kerotan0820 
   龍神録プログラムをbc ....   
     ・[44682] last snow 
     ・[44683] 夜霧のミスト 
     ・[44690] last snow 
     ・[44709] 夜霧のミスト 
     ・[44782] last snow 
     ・[44792] wing 
     ・[44793] 夜霧のミスト 
     ・[44795] 夜霧のミスト 
   ゲームプログラミング ....   
     ・[44783] last snow 
     ・[44786] たつのしん 
     ・[44787] Dixq (管理人) 
   東方の背景   
     ・[44708] yu 
     ・[44751] Dixq (管理人) 
     ・[44776] yamataka 
   Cで数列を並び変えたい ....   
     ・[44770] box 
     ・[44771] プログラム初心者 
     ・[44772] sizuma 
     ・[44773] プログラム初心者 
   C++で文字列のカウント ....   
     ・[44714] たかぎ 
     ・[44716] たかぎ 
     ・[44721] y 
     ・[44724] y 
     ・[44726] たかぎ 
     ・[44728] y 
     ・[44733] y 
     ・[44741] たかぎ 
     ・[44745] y 
     ・[44749] たかぎ 
     ・[44754] y 
     ・[44756] たかぎ 
     ・[44758] y 
     ・[44759] たかぎ 
     ・[44760] y 
     ・[44761] たかぎ 
     ・[44762] y 
     ・[44763] たかぎ 
   読み込みで困ってます   
     ・[44734] たかぎ 
     ・[44735] 菊麻呂 
     ・[44737] たかぎ 
     ・[44738] たかぎ 
     ・[44739] softya 
     ・[44740] 菊麻呂 
     ・[44743] たかぎ 
     ・[44744] 菊麻呂 
     ・[44747] softya 
     ・[44748] 菊麻呂 
     ・[44750] Dixq (管理人) 
     ・[44753] 菊麻呂 
     ・[44755] Dixq (管理人) 
     ・[44757] たかぎ 
   アプリケーションにつ ....   
     ・[44712] たかぎ 
     ・[44713] kms 
     ・[44715] Dixq (管理人) 
     ・[44717] kms 
     ・[44718] softya 
     ・[44719] Dixq (管理人) 
     ・[44720] kms 
     ・[44725] Dixq (管理人) 
     ・[44727] たかぎ 
     ・[44729] kms 
     ・[44732] softya 
     ・[44736] kms 
     ・[44742] softya 
     ・[44746] kms 
   気になること:四角形 ....   
     ・[44578] たかぎ 
     ・[44579] 御津凪 
     ・[44625] Ma 
     ・[44627] Kou 
     ・[44705] Ma 
   規模の膨れ上がるクラ ....   
     ・[44628] バグ 
     ・[44633] kazuoni 
     ・[44638] softya 
     ・[44641] たいちう 
     ・[44663] dic 
     ・[44704] kazuoni 
   ■ 規約を守って投稿 ....   
     ・[44325] sizuma 
     ・[44328] softya 
     ・[44329] たかぎ 
     ・[44330] たかぎ 
     ・[44336] 山崎 
     ・[44338] たかぎ 
     ・[44340] ねこ 
     ・[44360] array 
     ・[44370] やそ 
     ・[44395] kazuoni 
     ・[44396] たかぎ 
     ・[44398] バグ 
     ・[44400] Mist 
     ・[44408] チルチル 
     ・[44411] たかぎ 
     ・[44412] 御津凪 
     ・[44416] kazuoni 
     ・[44417] たかぎ 
     ・[44418] Justy 
     ・[44421] kazuoni 
     ・[44423] kai 
     ・[44428] たかぎ 
     ・[44433] Dixq (管理人) 
     ・[44435] 山崎 
     ・[44437] Dixq (管理人) 
     ・[44438] Dixq (管理人) 
     ・[44444] たかぎ 
     ・[44446] kai 
     ・[44447] Dixq (管理人) 
     ・[44452] sizuma 
     ・[44462] Dixq (管理人) 
     ・[44465] たかぎ 
     ・[44482] たいちう 
     ・[44487] poi 
     ・[44542] Dixq (管理人) 
     ・[44546] たかぎ 
     ・[44553] たいちう 
     ・[44561] dic 
     ・[44575] たかぎ 
     ・[44599] Dixq (管理人) 
     ・[44657] dic 
     ・[44684] nayo 
     ・[44687] Dixq (管理人) 
   龍神録が解るレベル   
     ・[44591] Dixq (管理人) 
     ・[44592] デラ初心者 
     ・[44594] MNS 
     ・[44595] Dixq (管理人) 
     ・[44600] softya 
     ・[44667] デラ初心者 
     ・[44668] softya 
     ・[44670] fatens 
     ・[44671] デラ初心者 
     ・[44672] softya 
     ・[44674] デラ初心者 
     ・[44676] softya 
     ・[44677] デラ初心者 
     ・[44678] デラ初心者 
     ・[44679] fatens 
     ・[44680] デラ初心者 
   C言語の初心者ですが   
     ・[44570] たかぎ 
     ・[44572] softya 
     ・[44573] たかぎ 
     ・[44596] むん 
     ・[44598] Dixq (管理人) 
     ・[44666] さかまき 
     ・[44669] たかぎ 
   オリジナルショートカ ....   
     ・[446551261718981] Naohiro19 
   変数などの命名方法に ....   
     ・[44460] TRUE 
     ・[44461] たかぎ 
     ・[44463] Dixq (管理人) 
     ・[44468] 山崎 
     ・[44469] バグ 
     ・[44475] 御津凪 
     ・[44476] softya 
     ・[44480] non 
     ・[44497] たかぎ 
     ・[44624] TRUE 
   無題   
     ・[44569] たかぎ 
     ・[44571] softya 
     ・[44574] たかぎ 
     ・[44616] むん 
     ・[44617] Dixq (管理人) 

Name: とても初心者  ..ぴよぴよ(365ポイント)   Date: 2009/12/26(土) 14:58   No:44908       
Title: 10章の「敵を表示させてみよう」について    
立て続けに質問をしてすみません
10章の「敵を表示させてみよう」の項なのですが
1>c:\documents and settings\user\my documents\project\1章\mydat\source\load.cpp(11) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
1>c:\documents and settings\user\my documents\project\1章\mydat\source\load.cpp(11) : error C2365: 'LoadDivGraph' : 再定義; 以前の定義は '関数' でした。
1>        c:\documents and settings\user\my documents\project\include\dxlib.h(1594) : 'LoadDivGraph' の宣言を確認してください。
1>c:\documents and settings\user\my documents\project\1章\mydat\source\load.cpp(11) : error C2078: 初期化子の数が多すぎます。
1>c:\documents and settings\user\my documents\project\1章\mydat\source\load.cpp(11) : error C2440: '初期化中' : 'int [9]' から 'int' に変換できません。
1>        この変換が可能なコンテキストはありません。
1>ビルドログは "file://c:\Documents and Settings\USER\My Documents\project\1章\Debug\BuildLog.htm" に保存されました。
1>RyuJin - エラー 4、警告 1
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========

このようなエラーが出てきました
load.cppの
LoadDivGraph( "../dat/img/enemy/0.png" , 9 , 3 , 3 , 32 , 32 , img_enemy[0] ) ;
がおかしいとあるのですが
どのようにすればいいのか教えてください


451ポイント を落としてしまった。


Name: とても初心者  ..ぴよぴよ(402ポイント)   Date: 2009/12/26(土) 17:54   No:44913 解決!     
Title: Re:10章の「敵を表示させてみよう」について    
すいませんやり直したら解決しました
お騒がせして申し訳ありません
これからもよろしくおねがいします


37ポイント を手に入れた。



Name: とても初心者  ..ぴよぴよ(747ポイント)   Date: 2009/12/26(土) 00:18   No:44888       
Title: 5章の「宣言の仕方を工夫しよう」について    
このサイトの龍神録のプロジェクトを使い勉強させて
いただいているのですが、5章の「」の章で
書かれてある通り行ったのですがどうしてもエラーが出てしまいます。
なにがおかしいのか教えてください

1>c:\documents and settings\user\my documents\project\project\1章\mydat\source\load.cpp(3) : error C2065: 'img_ch' : 定義されていない識別子です。
1>c:\documents and settings\user\my documents\project\project\1章\mydat\source\load.cpp(3) : error C3861: 'LoadDivGraph': 識別子が見つかりませんでした
1>main.cpp
1>c:\documents and settings\user\my documents\project\project\1章\mydat\source\main.cpp(3) : error C3861: 'ProcessMessage': 識別子が見つかりませんでした
1>c:\documents and settings\user\my documents\project\project\1章\mydat\source\main.cpp(4) : error C3861: 'ClearDrawScreen': 識別子が見つかりませんでした
1>c:\documents and settings\user\my documents\project\project\1章\mydat\source\main.cpp(5) : error C3861: 'GetHitKeyStateAll_2': 識別子が見つかりませんでした
1>c:\documents and settings\user\my documents\project\project\1章\mydat\source\main.cpp(9) : error C2146: 構文エラー : ';' が、識別子 'WinMain' の前に必要です。
1>c:\documents and settings\user\my documents\project\project\1章\mydat\source\main.cpp(9) : error C2065: 'HINSTANCE' : 定義されていない識別子です。
1>c:\documents and settings\user\my documents\project\project\1章\mydat\source\main.cpp(9) : error C2146: 構文エラー : ')' が、識別子 'hInstance' の前に必要です。
1>c:\documents and settings\user\my documents\project\project\1章\mydat\source\main.cpp(9) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
1>c:\documents and settings\user\my documents\project\project\1章\mydat\source\main.cpp(9) : error C2059: 構文エラー : ')'
1>c:\documents and settings\user\my documents\project\project\1章\mydat\source\main.cpp(9) : error C2143: 構文エラー : ';' が '{' の前にありません。
1>c:\documents and settings\user\my documents\project\project\1章\mydat\source\main.cpp(9) : error C2447: '{' : 対応する関数ヘッダーがありません (旧形式の仮引数リスト?)


747ポイント を手に入れた。


Name: kazuoni [URL]  ..ハッカー(120,517ポイント)   Date: 2009/12/26(土) 05:35   No:44889     
Title: Re:5章の「宣言の仕方を工夫しよう」について    
各ファイルでGV.hをインクルードしていますか?

25ポイント を手に入れた。

Name: とても初心者  ..ぴよぴよ(816ポイント)   Date: 2009/12/26(土) 12:48   No:44900 解決!     
Title: Re:5章の「宣言の仕方を工夫しよう」について    
GV.hを「main.cpp」「graph.cpp」「load.cpp」に
インクルードしたらエラーがなくなりました!
理解できました。回答していただきありがとうございます。


69ポイント を手に入れた。



Name: ようすけ  ..初心者(7,586ポイント)   Date: 2009/12/20(日) 21:34   No:44547       
Title: 全10ステージのシューティング出来ました!!    
こんばんは、お久しぶりです。

先日、テストプレイで一面だけこちらのサイトで公開させていただいた者です。

その節は意見、感想等ありがとうございました。

さて、そのゲームなんですが一応完成したのでまた公開させていただきます。

アップローダ様↓


http://kissho4.xii.jp/50/src/5yoshi13210.zip.html

DLkey 0111(半角で)

1周目5面、2周目5面の全10ステージです。

ゲーセンにあっても違和感のないようなゲームを作ったつもりですが、
どうでしょうか?

個人的には4面道中が一番シューティングっぽく出来たなぁと思ってます(汗

グラフィックなどは全て自作です。何回も書き直しました。

またみなさまの感想、バグ等いただけたら嬉しいです☆



306ポイント を手に入れた。


Name: kazuoni [URL]  ..ハッカー(119,499ポイント)   Date: 2009/12/21(月) 15:52   No:44565     
Title: Re:全10ステージのシューティング出来ました!!    
DLさせていただきました。

時間がなく、(っというか、シューティングは苦手・・・)
全くやりこめていませんが、一面、二面だけでも素晴らしい出来かと思います。
やりこみによる発見出来たバグはありませんでした。(やりこんでないため・・・すみません。。)

気になったのは、最初のロード画面です。いきなり固まってしまったのかと思いました。
なので、せめて「NowLoading」がちょっと動いて、
「あ、ロード中か」っというのが分かるようにした方がいいかと思います。

制作お疲れ様でした。


235ポイント を手に入れた。

Name: ようすけ  ..初心者(7,887ポイント)   Date: 2009/12/21(月) 19:09   No:44585     
Title: Re:全10ステージのシューティング出来ました!!    
kazuoniさん、遊んで頂きありがとうございます。


>全くやりこめていませんが、一面、二面だけでも素晴らしい出来かと思います。 
やりこみによる発見出来たバグはありませんでした。(やりこんでないため・・・すみません。。)

そう言っていただけると、苦労して作ったかいがあります(*^_^*) 

>気になったのは、最初のロード画面です。いきなり固まってしまったのかと思いました。 
なので、せめて「NowLoading」がちょっと動いて、 
「あ、ロード中か」っというのが分かるようにした方がいいかと思います。

なるほど。
作ってる側はたいして気にならなかったんですが、言われてみるとそうですね。

メモに書いときました。 



301ポイント を手に入れた。

Name: ひよこ  ..比類無きプログラマー(76,042ポイント)   Date: 2009/12/21(月) 19:20   No:44586     
Title: Re:全10ステージのシューティング出来ました!!    
遊んでみました。
2面で完全にコンティンニューを使い切って負けてしまったので、そんなに進めませんでしたが、
作りこみがすごいです。絵が丁寧でした。懐かしい感じもしましたよ。
音楽・効果音まで、ようすけさんが作ったのですか?
しかし、ゲームセンターでやるならこれくらいいでいいかもしれませんけど、
パソコンでは難しいですね。(私がこういうゲームをそんなにやってないからだと思います。
コンティンニュー機能ありがとうございます。


49ポイント を手に入れた。

Name: ようすけ  ..初心者(7,572ポイント)   Date: 2009/12/21(月) 20:17   No:44593     
Title: Re:全10ステージのシューティング出来ました!!    
ひよこさん、前回に引き続き遊んで下さりありがとうございます。



>作りこみがすごいです。絵が丁寧でした。懐かしい感じもしましたよ。

絵はマジで苦労しました。(汗
特に、スクリーンショットでも貼ってありますが、
3ボスは大変でしたね((+_+)) 

プログラムよりも圧倒的に絵を描く時間が多かったです。

>音楽・効果音まで、ようすけさんが作ったのですか?

あ、効果音については半分くらいは自作で、あとはフリーの素材を使わせてもらいました☆
 
>しかし、ゲームセンターでやるならこれくらいいでいいかもしれませんけど、 
パソコンでは難しいですね。(私がこういうゲームをそんなにやってないからだと思います。 
コンティンニュー機能ありがとうございます。

う〜ん、難しいですかぁ。

私自身、キーボードのカーソルに慣れてるんで何とも思わないんですが、
ゲームパッド対応にすればいいのでしょうか?

あと、コンティニューを5回ではなく10回ぐらいにすれば、もう少し
みなさんに遊んでもらえるんですかねぇ・・・。






315ポイント を落としてしまった。

Name: あ〜る  ..中級者(14,611ポイント)   Date: 2009/12/21(月) 21:15   No:44601     
Title: Re:全10ステージのシューティング出来ました!!    
やらせていただきました
かなりのクオリティでびっくりしました!
僕はコンティニューして4面までいきました
弾幕シューティングばっかやってたんで当たり判定の大きさに慣れず…

自機選択は何か意図があってスペースキーにしてるのでしょうか?Zキー押しても先に進まないのでちょっと戸惑いました
あと、3面ボスのカニ(?)のハサミ(?)の所為で死んだ後もパワーアップ出来ずかなりイライラの元になりました…もうちょいパワーアップアイテムを落とす敵の位置をずらすなり、何かしら救済が欲しいです…

主に感じたのはこれくらいです。
というか期末終わったらプログラムに打ち込むっていう決意をあっさり打ち破られました……
とても面白かったです!



223ポイント を手に入れた。

Name: ようすけ  ..初心者(7,788ポイント)   Date: 2009/12/21(月) 21:38   No:44603     
Title: Re:全10ステージのシューティング出来ました!!    
あ〜るさん、遊んで下さりありがとうございます。


>やらせていただきました 
かなりのクオリティでびっくりしました! 
僕はコンティニューして4面までいきました 
弾幕シューティングばっかやってたんで当たり判定の大きさに慣れず…

おお、4面ですか(*^_^*)
これでもかなり当たり判定は小さめにしたんですが、
確かに弾幕に慣れちゃってる人には厳しいかもしれないですね(汗 

 
>3面ボスのカニ(?)のハサミ(?)の所為で死んだ後もパワーアップ出来ずかなりイライラの元になりました…もうちょいパワーアップアイテムを落とす敵の位置をずらすなり、何かしら救済が欲しいです…

うっ、言われてみると確かに(汗
ザコがボスに重なっちゃってショットが当たらないですね。
ということは、4ボスの第二形態も・・・(汗

これはゲームとして成り立たないんで、どうするか考えて至急直します。
貴重なバグ?ありがとうございます!! 



216ポイント を手に入れた。

Name: conio [URL]  ..比類無きプログラマー(76,723ポイント)   Date: 2009/12/21(月) 21:55   No:44605     
Title: Re:全10ステージのシューティング出来ました!!    
遊んでみました!
約10秒間隔で死亡してしまうので、全然クリアしてませんが 出来はすごいと思います。
(シューティングは苦手)


で、思ったことがひとつ。
自機の選択が「スペースキー」という仕様だったので、少々 混乱しました。
(Zキーを押して「あれ、動かないな?」としばらく悩む)

Zキーで統一すると、
タイトル画面からゲーム画面まで一気に遷移してしまう為、中間にスペースでの選択処理を挟んだ
という事であれば、

「Zキーを押した瞬間だけ」を判定するようにすればいいんじゃないかなーと思いました。
(Zキーを一回離さないと、反応しないようにする)


295ポイント を手に入れた。

Name: ようすけ  ..初心者(7,995ポイント)   Date: 2009/12/21(月) 22:12   No:44607     
Title: Re:全10ステージのシューティング出来ました!!    




conioさん、遊んでくださりありがとうございます。

>約10秒間隔で死亡してしまうので 

ま、マジですか?吹いちゃいました(笑)
よっぽどシューティング苦手のようですね(*^_^*)


>「Zキーを押した瞬間だけ」を判定するようにすればいいんじゃないかなーと思いました。 
(Zキーを一回離さないと、反応しないようにする)

瞬間というのが苦手なんですが、ちょっと試してみます☆






207ポイント を手に入れた。

Name: Tatu  ..上級者(20,657ポイント)   Date: 2009/12/22(火) 09:45   No:44629     
Title: Re:全10ステージのシューティング出来ました!!    
SS-01型で5面まで行きました。

SS-02型を選ぶとなぜか初めから二週目(弾幕変化・うち返しあり)になりました。

4ボス二体目のパワーアップはとれました。


71ポイント を手に入れた。

Name: ようすけ  ..初心者(8,049ポイント)   Date: 2009/12/22(火) 10:10   No:44631     
Title: Re:全10ステージのシューティング出来ました!!    
Tatuさん,あそんで下さりありがとうございます。

今仕事中で携帯からでパソコン無くてわからないんですが,最初から02型を選ぶと2周目になるんですか?


54ポイント を手に入れた。

Name: Tatu  ..上級者(20,815ポイント)   Date: 2009/12/22(火) 19:32   No:44673     
Title: Re:全10ステージのシューティング出来ました!!    
03型で一週目のクリアができました。

この機体は
移動速度が高いので弾の回避がしやすい。
前方に集中して攻撃するので、離れた敵にも安定したダメージを与えられる。
攻撃力も低くなく、特に、自機から離れている敵を
01型よりも早く撃破しやすい。

>02型だと最初から二週目
もう一度試してみましたが、弾幕が二週目のものと同じでした。

>三面ボス二体目のカニでのパワーアップ
03型でとれることを確認しました。


158ポイント を手に入れた。

Name: ようすけ  ..初心者(8,292ポイント)   Date: 2009/12/22(火) 20:01   No:44675     
Title: Re:全10ステージのシューティング出来ました!!    
>Tatuさん

>03型で一週目のクリアができました。

おお、やり込んで下さりありがとうございます(●^o^●)
2周目はかなり厳しく作ってあるんで、やりごたえがあると思います。

ところで、さっきやったんですが4面道中のBGMって流れなくないですか?


>もう一度試してみましたが、弾幕が二週目のものと同じでした。

すいません、私のプログラムミスで、最初から2周目のフラグが上がってました(汗
今直しました。 

>三面ボス二体目のカニでのパワーアップ 
03型でとれることを確認しました。

そうですか。
でも一応ザコ敵を左右いっぱいに寄せて作り直したんで、
後で修正した物をアップします。

もしよければ、Tatuさんが気に入った敵キャラがいたら教えてもらえますか?(*^_^*)






243ポイント を手に入れた。

Name: Tatu  ..上級者(21,032ポイント)   Date: 2009/12/22(火) 22:01   No:44685     
Title: Re:全10ステージのシューティング出来ました!!    
>四面BGM
流れてませんでした。

印象に残った敵

一面ボス2 こいつのレーザーはボムでは消せず、ボム中に特攻して何度もやられた。

三面ボス2 やたら気合いがはいっているカニ。動いているところもいい。

四面人型ロボット なぜか声のある敵。かたくて、01型では撃破が難しい。

四面ボス2 自機の周りに弾を発生させるときのエフェクトが美しい。
          それに見とれるのと龍神録にもこんな感じの攻撃をしてくるボスがいたなあと
          おもうのとでやられた。

五面ゴーレム いかにもゴーレムという感じの敵。見た目通り、かたい。


217ポイント を手に入れた。

Name: ようすけ  ..初心者(8,783ポイント)   Date: 2009/12/23(水) 00:35   No:44693     
Title: Re:全10ステージのシューティング出来ました!!    
修正版アップしました。

アップローダ様↓

http://kissho3.xii.jp/100/index.php


 Skysoldier2修正版  DLkey 0111(半角で)

時間によってはかなりテンポってるんで、気長にお願いしますw

修正箇所

1.4面道中BGM追加

2.02型の2周目スタートを1周目スタートに訂正

3.ボス戦の時にショットが当たりづらい為、パワーアップザコを画面左右いっぱいに移動訂正

4.2面ボス前の戦車2台の破壊後の残骸が無かったので、追加


とりあえず致命的な個所だけ直したんで、時間があったら他も直したいと思います。

>Tatuさん

>一面ボス2 こいつのレーザーはボムでは消せず、ボム中に特攻して何度もやられた。

4面ボス箱のレーザーは消せるようにしたんですが、これは消せないようにしました。

 
>三面ボス2 やたら気合いがはいっているカニ。動いているところもいい。

あざーす(*^_^*)  苦労して作ったかいがありました。私は自分でメカガニと呼んでますww
まぁ、3ボス前もミニメカガニラッシュですが(汗 

>四面人型ロボット なぜか声のある敵。かたくて、01型では撃破が難しい。

こいつはどうしても声を出したかったんでw  確かに01型では張りつかないと倒すの厳しいですね。
 

>四面ボス2 自機の周りに弾を発生させるときのエフェクトが美しい。 
それに見とれるのと龍神録にもこんな感じの攻撃をしてくるボスがいたなあと 
おもうのとでやられた。

エフェクトもそうですが、SEもどういうのにしようか悩みました(*^_^*) 

>五面ゴーレム いかにもゴーレムという感じの敵。見た目通り、かたい。

ちゃんとゴーレムに見えるみたいなので良かったです。
こいつは地面も岩なんで、地面からズズズっと出てくる演出にしようか迷ったんです(^v^)






491ポイント を手に入れた。

Name: Tatu  ..上級者(21,192ポイント)   Date: 2009/12/24(木) 23:47   No:44838     
Title: Re:全10ステージのシューティング出来ました!!    
二週目から始まるバグが修正されたということで、SS-02型でやってみました。
何度もやった結果、添付画像のラスボスまでノーコンティニューでいくことができました。
また、この機体で2週目4面道中までいけました。

この機体は攻撃力が高く、パターンを覚えていれば、
敵(特にボス)を他の機体に比べてかなり早く倒せるので
弾を回避することが少なく、楽になります。


128ポイント を手に入れた。

Name: ようすけ  ..初心者(8,892ポイント)   Date: 2009/12/25(金) 12:00   No:44856     
Title: Re:全10ステージのシューティング出来ました!!    
おお、すごいですね。

ノーコンでラスボスまでとは☆

しかも倍率22回ゲットしてますしw
私もスコアアタックしてみようかな(*^_^*)

もう2-4まで行ったんですかぁ・・。
もしや彩京シューをやられてた方だったりww

かなり遊んで下さってるTatuさんにお聞きしますが、難易度的にはどうでしょうか?

個人的には1周目は適度な難易度で2周目はかなりやりごたえがあるかと(汗




109ポイント を手に入れた。

Name: Tatu  ..上級者(21,397ポイント)   Date: 2009/12/26(土) 00:07   No:44887     
Title: Re:全10ステージのシューティング出来ました!!    
二倍ボーナスを何回とれるか挑戦してみました。
結果、一周目5面ボスまでで最高144回とることができました。

難易度
一周目は各面にボムが一つずつあって、SS-02型でちょうどよい感じです。。
SS-02以外では火力不足でかたい敵がたおせなかったり、
弾幕を張られたりします。

二周目は敵の攻撃(特に加速するうち返し)がいやらしく、
一周目をほぼノーミスでクリアできる実力がないと
ボム・コンティニューを使いきってもクリアはきびしすぎます。

彩京シューティングはやったことはありませんが、
やたら高速な弾をうつのが特徴らしいですね。 編集済み


205ポイント を手に入れた。

Name: ようすけ  ..中級者(9,267ポイント)   Date: 2009/12/26(土) 09:36   No:44895     
Title: Re:全10ステージのシューティング出来ました!!    
スコアアタックやってみました。

が、結果はご覧の通りです(*^_^*)

Tatuさんの2倍144回はかなり頑張られたんではないでしょうか?
すごいですね!!

>二周目は敵の攻撃(特に加速するうち返し)がいやらしく、 
一周目をほぼノーミスでクリアできる実力がないと 
ボム・コンティニューを使いきってもクリアはきびしすぎます。

確かにそうですね。
まぁ、年末年始の暇つぶし程度に遊んでやって下さい。
私もしばらくはスコアアタックやってみます(●^o^●)

話は変わって1週間ぐらい前から3Dの横シューを作ってます。
なんせ3D自体初めてで試行錯誤しながら作ってるんで時間はかかりますが、
1面だけできたらまたアップしようと思います。

そのときはまた遊んでやってくださいね☆ 









375ポイント を手に入れた。



Name: 45nm  ..ぴよぴよ(366ポイント)   Date: 2009/12/23(水) 22:53   No:44780       
Title: クリックされたら数値を加算する    
はじめまして。
クリックされたら数値を+100するプログラムを作りたいのですが、
クリックされた瞬間だけ+100されてしまいます。

クリックが終わったあともその数値を維持し続けるにはどうすればいいのでしょうか?

#include "DxLib.h"
 
int Key[256];
 
int GetHitKeyStateAll_2(int GetHitKeyStateAll_InputKey[]){
    char GetHitKeyStateAll_Key[256];
    GetHitKeyStateAll( GetHitKeyStateAll_Key );
    for(int i=0;i<256;i++){
        if(GetHitKeyStateAll_Key[i]==1) GetHitKeyStateAll_InputKey[i]++;
        else                            GetHitKeyStateAll_InputKey[i]=0;
    }
    return 0;
}
 
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
    ChangeWindowMode(TRUE);//ウィンドウモード
    if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1;//初期化と裏画面化
 
    while(ProcessMessage()==0 && ClearDrawScreen()==0 && GetHitKeyStateAll_2(Key)==0 && Key[KEY_INPUT_ESCAPE]==0){
          //↑メッセージ処理          ↑画面をクリア           ↑入力状態を保存       ↑ESCが押されていない
 
        int point = 0;//ポイント=初期値0
        int White = GetColor(255,255,255);//白
        int Nanoha = LoadGraph("date/img/na/na.png");//画像

        DrawGraph(0,0,Nanoha,TRUE);
        if((GetMouseInput() & MOUSE_INPUT_LEFT)!=0)//マウス左チェック
        {
            DrawString(0,0,"ok",White);//真
            point+=100;
        }
        else
        {
            DrawString(0,25,"no",White);//偽
        }

        if(point>99)
            DrawString(100,100,"POK",White);

 
 
        ScreenFlip();
    }
 
    DxLib_End();
    return 0;
}



どうかよろしくお願いします


366ポイント を手に入れた。


Name: y  ..入門者(4,071ポイント)   Date: 2009/12/23(水) 23:11   No:44781     
Title: Re:クリックされたら数値を加算する    
point変数を宣言した位置を確認しましょう。
自動変数の寿命がブロック内まで、ということを考えるとわかる思います。


30ポイント を手に入れた。

Name: 45nm  ..ぴよぴよ(387ポイント)   Date: 2009/12/25(金) 18:37   No:44881 解決!     
Title: Re:クリックされたら数値を加算する    
解決しました!

どうもありがとうございます 編集済み


21ポイント を手に入れた。



Name: Dixq (管理人) [URL]  ..ウィザード(1,121,084ポイント)   Date: 2009/12/23(水) 00:17   No:44692       
Title: C言語の導入、コンパイラのインストールなどの解説ページ    
大したものじゃないんですが、VisualC++のインストール方法について紹介したページを作りました。

回答の中で
「まずはコンパイラを用意して下さい」
みたいな事を言う必要がある場面があると思いますが、
きっとこのような発言をする必要がある場合、対象者はコンパイラの意味を解っていない可能性が高く、
その説明からしていると回答が長くなってしまう事があると思います。

そんな時リンクをペタっと貼って「はい、ここどうぞ」
で済ませられるよう上記のようなページを作りました。

http://dixq.net/vcpp.html

VisualC++はせっかく良いコンパイラなのに、設定がめんどくさいせいで、
なかなか初心者に受け入れられない印象があります。

しかしこのように書いてあれば躓くことなく導入できるのではないかと期待しています。

もし今後回答などで必要がありましたらお使い下さい。


2倍のポイントを手に入れた! 538ポイント を手に入れた。


Name: Dixq (管理人) [URL]  ..ウィザード(1,121,193ポイント)   Date: 2009/12/23(水) 00:44   No:44694     
Title: Re:C言語の導入、コンパイラのインストールなどの解説ページ    
後、うちのホームページ最近夜重い気がするんですが、きのせいでしょうか?;
なかなかページが開かない時があるんですが、私の環境だけですかね・・。

もし共通な問題のようなら何か対策を・・・
・・と言っても共有サーバーじゃないとお金かかるしな〜^^;


109ポイント を手に入れた。

Name: sizuma [URL]  ..上級者(20,921ポイント)   Date: 2009/12/23(水) 01:13   No:44696     
Title: Re:C言語の導入、コンパイラのインストールなどの解説ページ    
お疲れ様です!
すごく分かりやすくていいと思います^^

>VisualC++はせっかく良いコンパイラなのに、設定がめんどくさい
他のコンパイラに比べるとファイル大きいですしね・・・・
フリーだと言語ごとにDLしなきゃいけないのも面倒です。
他のC++IDEは使ったことないので比べられないのですが、ものすごく使いやすいですよね。VisualStudio。
重いけど。

>ホームページが最近重い
あんまり意識してませんでした。
ちょっと意識してアクセスしてみます。
まぁISDNぐらいからのユーザーなので、一ミリぐらいづつページが表示されても辛抱強く待ちますよ〜
関係ないことなんですが、このスレッド内容が表示されてる画面から掲示板のトピック一覧に戻るリンクがありませんよね?(たぶん)
右上のトップページのアイコンからも、ホームのリンクからもサイトトップに飛ぶんで、どちらか掲示板のトップにした方がいいんじゃないかな?と思いました。私見ですが。


98ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,121,561ポイント)   Date: 2009/12/23(水) 01:34   No:44698     
Title: Re:C言語の導入、コンパイラのインストールなどの解説ページ    
>>sizumaさん

ありがとうございます^^
懇切丁寧に説明しようとしたら大した説明でもないのに、すごく長くなってしまった^^;
なんか最近初心を忘れてるなぁ・・と思う事が良くあるので、
ちょっとでも躓いたらすぐ嫌になっていた当時を思い出してあの頃の自分でも挫けない解説にしたつもりです・・w

今まで全くCを知らなかったけど、公開しているゲーム経由でCに興味を持ったって方が
有り難いことにいらっしゃるようで、そんな方の助けにもなればと思いました。

しかしそうなるとC言語の入門サイトも作らなくちゃいけなくなりますね〜^^;

Cの導入から、Cの解説から、ゲームプログラムの基礎から、本格的なゲーム制作まで・・
全てを網羅するサイトにしたいな・・・なんて体がいくつあってもたらなそうだ^^;

> このスレッド内容が表示されてる画面から掲示板のトピック一覧に戻るリンクがありませんよね?

おぉ、鋭い!
こんなに長い間使ってて一度も気づきませんでした。
いつもマウスの戻るボタンで戻るので・・。
よく見ると「新規投稿」の左に戻れる状態だと「<<」こんなマークが出てますね。
誰もクリックしたことなさそうな位置にあるけど・・。
「ホーム」はちょっとそのままにしたい都合があるので、何か他の方法考えてみますね。


274ポイント を手に入れた。

Name: softya  ..比類無きプログラマー(72,624ポイント)   Date: 2009/12/23(水) 01:58   No:44699     
Title: Re:C言語の導入、コンパイラのインストールなどの解説ページ    
拝見しました。丁寧で良い感じですね。
そうそう、30日以内に製品登録する件も書いておいた方が良いかもしれません。
良く知恵袋で、30日でライセンス切れるみたいですが製品登録は有料ですか?と聞かれるので。

コンパイラ導入手引きのページをありがたく使わせてもらいます。

>ホームページが最近重い 
ADSLですが、特に夜が重いとは思いません。
※ 流石に昼ほどは軽くないですが許容範囲です。光回線の人だと意見が違うかもしれませんが。 編集済み


167ポイント を手に入れた。

Name: sizuma [URL]  ..上級者(20,712ポイント)   Date: 2009/12/23(水) 02:07   No:44701     
Title: Re:C言語の導入、コンパイラのインストールなどの解説ページ    
<<
おぉ、戻った。
・・・・いや気付かないですよ!(笑
しかもjavascriptの機能を使ってるだけで、戻る押してるのと一緒じゃないですか〜
結局左のツリーで移動してると何回か”<<”かブラウザの戻るで移動しなくてはいけないです^^;
一体何人のユーザーが興味本位にクリックしたのか。

僕も家ではツールバーにブックマークしてるんで全然問題ないんですが、学校だとトップページに移動してからまたトピック一覧に戻ります。


209ポイント を落としてしまった。

Name: DVDM [URL]  ..熟練のプログラマー(45,482ポイント)   Date: 2009/12/23(水) 02:22   No:44702     
Title: Re:C言語の導入、コンパイラのインストールなどの解説ページ    
導入ページの制作お疲れ様です!
私もsoftyaさんと同意見で、期限切れに対する対策(登録)も記載しておいた方がいいと思います。

導入ページを作成したのなら、龍神録のDLページや、プロジェクトのDLページ、TOPページなどから
リンクを辿れるようにしてみてはいかがでしょうか?
プロジェクトをDLするページに置いてあると、結構スムーズに導入できるのではないでしょうか。


>しかしそうなるとC言語の入門サイトも作らなくちゃいけなくなりますね〜^^;
導入ページの最後のほうに、C解説ページのリンクまで貼っているので今のところ
管理人さんが用意しなくても大丈夫ではないでしょうか。
やりたいというなら勿論とめませんけど(笑)


>後、うちのホームページ最近夜重い気がするんですが、きのせいでしょうか?;
私のPCではそのような現象は起きていないっぽいです;
ちなみに光回線でございます。
この時間が「夜」になればですけど(笑)


247ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(143,590ポイント)   Date: 2009/12/23(水) 02:39   No:44703     
Title: Re:C言語の導入、コンパイラのインストールなどの解説ページ    
ちょっとだけ意見をいっておきます。

1. CとC++がごっちゃになっています。
 
C++のソースファイルを作るように指示しているのに、直後で

> ではC言語で最も簡単なプログラムである「Hello World」のプログラムを張り付けてみましょう。

とあり、これは混乱の原因になります。

2. デバッグ開始にした場合の問題点の指摘があったほうがよいのでは?

> 別にデバッグ開始でもいいのですが、とりあえず今はデバッグは必要ありません。

とありますが、デバッグ開始の場合、キー入力を待たずに終了してしまいますので、この現象に遭遇した初心者は大抵パニックになります。

3. デバッグなしで開始のところで、常にコンパイルしてもよいか聞かれるわけではない。

> コンパイルしてもいいか聞かれるので、「はい」を押すとコンパイルされ、実行されます。

とありますが、すでにコンパイル済みの場合は聞かれないので、混乱の原因になります。

4. Visual C++特有の問題点

scanfなど、_sなしの関数を使おうとすると大量の警告が出ます。
入門書のとおり入力したのに警告が大量に出る(しかも意味がわからない)と、多くの場合、パニックになります。

あと、プロジェクトやソースファイルがどこに作られるのかが理解できない人が少なくありません。
この辺りの説明もあったほうがよいと思います。

また、ビルドしてから実行するように指導した方がよいと思います。
そうでないと、エラーが発生した場合、コンパイルエラーなのか実行時のエラーなのかが区別できない人が多発します。

それ以外についてはよく出来ていると思います。





2倍のポイントを手に入れた! 594ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,122,461ポイント)   Date: 2009/12/23(水) 11:55   No:44722     
Title: Re:C言語の導入、コンパイラのインストールなどの解説ページ    
>> softyaさん

ありがとうございます^^
ご指摘いただいた内容を元に修正しました☆


>> sizumaさん

> ・・・・いや気付かないですよ!(笑 

気付かないですよ、私3年間気づきませんでしたもの(笑

> しかもjavascriptの機能を使ってるだけで、戻る押してるのと一緒じゃないですか〜 

これいやですよね〜。最初にこのページ開いたら戻れない。
何か対策立ててみます。


>> DVDMさん

ありがとうございます^^

> 導入ページを作成したのなら、龍神録のDLページや、プロジェクトのDLページ、TOPページなどから 

あぁ、そうですね。特にゲームプログラミングの館の方はこっちを読んでもらうようにした方がよさそうですね。

> やりたいというなら勿論とめませんけど(笑) 

えぇ、いつかやりたいですねw

> 回線

了解です。情報提供ありがとうございます。


>> たかぎさん

多くのご意見ありがとうございます!
頂いたご意見を元に一通り見直しました。
ただ失礼ながら、scanf系のトラブルは発生した時ググるなりしてもらった方がいいかなと思ったこともあり、
全ては修正していないです。ご了承ください。
(入門時のページなので、なるべく簡潔にしたいという気持ちがありました)

貴重なご意見ありがとうございます^^


278ポイント を手に入れた。

Name: Tororo  ..ぴよぴよ(968ポイント)   Date: 2009/12/23(水) 14:39   No:44764     
Title: Re:C言語の導入、コンパイラのインストールなどの解説ページ    
私だけなのかはワカラナイですけど、ページの最後のQ&Aの画像が表示されていません^^;
PCが悪いんでしょうか?


44ポイント を手に入れた。

Name: last snow  ..かけだし(1,381ポイント)   Date: 2009/12/24(木) 00:24   No:44789     
Title: Re:C言語の導入、コンパイラのインストールなどの解説ページ    
導入ページの政策お疲れ様でした、dixqさん。
お初にお目にかかります、last snowです、以後お見知りおきを。

拝見しましたが、初心者でも見やすくできていると思いますよ。
ただ、空のプロジェクト〜〜云々に関して、少し説明が足りないかな、と感じたくらいでしょうか。

初心者って、大抵あそこで新しいプロジェクトを作る際に
hello worldアプリケーションを選んでしまって出来ない!みたいな事が結構あるんですよ。
かくいう私も、昔そうなってた中の一人だったわけですが。

>ホームページが最近重い
私の環境は光ですが、そう感じる事は特にありませんでしたね。
昼も夜も大体同じくらいの速度です。


44ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,124,320ポイント)   Date: 2009/12/24(木) 07:21   No:44802     
Title: Re:C言語の導入、コンパイラのインストールなどの解説ページ    
>>Tororoさん

ありがとうございます。リンクミスでした。修正しました^^

>>last snowさん

こんにちは、last snowさん^^
空のプロジェクトの件、確かにそうですね。追記しておきたいと思います。

> hello worldアプリケーションを選んでしまって出来ない!みたいな事が結構あるんですよ。 

windowsアプリケーションのことですかね?
コンソールアプリケーションを選択しなかった場合ということでしょうか?
確かにその辺も説明があった方がいいですね。

回線については、私だけの問題だったようで、よかったです。ありがとうございます。


2倍のポイントを手に入れた! 346ポイント を手に入れた。

Name: Tororo  ..かけだし(1,004ポイント)   Date: 2009/12/24(木) 09:49   No:44807     
Title: Re:C言語の導入、コンパイラのインストールなどの解説ページ    
画像映りました〜♪

対応ありがとうございましたm(_ _)m


2倍のポイントを手に入れた! 36ポイント を手に入れた。

Name: たいちう  ..熟練のプログラマー(41,722ポイント)   Date: 2009/12/24(木) 10:13   No:44808     
Title: Re:C言語の導入、コンパイラのインストールなどの解説ページ    
「Visual C++をダウンロードしてインストールしよう!」の冒頭あたりに、
Visual C++のバージョンやエディションについての説明がほしいです。
「最新が2008で、いろいろエディションがありますが、
入門用には無償のExpress Editionで十分です。
C/C++の入門書に載っているようなプログラムから、
龍神録まで、これでできます。」
程度の説明で十分でしょう。文章や例は適当に変えてください。

Visual C++特有の問題については、たかぎさんと同意見です。
かなりお節介なコンパイラだと思いますので、
警告についてはFAQがあると良いかと。


181ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(144,666ポイント)   Date: 2009/12/24(木) 19:17   No:44827     
Title: Re:C言語の導入、コンパイラのインストールなどの解説ページ    
CとC++の区別については、もっと厳密に行ったほうがよいと思います。
これからCを勉強しようとして、C++でコンパイルしてしまっていた場合、何を勉強していたのかが不明瞭になります。
Cを学びたいのであれば...
char *func()
{
  return "123";
}

int main()
{
  int value = func("abc", 0);
  printf("%d\n", value);
  return 0;
}

のような(間違った)コードが、エラーも出ずに通ってしまうことも経験させなければなりませんから。


34ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,124,755ポイント)   Date: 2009/12/25(金) 07:47   No:44842     
Title: Re:C言語の導入、コンパイラのインストールなどの解説ページ    
>>Tororoさん

ご指摘ありがとうございました^^

>>たいちうさん

そうですね、追記しました。
お節介な部分もきちんと書いておきましたw

>>たかぎさん

おぉ、ピュアCならコンパイル出来てしまうんですね、知りませんでした^^;
そういえばこんなプログラムも
#include <stdio.h>

int Get(a,b)
    int a;
    int b;{
    return 0;
}

int main(){

    return 0;
}

 
Cでコンパイル出来るけど、C++じゃ出来ないですね。
ただそこまで厳密にCとC++の違いを理解する必要があるんでしょうか^^;
「今Cで書いてるけど、C++のコンパイラは基本的にCを網羅してるからコンパイル出来てるんだよ」
位の理解で最初はいいかなと思って、説明を書きました。


355ポイント を手に入れた。

Name: 組木紙織  ..比類無きプログラマー(76,391ポイント)   Date: 2009/12/25(金) 08:50   No:44844     
Title: Re:C言語の導入、コンパイラのインストールなどの解説ページ    
C/C++の違いはきっちりしておいた方がいいと思います。
そうしないと細かな違いで、困ります。


31ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(144,703ポイント)   Date: 2009/12/25(金) 09:53   No:44850     
Title: Re:C言語の導入、コンパイラのインストールなどの解説ページ    
> ただそこまで厳密にCとC++の違いを理解する必要があるんでしょうか^^; 

あります。
本当にCしか使えない環境でプログラミングしなければならなくなったとき、変な癖がついていると、なかなか矯正できません。

> 「今Cで書いてるけど、C++のコンパイラは基本的にCを網羅してるからコンパイル出来てるんだよ」 
> 位の理解で最初はいいかなと思って、説明を書きました。

それは、C++コンパイラであっても、Cコンパイラを兼ねていることが多いということではないでしょうか?
C++コンパイラを使って、Cをやっていると考えるのは明らかな勘違いです。

ところで、CとC++の細かな違いは、
http://www.kijineko.co.jp/tech/cpp2c
にまとめていますので参考にしてください。


126ポイント を落としてしまった。

Name: softya  ..比類無きプログラマー(73,233ポイント)   Date: 2009/12/25(金) 17:11   No:44875     
Title: Re:C言語の導入、コンパイラのインストールなどの解説ページ    
「ゲームプログラミングの館」や「龍神録プログラミングの館」を参考にゲームを作る人はC++上でC言語もどきで開発するで良いと思います。
で、問題となっている宿題などC言語環境でしか動かないプログラムを作らなければいけないのに、C++のあいまいな環境で作ってしまうと提出したプログラムが動かないと問題がありますので、まずいかって気がします。
と考えると、宿題の人はたかぎさん推薦のMinGwの環境を紹介して、ゲーム作成の人は今のサイト「C言語ってどうしたらPCで動くようになるの?」にするってのがベストですかね。
「C言語ってどうしたらPCで動くようになるの?」にも厳密なC言語の環境ではないと一言断った方が良いとは思いますが・・・・。
C89で良ければ、VC++で/TCオプション指定って手もありますが、C言語のプロジェクトがプロジェクトテンプレートが無いってのが初心者に説明するのを難しくしてますね。


253ポイント を落としてしまった。

Name: たかぎ [URL]  ..ハッカー(145,329ポイント)   Date: 2009/12/25(金) 17:59   No:44878     
Title: Re:C言語の導入、コンパイラのインストールなどの解説ページ    
> と考えると、宿題の人はたかぎさん推薦のMinGwの環境を紹介して、ゲーム作成の人は今のサイト「C言語ってどうしたらPCで動くようになるの?」にするってのがベストですかね。 

MinGWもベストとはいえませんけどね。
-std=c89(または-ansi)および-pedanticオプションを付けるのであれば、かなりマシにはなります。
あと、long double型を使うと、printfやscanf系関数で問題が出ることもことわっておく必要があるでしょう。

自分が今扱っているのが、CなのかC++なのかはっきりわからないというのは最悪の状況ですので、それだけは絶対避けなければなりません。
C++をベターCとして使うというのは、有用なプログラミングスタイルですので、そのことを正確に説明できるのであれば、現在の方向性もありかと思います。

> 「C言語ってどうしたらPCで動くようになるの?」にも厳密なC言語の環境ではないと一言断った方が良いとは思いますが・・・・。 
> C89で良ければ、VC++で/TCオプション指定って手もありますが、C言語のプロジェクトがプロジェクトテンプレートが無いってのが初心者に説明するのを難しくしてますね。

/TCオプション指定までしなくても、拡張子を.cにすればよいとは思います。
ただ、Cのプロジェクトテンプレートがないのは痛いですね。このあたりが、Visual C++がC言語の初心者向けではないと考える要因のひとつです。
 編集済み


241ポイント を手に入れた。



Name: SS4  ..ぴよぴよ(279ポイント)   Date: 2009/12/24(木) 22:11   No:44832       
Title: 入力した文字列から該当した文字列を発見するプログラムについて    
こんばんわ。
いつも参考にさせていただいているSS4です。

今現在ほぼ独学でC言語を勉強しています。
環境はWindowsでVisual C++ 2005 Express Editionを使っています。

今作成したいプログラムは、
自分で入力した文字列から2つ以上連続した英文字や数字を発見したいというものです
説明しにくいのでサンプル的には、


入力してください>>AABCD
出力:AAが1つあります

入力してください>>AABBBC //AAとBBでカウント1づつ(BBBのように3つあってもカウントは2ではなく1)
出力:AAが1つあります
  BBが1つあります

このようなプログラムを作りたいです。

また、ABCDEFG~~~Z,abcdefg~~~z,0123~~~9など
文字列を順番通りに入力された場合も

入力してください>>AB15         //この場合ABが続いているのでカウント1
出力:続けられた文字列が1つあります

入力してください>>ABG89        //ABと89が続いているのでカウント2
出力:続けられた文字列が2つあります

と上記二つの条件を満たしたプログラムを作りたいんですが
この場合は配列を使って入力された文字を前から一文字ずつ
確認する方法しかないのでしょうか?
初心者なので説明不足かとは思いますが
ご指導よろしくお願いいたします。


279ポイント を手に入れた。


Name: たかぎ [URL]  ..ハッカー(144,722ポイント)   Date: 2009/12/24(木) 22:42   No:44834     
Title: Re:入力した文字列から該当した文字列を発見するプログラムについて    
前半については、adjacent_find関数を使うと簡単に実現できそうです。
後半は、1文字ずつ見るしかないでしょうね。


30ポイント を落としてしまった。

Name: SS4  ..ぴよぴよ(935ポイント)   Date: 2009/12/24(木) 23:03   No:44835     
Title: Re:入力した文字列から該当した文字列を発見するプログラムについて    
早速の回答ありがとうございます。
adjacent_find関数を調べた結果
このような参考ソースがでてきました。
前半部分では自分で文字列を入力したいんですが
このソースでは
     v1.push_back(3);
    v1.push_back(2);
    v1.push_back(1);
    v1.push_back(1);
    v1.push_back(4);といった感じに最初からデータが入ってますよね?
この場合はどのようにしてデータ入力させたらいいんですか?


#include <stdio.h>
#include <vector>
#include <algorithm>
#include <functional>
using namespace std;

int main()
{
    vector<int> v1, v2;
    vector<int>::iterator it;
                    // 初期設定
    printf("**初期状態 v1**\n");
    v1.push_back(3);
    v1.push_back(2);
    v1.push_back(1);
    v1.push_back(1);
    v1.push_back(4);
    for (it = v1.begin(); it != v1.end(); it++)
        printf("  %d", *it);
    printf("\n");
    printf("**初期状態 v2**\n");
    for (int i1 = 0; i1 < 5; i1++)
        v2.push_back(i1);
    for (it = v2.begin(); it != v2.end(); it++)
        printf("  %d", *it);
    printf("\n");
                    // 検索(同じ要素が連続)
    it = adjacent_find(v1.begin(), v1.end());
    if (it != v1.end())
        printf("v1 には %d が連続している箇所がある\n", *it);
    else
        printf("v1 には連続した要素がない\n");

    it = adjacent_find(v2.begin(), v2.end());
    if (it != v2.end())
        printf("v2 には %d が連続している箇所がある\n", *it);
    else
        printf("v2 には連続した要素がない\n");
                    // 検索(次の要素より大きい)
    it = adjacent_find(v1.begin(), v1.end(), greater<int>());
    if (it != v1.end())
        printf("v1 では %d が次の要素より大きい\n", *it);
    else
        printf("v1 は昇順に並んでいる\n");

    it = adjacent_find(v2.begin(), v2.end(), greater<int>());
    if (it != v2.end())
        printf("v2 では %d が次の要素より大きい\n", *it);
    else
        printf("v2 は昇順に並んでいる\n");

    return 0;
}

(出力)

**初期状態 v1**
  3  2  1  1  4
**初期状態 v2**
  0  1  2  3  4
v1 には 1 が連続している箇所がある
v2 には連続した要素がない
v1 では 3 が次の要素より大きい
v2 は昇順に並んでいる

------------------------------------------

また後半の1文字ずつ見る方法ってどうすれば一番効率がいい探し方ができますか?


656ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(144,762ポイント)   Date: 2009/12/24(木) 23:09   No:44836     
Title: Re:入力した文字列から該当した文字列を発見するプログラムについて    
失礼、C言語だとadjacent_findを使えませんね。
やはり1文字ずつ処理するしかなさそうです。


40ポイント を手に入れた。

Name: non  ..比類無きプログラマー(84,525ポイント)   Date: 2009/12/25(金) 09:52   No:44849     
Title: Re:入力した文字列から該当した文字列を発見するプログラムについて    
入力されるのが、半角アスキーのみで、100文字未満という条件で最初の方を作って見ました。
また、出力の形式も、指定されたものと若干異なりますが、独学で勉強されているということで、
学校の課題でないなら、よけいな物がない方がわかりやすいと思い、変更しました。
参考にして、2つ目の課題を考えてみてください。
#include <stdio.h>
int main(void)
{
    int i=1;
    int sw=0;
    char str[100];
    printf("入力してください>>");
    gets(str);
    while(str[i]!='\0'){
        if(str[i-1]==str[i]){
            if(sw==0){
                printf("出力:%c%cが1つあります\n",str[i-1],str[i-1]); 
                sw=1;
            }
        }
        else{
            if(sw==1)
                sw=0;
        }
        i++;
    }
    return 0;
}




Name: SS4  ..ぴよぴよ(991ポイント)   Date: 2009/12/25(金) 09:57   No:44851     
Title: Re:入力した文字列から該当した文字列を発見するプログラムについて    
返信遅くなりました。
たかぎさん、nonさんありがとうございます。

adjacent_find関数はCでは使えないんですか?


課題ではないです。


入力は半角アスキーのみで、100文字未満です。

追記
上記ソースで実行できました…
#include <stdio.h> 
#include <vector> 
#include <algorithm> 
#include <functional> 
using namespace std; 

int main() 

vector<int> v1, v2; 
vector<int>::iterator it; 
// 初期設定 
printf("**初期状態 v1**\n"); 
v1.push_back(3); 
v1.push_back(2); 
v1.push_back(1); 
v1.push_back(1); 
v1.push_back(4); 
for (it = v1.begin(); it != v1.end(); it++) 
printf(" %d", *it); 
printf("\n"); 
printf("**初期状態 v2**\n"); 
for (int i1 = 0; i1 < 5; i1++) 
v2.push_back(i1); 
for (it = v2.begin(); it != v2.end(); it++) 
printf(" %d", *it); 
printf("\n"); 
// 検索(同じ要素が連続) 
it = adjacent_find(v1.begin(), v1.end()); 
if (it != v1.end()) 
printf("v1 には %d が連続している箇所がある\n", *it); 
else 
printf("v1 には連続した要素がない\n"); 

it = adjacent_find(v2.begin(), v2.end()); 
if (it != v2.end()) 
printf("v2 には %d が連続している箇所がある\n", *it); 
else 
printf("v2 には連続した要素がない\n"); 
// 検索(次の要素より大きい) 
it = adjacent_find(v1.begin(), v1.end(), greater<int>()); 
if (it != v1.end()) 
printf("v1 では %d が次の要素より大きい\n", *it); 
else 
printf("v1 は昇順に並んでいる\n"); 

it = adjacent_find(v2.begin(), v2.end(), greater<int>()); 
if (it != v2.end()) 
printf("v2 では %d が次の要素より大きい\n", *it); 
else 
printf("v2 は昇順に並んでいる\n"); 

return 0; 




 編集済み


56ポイント を手に入れた。

Name: non  ..比類無きプログラマー(84,570ポイント)   Date: 2009/12/25(金) 12:23   No:44857     
Title: Re:入力した文字列から該当した文字列を発見するプログラムについて    
課題でなく自学の勉強なら、便利な関数を使わずに、解く方法を考えた方が勉強に
なります。


45ポイント を手に入れた。



Name: バグ  ..ハッカー(181,875ポイント)   Date: 2009/12/25(金) 09:52   No:44848       
Title: C#のNumericUpDownについて    
OSはWindowsXP、言語はC#2.0、環境はVS2005PEで、.NET Framework 2.0です。

今回はNumericUpDownについての質問です。

あのコントロールの値を増減させるUpDownボタンがありますよね?
デフォルトのサイズだと小さすぎてタッチパネルでの操作が困難なので、サイズを大きくし、位置も左右に変更したいです。(※画像参照)

おそらくスクロールバーを使用しているのか、フォントサイズを変更しても縦に伸びるだけで横方向のサイズはほとんど変わりませんし、UpDownBaseクラスを継承させてカスタムしようとしましたが、ボタンのサイズを変更できそうな部分は見当たらず…

RepeatButtonというコントロールを使って自作しようと思いましたが、現状の環境ではSysytem.Windows.Controls名前空間が参照できず…

行き詰ってしまいまして、ここに書き込みました。なんとか代替案でもかまいませんので、良い方法がありましたら、教えていただけないでしょうか?

よろしくお願いします。




262ポイント を手に入れた。


Name: バグ  ..ハッカー(181,955ポイント)   Date: 2009/12/25(金) 10:02   No:44852     
Title: Re:C#のNumericUpDownについて    
書いていて気付きました…RepeatButtonを自作すればよさそうですね(^_^;)
ちょっとやってみますが、アイデアは引き続き募集させていただきます。
よろしくお願いします。


80ポイント を手に入れた。

Name: YuO  ..熟練のプログラマー(42,087ポイント)   Date: 2009/12/25(金) 11:12   No:44853     
Title: Re:C#のNumericUpDownについて    
> あのコントロールの値を増減させるUpDownボタンがありますよね? 
> デフォルトのサイズだと小さすぎてタッチパネルでの操作が困難なので、サイズを大きくし、位置も左右に変更したいです。(※画像参照) 

スピンコントロールに関して,タッチ操作を行う場合は非推奨とされています。
以下は,Windows ユーザーエクスペリエンスガイドラインの該当項目です。
MSDN: スピン コントロール
http://msdn.microsoft.com/ja-jp/library/aa511491.aspx#rightcontrol
> タッチ パネルやペンを使用するユーザーが主な対象かどうか。該当する場合は、代わりにドロップダウン リストを使用するようにします。


> おそらくスクロールバーを使用しているのか、フォントサイズを変更しても縦に伸びるだけで横方向のサイズはほとんど変わりませんし、UpDownBaseクラスを継承させてカスタムしようとしましたが、ボタンのサイズを変更できそうな部分は見当たらず… 

Scroll Barではなく,Up-Downという標準のコントロールです。
MSDN: Up-Down Control
http://msdn.microsoft.com/en-us/library/bb759880.aspx

で……NumericUpDownを含むFormに対して,Control.Controlsを使ってツリー構造を表示させてみると,
NumericUpDownの子コントロールとしてUpDownButtonsというコントロールが見つかります。
ただ,これをControl.Widthを変更したりMoveWindow APIでサイズ変更してみても,残念ながらサイズは変更されません。

なので,思い切ってNumericUpDown + TrackBarという構成にしてしまってはどうでしょうか。
値はPropertyChangedをトリガとしてバインドすれば値を同期できるので,あまり問題にならないでしょうし。
# なお,ユーザーエクスペリエンスガイドラインにおいてTrackBarはスライダーという名前で書かれています。


> RepeatButtonというコントロールを使って自作しようと思いましたが、現状の環境ではSysytem.Windows.Controls名前空間が参照できず… 

System.Windows以下の名前空間のうち,System.Windows.Formsを除く名前空間は,Windows Presentation Foundation (WPF) のものです。
WPFは.NET Framework 3.0からのサポートになり,VS 2005で利用するには,
「Visual Studio 2005 extensions for .NET Framework 3.0 (WCF & WPF)」というものが必要なのですが,
これはCTPで,さらに提供が終了してしまっています。
# 探せば見つかるのですが,MSのサイトではないので記述しません。


404ポイント を手に入れた。

Name: バグ  ..ハッカー(182,035ポイント)   Date: 2009/12/25(金) 11:44   No:44855 解決!     
Title: Re:C#のNumericUpDownについて    
>>YuOさん
返信ありがとうございます。


>>スピンコントロールに関して,タッチ操作を行う場合は非推奨とされています。 

そうだったのですね…。冷静に考えれば確かにそうですね(^_^;)

以前、MFCで開発していたのですが、その時にはスピンボタンとテキストボックスが別々に存在していて、関連付けて使用していたので、.NETでもそういう方法があるのかなぁ…と思ったんですが…残念です。


>>なので,思い切ってNumericUpDown + TrackBarという構成にしてしまってはどうでしょうか。 
値はPropertyChangedをトリガとしてバインドすれば値を同期できるので,あまり問題にならないでしょうし。 

すみません、説明不足でした。

値のMAX-MINの範囲がかなり広い(ほぼdecimal型のMAX-MINと同等)なので、スライダーですと微調整が難しくなってしまうんですよ。



どうやら、既存のコントロールをいじってなんとかするのは難しそうですので、自作してみようかと思います。
とりあえず、簡易的なRepeatButtonはできましたので、もう少し頑張ってみます。

一応、解決としておきますが、引き続きアイデアは募集中です。


80ポイント を手に入れた。



Name: れこしぁ  ..ぴよぴよ(45ポイント)   Date: 2009/12/24(木) 21:45   No:44830       
Title: 処理時間の測定について    
実行してからループで動作しているプログラムで、ある処理が開始されてから終了するまでの時間を測定したいのですが、どうすればうまく測定できるでしょうか?

45ポイント を手に入れた。


Name: たかぎ [URL]  ..ハッカー(144,752ポイント)   Date: 2009/12/24(木) 21:52   No:44831     
Title: Re:処理時間の測定について    
おおまかな計測でよいのであれば、ストップウォッチを使ってください。
高い精度が必要なら、最初と最後に出力ポートに書き込んで、オシロスコープ等を使って計測してください。


86ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,124,400ポイント)   Date: 2009/12/24(木) 22:27   No:44833     
Title: Re:処理時間の測定について    
メジャーな所で言うと、clock関数かgettimeofdayを使えばよさそうです。
時間を測定するサンプルを書いてみました。

#include <stdio.h>
#include <time.h>

int main(){
    int t = clock();
    getchar();
    printf("%.3f秒\n",(double)(clock()-t)/CLOCKS_PER_SEC);
    return 0;
}


エンターを入力すると、プログラムを開始してからの秒数が表示されます。
clockというのはプログラムが開始してからの経過時間なので、常に増え続けます。
測定したい開始時点で一度記憶し、その差分で時間を測定します。

gettimeofdayと両方使い方がこの辺に乗っていますので参考にどうぞ。
http://kzk9.net/column/time.html

clock関数の帰り値がマイクロ秒であると、確か(プログラムを開始してから)一時間ちょっと位しか測れないので、
もし長時間の測定の場合で環境がLinuxなどであれば注意が必要かもしれません。


80ポイント を手に入れた。

Name: れこしぁ  ..ぴよぴよ(47ポイント)   Date: 2009/12/25(金) 01:38   No:44840     
Title: Re:処理時間の測定について    
長時間のおおまかな測定にはストップウォッチ、短時間の詳細な測定にはclock関数を使おうと思います。
ありがとうございました。


47ポイント を手に入れた。

Name: non  ..比類無きプログラマー(84,525ポイント)   Date: 2009/12/25(金) 09:07   No:44845     
Title: Re:処理時間の測定について    
たかぎさんがストップウォッチっていうのは、れこしゃさんが、環境などを何も書いていないからです。
環境によっては、長時間なら長時間なりに、ストップウオッチを使わなくてもおおまかな測定はできます。
例え、OSのないPICマイコンでもね。



8ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(144,829ポイント)   Date: 2009/12/25(金) 09:43   No:44847     
Title: Re:処理時間の測定について    
> 短時間の詳細な測定にはclock関数を使おうと思います。 

clock関数はCPU使用時間を返すものなので、実時間が欲しいときに使うのは不適切です。
また、clock関数が使えない、または常に(clock_t)-1を返す環境もあります。


67ポイント を手に入れた。

Name: Naohiro19  ..かけだし(2,400ポイント)   Date: 2009/12/25(金) 11:16   No:44854     
Title: Re:処理時間の測定について    
timeGetTime関数を使えばおおよその時間が出ます。
10万回カウントアップし続けた秒数です。
intel Pentium 4 HT/メモリ:512MBの環境では98秒と出ました
#include <stdio.h>
#include <windows.h>              //DWORD型を使うため必要
#include <mmsystem.h>             //timeGetTimeを使うため必須
#pragma comment(lib,"winmm.lib")  //timeGetTimeを使うため必須

int main(void)
{
    //timeGetTimeの精度を上げる(Windows98用)
    timeBeginPeriod(1);
    double cnt = 0;
    DWORD now = timeGetTime();
    for(int i = 0; i < 10000000; i++)
    {
        cnt++;
    }
    printf("浮動小数点10万回計算の秒数:%d秒\n", timeGetTime() - now  );

    timeEndPeriod(1);
    return 0;
}


278ポイント を手に入れた。



Name: DenDen  ..ぴよぴよ(401ポイント)   Date: 2009/12/24(木) 04:39   No:44801       
Title: OpenCVについて    
いま、OpenCVの勉強を自分でしていて、オライリーの詳解OpenCVというものをやっているのですが、その中のプログラムの中にこのようなものがあります
AVIファイルを流してみようという簡単なプログラムです

#include "highgui.h"
#include <stdio.h>

int main(int argc , char** argv){
    cvNamedWindow( "Example2", CV_WINDOW_AUTOSIZE);
    CvCapture* capture = cvCreateFileCapture( argv[1] );
    IplImage* frame;
    char key;

    while(1){
        frame = cvQueryFrame( capture );
        if(!frame){
            break;
        }
        cvShowImage("Example2" , frame);
        key = cvWaitKey(10);
        if(key ='q'){
            break;
        }
    }
    cvReleaseCapture( &capture);
    cvDestroyWindow("Example2");
}



ところが、実際にこれを書き込んで実行してみると、argv[1]がうまく動かずファイルの名前を入力できず、プログラムが終了してしまいます。なぜこのようになってしまうのか自分で考えてみたのですが、どうもうまくいきません。プログラム自体に間違いはなさそうですし、対策としてcharに代入してから引数に入れるという方法を取ってみたりしましたができませんでした。


まだプログラムを初めて二年弱の人間なので、もしかしたら当たり前のことを普通に間違えているのかもしれませんが、そこらへんは許して下さい

開発環境はwindows vistaでVC++2008を使ってます

OpenCVなんぞ場違いだとは思いますが、相談できる心当たりはここにしかなく相談しました
申し訳ないとは思いますが、どうぞよろしくお願いします!


401ポイント を手に入れた。


Name: last snow  ..かけだし(1,668ポイント)   Date: 2009/12/24(木) 10:53   No:44810     
Title: Re:OpenCVについて    
ポインタと配列の違いはご存知ですか?
なぜ、charのポインタのポインタ形であるargvを引数で渡しているのに、配列参照しているのでしょうか。


また、
>argv[1]がうまく動かずファイルの名前を入力できず
とありますがopenCVリファレンスでは、




cvCreateFileCapture

ファイルからのビデオキャプチャを初期化する

CvCapture* cvCreateFileCapture( const char* filename );

filename
    ビデオファイル名. 

関数 cvCreateFileCapture は, 指定されたファイルからビデオストリームを読み込むために CvCapture 構造体を確保して初期化する.

確保された構造体が使用されなくなったときには,関数 cvReleaseCaptureによって解放されるべきである. 




とあります。
何処でcvCreateFileCapture関数に渡すべきファイル名を入力しているのでしょうか? 編集済み


287ポイント を手に入れた。

Name: Mist  ..比類無きプログラマー(79,252ポイント)   Date: 2009/12/24(木) 11:43   No:44811     
Title: Re:OpenCVについて    
> 何処でcvCreateFileCapture関数に渡すべきファイル名を入力しているのでしょうか?

OpenCVはわかんないけど、コマンドプロンプトから

> xxx.exe "(ファイルパス\ファイル名)"

として実行しているならDenDenさんのソースに間違いは無いよ。
ただ、VC上から実行する場合、コマンドライン引数はプロパティで設定する必要があるので、それがきちんとできているかは気になる。

※VCでのコマンドライン引数の設定
メニューから「プロジェクト」→「(プロジェクト名)のプロパティ」を選択。
ツリーから「構成プロパティ」→「デバッグ」を選択。
右側の「コマンドライン引数」欄に引数として渡すデータを入力。

> ポインタと配列の違いはご存知ですか?
> なぜ、charのポインタのポインタ形であるargvを引数で渡しているのに、配列参照しているのでしょうか。 
この指摘は間違い。
char** argv

char *argv[]
と同じだからargv[1]と書いてることになんら問題は無い。
逆に、ダメだと考えた理由を説明して欲しい。





2倍のポイントを手に入れた! 540ポイント を手に入れた。

Name: DenDen  ..ぴよぴよ(538ポイント)   Date: 2009/12/24(木) 16:56   No:44817     
Title: Re:OpenCVについて    
last snowさん、Mistさん 解答ありがとうございます。
Mistさんの言うとおりVC++で事項しているので、コマンドライン引数が書かれていなかったようです。

申し訳ないのですが、ソースファイルと同じ階層にOpenCV.aviというファイルを入れているのですが、コマンドライン引数にOpenCV.aviと入れても実行ができません。
もうしわけないのですがどう書けばいいのでしょうか?
よろしければ教えていただけないでしょうか?


137ポイント を手に入れた。

Name: Mist  ..比類無きプログラマー(79,604ポイント)   Date: 2009/12/24(木) 17:21   No:44820     
Title: Re:OpenCVについて    
> もうしわけないのですがどう書けばいいのでしょうか? 
まず、動画ファイルの名前がプログラムに対して正しく渡されているかと、動画が再生できないことは分けて考えてください。
コマンドライン引数については回答できますがOpenCVについては経験が無いので私は回答できません。

main関数の最初に
printf("%s\n", argv[1]);
を追加して、ファイル名が正しく渡されていることを確認してください。
これでOpenCV.aviと表示されるのであればコマンドライン引数の使い方はあっています。
よって、問題はファイル名以外となりますのでOpenCVに詳しい回答者を待ってください。


179ポイント を手に入れた。

Name: last snow  ..かけだし(1,884ポイント)   Date: 2009/12/24(木) 18:42   No:44824     
Title: Re:OpenCVについて    
>mistさん
>この指摘は間違い。
ご指摘痛み入ります。
確かに出来ますよね……私の間違いです。
勘違いしていました。

>dendenさん
ポインタのポインタに関して間違った指摘をしてしまい申し訳ありません。
心よりお詫び申し上げます。

>もうしわけないのですがどう書けばいいのでしょうか?
openGVに詳しい、という訳でないので一概に答えられませんが、ブレークポイントをMAIN関数内で多数設置し、処理を追いつつウォッチリストで変数の値を追っていけば何か解るかもしれません。

また、モノは試しですが、ファイル名のコマンドライン引数を、フルパスで参照してみるとかはどうでしょうか?
 編集済み


216ポイント を手に入れた。

Name: Mist  ..比類無きプログラマー(79,670ポイント)   Date: 2009/12/24(木) 19:19   No:44828     
Title: Re:OpenCVについて    
avi再生のソース見つけました。
こっちのほうがエラー処理も入っているから何が問題なのかわかるんじゃないですか。

http://wiki.livedoor.jp/mikk_ni3_92/d/OpenCV::%C6%B0%B2%E8%BA%C6%C0%B8


80ポイント を手に入れた。

Name: DenDen   Date: 2009/12/31(木) 01:22   No:448011262190129     
Title: Re:OpenCVについて    
返事が遅れて申し訳ありませんでした
aviファイルが開けないのが原因みたいです
リンク先を参考にして頑張っていこうと思います
Mistさん、last Snowさん ありがとうございました!




Name: nuu  ..ぴよぴよ(118ポイント)   Date: 2009/12/24(木) 13:43   No:44812       
Title: 敵にショットを撃たせられません    
13項目の【敵にショットを撃たせてみよう】についてです。

すべて入力し終えてからコンパイル実行をすると
struct.h(60) : error C2065: 'SHOT_BULLET_MAX' : 定義されていない識別子です。
・・・というようなエラーが発生してしまいます。

なにかを入力し忘れているのでしょうか??


118ポイント を手に入れた。


Name: wing  ..入門者(2,958ポイント)   Date: 2009/12/24(木) 14:04   No:44813     
Title: Re:敵にショットを撃たせられません    
struct.hに
typedef struct{
//フラグ、種類、カウンタ、どの敵から発射されたかの番号、色
    int flag,knd,cnt,num;
//ベース角度、ベーススピード
    double base_angle[1],base_spd[1];
    bullet_t bullet[SHOT_BULLET_MAX];
}shot_t;

があるはずですが、ここにあるSHOT_BULLET_MAXが
まだ定義されていないとういことです。
SHOT_BULLET_MAXはdefine.hで定義されているので、
define.hの一番下に
#include "struct.h"を書けば解決すると思います。


226ポイント を手に入れた。

Name: nuu   Date: 2009/12/28(月) 16:11   No:448121261984262 解決!     
Title: Re:敵にショットを撃たせられません    
ありがとうございます。
無事に実行することができました




Name: むん  ..ぴよぴよ(253ポイント)   Date: 2009/12/20(日) 19:31   No:44540       
Title: 未解決の外部シンボルがあるというえらーがでます。    
未解決の外部シンボルがあるというエラーがでます。
どうしてこのようなエラーがでるのかが知りたいです。
プログラムリストは以下のようになっています。
"ファイル名"としています。

"queue.h"
#include<stdio.h>
#include<stdlib.h>
#define MAX 256
typedef struct{
    char data[MAX];
    int head,tail,number;
}Queue;

void enqueue(Queue *Q,char x);
char dequeue(Queue *Q);
void initialize(Queue *Q);
int empty(Queue *Q);
"queue.c" ではエンキューにデキューをする関数を行っています。 "main.c"
 
#include "queue.h"

int main(void)
{
    char x;
    Queue Q;
    initialize(&Q);
    enqueue(&Q,'a');
    enqueue(&Q,'b');
    enqueue(&Q,'c');
    x=dequeue(&Q);
    x=dequeue(&Q);
    enqueue(&Q,'d');
    x=dequeue(&Q);
    enqueue(&Q,'e');
    
    while(!empty(&Q)){
        printf("%c",dequeue(&Q));
    }
    printf("\n");
    return (0);
}


それではよろしくお願いします。


253ポイント を手に入れた。


Name: box  ..ハッカー(147,703ポイント)   Date: 2009/12/20(日) 19:37   No:44541     
Title: Re:未解決の外部シンボルがあるというえらーがでます。    
>"queue.c" 
>ではエンキューにデキューをする関数を行っています。 

せっかくですから、これの中身も見せてください。

「未解決の外部シンボル」というエラーは、
変数や関数の定義場所と使用場所とで名前が食い違っているとき
などに起きます。


88ポイント を手に入れた。

Name: むん  ..ぴよぴよ(461ポイント)   Date: 2009/12/20(日) 23:39   No:44554     
Title: Re:未解決の外部シンボルがあるというえらーがでます。    
boxさんありがとうございます。

それと返信遅くなってすみません。

queue.c
の中身は以下のようになっています。

#include "queue.h"

void enqueue(Queue *Q,char x){
    if(Q->number < MAX){
        Q->number++;
        Q->tail=(Q->tail%MAX)+1;
        Q->data[Q->tail]=x;
    }else{
        printf("Queue Q overflows.\n");
    }
}

char dequeue(Queue *Q){
    if(Q->number > 0){
        Q->number--;
        Q->head=(Q->head%MAX)+1;
        return(Q->data[Q->head]);
    }else{
        printf("Queue Q is empty .\n");
        return('\0');
    }
}

void initialize(Queue *Q){
    Q->head=0;
    Q->tail=0;
    Q->number=0;
}

int empty(Queue *Q){
    if(Q->number==0){
        return (1);
    }
    return (0);
}



それではお願いします。


208ポイント を手に入れた。

Name: トントン  ..ぴよぴよ(356ポイント)   Date: 2009/12/21(月) 00:39   No:44555     
Title: Re:未解決の外部シンボルがあるというえらーがでます。    
「未解決の外部シンボル」はboxさんが述べている通りで。


何が未解決の外部シンボルなのかわからないです。
他にエラーメッセージがありませんでしたか?


44ポイント を手に入れた。

Name: むん  ..ぴよぴよ(557ポイント)   Date: 2009/12/21(月) 01:13   No:44556     
Title: Re:未解決の外部シンボルがあるというえらーがでます。    
トントンさんありがとうございます。

Error: 外部シンボル '_initialize' が未解決
Error: 外部シンボル '_enqueue' が未解決
Error: 外部シンボル '_dequeue' が未解決
Error: 外部シンボル '_empty' が未解決

queue.cの関数全てが未解決とでます。
ちゃんとエラーメッセージを書かなくてすみません。

それではよろしくお願いします。


96ポイント を手に入れた。

Name: tk  ..かけだし(1,100ポイント)   Date: 2009/12/21(月) 09:12   No:44558     
Title: Re:未解決の外部シンボルがあるというえらーがでます。    
パッと見ただけですが、
単純にqueue.cがプロジェクトに追加できていない
だけのような気がします。

開発環境教えていただけませんか?


67ポイント を手に入れた。

Name: むん  ..ぴよぴよ(579ポイント)   Date: 2009/12/21(月) 17:37   No:44576     
Title: Re:未解決の外部シンボルがあるというえらーがでます。    
tkさんありがとうございます。

開発環境ですが、 Visual c++ 2008 のコマンドプロンプトでコンパイルをしています。
それと一応このプログラムは実行できて、deと出力されます。


22ポイント を手に入れた。

Name: トントン  ..ぴよぴよ(412ポイント)   Date: 2009/12/21(月) 21:42   No:44604     
Title: Re:未解決の外部シンボルがあるというえらーがでます。    
>未解決の外部シンボルがあるというエラーがでます。 
>どうしてこのようなエラーがでるのかが知りたいです。

でも、実行できている…。
現在は何が知りたい状態なのでしょうか?


56ポイント を手に入れた。

Name: box  ..ハッカー(147,764ポイント)   Date: 2009/12/21(月) 22:15   No:44609     
Title: Re:未解決の外部シンボルがあるというえらーがでます。    
>それと一応このプログラムは実行できて、deと出力されます。

ということは、過去のある時点では当該のエラーが出ていたものの、
現時点では解決済みであると判断できます。


61ポイント を手に入れた。

Name: むん  ..ぴよぴよ(953ポイント)   Date: 2009/12/21(月) 23:52   No:44613     
Title: Re:未解決の外部シンボルがあるというえらーがでます。    
トントンさん、boxさんありがとうございます。

一番始めにもかきましたが、どうしてこの未解決であるという
エラーがでているのかが知りたいので質問させていただきました。

できればエラーをなくしたいと考えています。

わかりずらい質問ですいません。
もう一度説明させていただきますと、

Error: 外部シンボル '_initialize' が未解決 
Error: 外部シンボル '_enqueue' が未解決 
Error: 外部シンボル '_dequeue' が未解決 
Error: 外部シンボル '_empty' が未解決 

というエラーメッセージがでますが、一応Visul c++ 2008 のコマンドプロンプト上
では実行できました。ですがこのエラーをなくしたいと考えています。、
一体どうしたらよいのでしょうか?

それではよろしくお願いします。


138ポイント を手に入れた。

Name: ぽこ  ..入門者(2,501ポイント)   Date: 2009/12/22(火) 00:20   No:44618     
Title: Re:未解決の外部シンボルがあるというえらーがでます。    
状況が分からないので質問を二つ。

1.プログラムが動いているという「今」もエラーは出ますか?

2.ソリューション(もしくはプロジェクト)をクリーン後、
 再びプログラムをビルドして、プログラムを実行できますか?


95ポイント を手に入れた。

Name: softya  ..比類無きプログラマー(71,490ポイント)   Date: 2009/12/22(火) 00:40   No:44619     
Title: Re:未解決の外部シンボルがあるというえらーがでます。    
>開発環境ですが、 Visual c++ 2008 のコマンドプロンプトでコンパイルをしています。
コンパイル時のコマンドを教えてください。
コンパイルコマンドの書き方に問題がある気がします。

なぜ、実行しても問題ないかは謎ですが・・・。


98ポイント を手に入れた。

Name: むん  ..かけだし(1,144ポイント)   Date: 2009/12/22(火) 00:42   No:44620     
Title: Re:未解決の外部シンボルがあるというえらーがでます。    
ぽこさんありがとうございます。

Visual c++ を使用していましたが、コマンドプロンプトのnotepadでcのファイルを作って
プログラミングしていたので、ソリューションなどは関係ないと思います。
基本的にメモ帳に書いていましたので。

それとすいません。PathをいじっていたらVisual c++2008 のコマンドプロンプト上でコンパイル
できなくなってしまいました。なので始めてのC言語というソフトで実行してみましたが、
まったく同じエラーが出ます。今度は実行もされませんでした。

すいません。少し状況を変えてしまって。それではよろしくお願いします。


69ポイント を手に入れた。

Name: むん  ..かけだし(1,002ポイント)   Date: 2009/12/22(火) 00:47   No:44621     
Title: Re:未解決の外部シンボルがあるというえらーがでます。    
softyaさんありがとうございます。

cl queuemain.c queue.c でVisual c++ ではコンパイルしていました。

それと上記でも書きましたが、申し訳ありません。上記ではソフト名を間違えました。

C言語をはじめようというソフトでコンパイルをしています。
するとまったく同じエラーがでてしまいました。

違うファイルから関数を呼び出すとき、この方法では何かまずいのでしょうか?


142ポイント を落としてしまった。

Name: ぽこ  ..入門者(2,589ポイント)   Date: 2009/12/22(火) 01:11   No:44622     
Title: Re:未解決の外部シンボルがあるというえらーがでます。    
> Visual c++ を使用していましたが、コマンドプロンプトのnotepadでcのファイルを作って
> プログラミングしていたので、ソリューションなどは関係ないと思います。

すみません、見落としていました。

VC++2008ExpressEdition提供のコマンドプロンプトから提示されたソースコードを
コンパイルしましたが、エラーメッセージが出てきません。

揚げ足を取るようで申し訳ありませんが、
×queuemain.c
○main.c
ですよね?


88ポイント を手に入れた。

Name: トントン  ..ぴよぴよ(542ポイント)   Date: 2009/12/22(火) 02:24   No:44623     
Title: Re:未解決の外部シンボルがあるというえらーがでます。    
う〜む、少し疑問というか自分が知らない面が出てきて面白いというか。

>未解決の外部シンボルがあるというエラーがでます
という時点で、コンパイルエラーですよね?
それとも、コンパイルはされてexeファイルは作成されたのでしょうか?


ちなみに、自分が今考えられる「未解決の外部シンボル」エラーの出し方としては

1.関数Hogeが入っているファイルを読み込んでいないが何処かでHogeを使用している場合
2.関数Fugaはプロトタイプ宣言のみ行っており中身はないが何処かでFugaを使用している場合

今回の場合だと、
queue.cを読み込んでいない可能性が考えられます。
が、実行できて結果が得られるというのは何でだろうという感じなので
自分としても詳細が知りたいです。

ちなみに、パスを変えてしまいわからなくなってしまったのであれば
再インストールしてみてはいかがでしょう?


55ポイント を手に入れた。

Name: last snow  ..かけだし(1,062ポイント)   Date: 2009/12/22(火) 22:34   No:44686     
Title: Re:未解決の外部シンボルがあるというえらーがでます。    
私が考えられる内容としましては、この可能性が考えられます。

1.main関数で使用するqueue.cpp内の関数が、queue.hで使用宣言になっていないため。
解決案⇒queue.h関数宣言を削除し、main.cppのグローバル領域に頭にextern宣言を付けて宣言する。
例:
【queue.h】

#include<stdio.h>
#include<stdlib.h>
#define MAX 256
typedef struct{
char data[MAX];
int head,tail,number;
}Queue;

【main.c】

#include "queue.h"

extern void enqueue(Queue *Q,char x);
extern char dequeue(Queue *Q);
extern void initialize(Queue *Q);
extern int empty(Queue *Q);


int main(void)
{
〜〜〜〜〜〜〜
以下、ソース続く


上記で直らない場合は、下記の

2.コマンドライン上でファイル名をmain.cppの後にqueue.cppを渡している。
解決案⇒queue.h、queue.cpp、main.cppの順にコンパイラに渡してみる。

使用した事がないので解りませんが、可能性としてはありえるかと。

コンパイラ再インストール後、上記2つで解決しない場合は、ちょっとわからないですね……。

上記で直った場合は、後で解説しますね〜。


2倍のポイントを手に入れた! 1,032ポイント を手に入れた。

Name: box  ..ハッカー(147,863ポイント)   Date: 2009/12/22(火) 22:57   No:44689     
Title: Re:未解決の外部シンボルがあるというえらーがでます。    
> >未解決の外部シンボルがあるというエラーがでます
> という時点で、コンパイルエラーですよね?

コンパイルエラーではありません。
コンパイルは通ったが、リンク時にエラーが出ているのです。


なお、リンクに失敗すると実行ファイルを生成しません。
よって、リンクに失敗したが実行できている、という状況は
ありえません。>質問者さん


99ポイント を手に入れた。

Name: トントン  ..ぴよぴよ(780ポイント)   Date: 2009/12/22(火) 23:19   No:44691     
Title: Re:未解決の外部シンボルがあるというえらーがでます。    
>コンパイルエラーではありません。 
>コンパイルは通ったが、リンク時にエラーが出ているのです。

なるほど!
試してみたら未解決の外部シンボルの場合、オブジェクトファイルは生成されました。

勘違いしてました。自分も勉強になります。


2倍のポイントを手に入れた! 238ポイント を手に入れた。

Name: たいちう  ..熟練のプログラマー(41,541ポイント)   Date: 2009/12/24(木) 09:18   No:44805     
Title: Re:未解決の外部シンボルがあるというえらーがでます。    
>コンパイルは通ったが、リンク時にエラーが出ているのです。

以前のプログラムで正常にコンパイル・リンクされた実行ファイルを
実行しているのではないですか?
その後プログラムを変更したところ、リンクエラーが発生するようになったため、
古い実行ファイルが残っている、と。

自分が編集しているソースファイルが、ビルド(コンパイル + リンク)の対象とは限りませんし、
ビルドされて作成された実行ファイルが実行されているとは限りません。
たまにこのような勘違いが起こってしまいますので、次のように確認してみてください。
コンパイルエラーやリンクエラーが発生するならば、新しい文字列は表示されないはずです。

int main(void)
{
    printf("test\n");  // <-- 文字列を頻繁に変えてみよう
    ...


225ポイント を手に入れた。



Name: kerotan0820  ..上級者(19,126ポイント)   Date: 2009/12/23(水) 21:25   No:44774       
Title: 進路についてお聞きしたいことがあります    
こんにちは。いつもこのサイトを利用させていただいているkerotan0820と申します

今回はC言語の質問ではなく、今受験生でもあるため今後の進路について多少お聞きしたいことがあります

今現在C言語をやっているのは深い意味はないのですが、将来ソフトの開発をしたり、なれるのならばゲームプログラマー、そのような進路に進めたらなと思っております

高校は学力が多少低いのもあり、工業の電子科に入る予定です

堂々と言うのも抵抗がありますが、この際質問する側ですので志望校のURLも張っておきます
http://www.suginamikogyo-h.metro.tokyo.jp/ )

この学校です。

この学校で基礎的な専門知識を得、大学に進学できるよう一生懸命勉強しようかと思っています

ですがこの学校は就職率が高いらしく、大学に進学する人はあまりいないそうです

最終的な目的としてはプログラマーになれたら良いなと思っているのですが、大まかにどのような進路を選べばよいのでしょうか

自分の行きたいところにいける、そのような学力があれば話は早いのですが、今の時期ではこの学校に入る勉強をするのが精一杯です;

管理人様などが自作したゲーム(Aerobeat Plusなど...)の動画をうpされている動画共有サイト、ニコニコ動画にニコニコ技術部というものがありますが、彼等の中には専門的なことを本業としているプロがいたりするわけですが…

将来彼等のように、○○を作ってみたいな〜… よし 作ろう!

そんなことが出来たらよいなと思っています

今では専門的な知識がほとんどないため、時間をかけて何か物を作るとかそのようなことしか出来ないです

進路も勿論大切ですが、最終的にはしっかりした技術を身につけられたらなと思っています

大変まとまりのない質問で申し訳ないのですが、このサイトには専門的な技術が優れた先輩方が多数おられるのを日ごろから目にしています。
是非何か僕の参考になりそうなことがありましたら回答お願いします 編集済み


666ポイント を手に入れた。


Name: Dixq (管理人) [URL]  ..ウィザード(1,123,913ポイント)   Date: 2009/12/23(水) 23:51   No:44785     
Title: Re:進路についてお聞きしたいことがあります    
>> kerotanさん

こんばんは^^
高校受験ということは、現在けろたんさんは中学生なのですね。

質問としては、プログラマーになるにはどういう進路を進むのが理想か?ということで良いでしょうか?

皆さん同じ答えでしょうけど、プログラマーになるのに学歴や現在の専門性は特に必要ではありませんよ。
まだ中学生ということで就職活動とかあまりピンと来ないと思いますが、
就職試験などで、その時点で専門性がすごく高い事は特に望まれていないのです。

企業は、大勢の人間で成り立っています。会社員がそれぞれ好き勝手なことをしていたら、会社は成り立たないでしょう。
ですから、人とかかわるのが苦手で、自分の意見も言えず家に引きこもっているような人を企業は必要としません。
コミュニケーションを取るのが好きで活発に活動出来、積極的で、意欲的な人間を必要とします。
その次に他の人とのアドバンテージとして、専門性があることが望まれるでしょう。

ただ、専門性が無い事は大丈夫ですが、学力が低い事はマイナスになる場合が多いです。
というのも、ほとんどの場合、書類審査→就職試験→面接という流れなので、
ある程度の学力が無く、就職試験で落とされてしまっては面接官と話すら出来ないのです。
それに、一流企業に入りたければ、その就職試験も結構難しくなってきますし、
企業によっては学歴だけで落とすところもあるでしょう。
(企業によって採用スタイルは様々なので一概には言えませんが)

しかし、プログラマーとして就職できる会社は数人でやっているような小規模な会社から、数十万人の規模を持っている会社まで幅広く、プログラマーの中でもどこに入るか、何をしたいかで大きく変わってきます。
的確な答えはどのような会社に入って何がしたいか具体的にしないと得られないと思います。
ただ、中学生だとそれもまだ難しいですよね。
私が中学生の時は今のような職業に就くなんて思ってもいませんでした。

・・で、ここまで話をしといてなんですが、中学高校、後大学では
「今やりたい事をやればいい」「今やるべき勉強をしっかりやる」これが一番ですよ。

私はテニスが大好きでした。高校は部活で毎日毎日テニスに明け暮れていました。
その日々はとても充実していて、その思い出は一生の宝物です。

受験時代は物理がとても好きになりました。
物理を好んでよく勉強しました。
そのお陰で、今物理的に計算したプログラムを書いたり、STGを作る時は弾の軌道計算を物理的に行ったり、
キャラの動きを物理的に計算したりと、そういう事に役立っています。

大学ではプログラムが好きになりました。プログラムやソフトウェア開発に興味を持って、研究したりするのが好きになり、
研究を続けたいと思って大学院に行きました。
そこで学んだことは今も役立っています。

最後に院時代、就職活動時には今までやってきたことをアピールしました。
一生懸命やってきたことが沢山あったので、面接時に沢山話すネタがありました。

そう、大事なことは今を一生懸命、意欲的積極的に勉強するなり、部活するなり、趣味をするなりすることです。
中学高校で習う事は全てにおいて基本になります。
特に数学はプログラムをかくなら必須です。
「こんな難しい数学解らなくても、俺の人生には関係ねぇ」
そんなことを思っていた頃もありました。
しかし、今になって、あのときしっかり勉強せずに悔んだことが何度もありました。

また、英語が私は苦手でした。いつも逃げてきたのですが、ここにきて逃げられなくなりました。
プログラムの仕様書は英語だし、書籍も英語、渡されるリファレンスも英語・・・。
上司からはTOEICを受けて、次に何点上げろとか言われています。

変に中学高校から専門性を高める必要はなく、今勉強すべき勉強をしっかりやることがなにより将来の為になります。
また、中学高校は、けろたんさん自身の心を作る時でもあります。
その時一生懸命何かに打ち込んだことは一生残ります。勉強だけではなく、部活や趣味も一生懸命頑張ってください。

プログラムがやってみたいなら、単に趣味でやってみたらいいですよ。
専門性を高めたいなら大学に進学するのが良いでしょうが、それにしても、そのためには今の勉強をしっかりする事が一番ということになりますよね。

悩むならまず進学してみるといいと思いますよ。
一度就職してから大学に進学しなおすのはちょっと難しいですが、
大学で学んでいるうちに就職先の事をあれこれ考える事は大いに可能です。

中学生からこれだけ考えていればきっとよい就職活動が出来るでしょうね。
良い道を進まれることをお祈りしています


1,004ポイント を手に入れた。

Name: sizuma [URL]  ..上級者(21,160ポイント)   Date: 2009/12/24(木) 00:33   No:44790     
Title: Re:進路についてお聞きしたいことがあります    
情報系の専門学校生です。
周りは工業高校出身の人が多いですが、特にすごい技術をもってる!って人はいませんね。
九州の下の方なんで、違うことはいろいろあると思いますが何処も似たり寄ったりだと思います。
だから、目指せるのであれば、普通科に通うほうがいいんじゃないかな?と僕は思いますね。

人にはそれぞれ適正というものがあり、趣味指向があります。
まだ中学生のうちから進路を狭める必要はないでしょう。
工業の生徒はセンター試験に必要な科目を十分勉強できない、なんてことも聞きます。
(センター試験というのは全国共通の大学入試の1次試験みたいなものです)

学力は勉強量です。やればほぼ100%伸びていきます。
今からでもちょっと上の普通科というのも視野に入れてみてはいかがですか?


275ポイント を手に入れた。

Name: ru-pu  ..ぴよぴよ(404ポイント)   Date: 2009/12/24(木) 02:33   No:44798     
Title: Re:進路についてお聞きしたいことがあります    
工業高校→ゲーム専門学校→ゲームプログラマになった身として言えることは・・・
進学校に通って大学行った方がいいです(^^;(大学は数学系の学科で)
大学数学に出るような難しい数式や英語の技術論文読むのにえらく苦労します
プログラムの技術は就職後でも大丈夫です、何せ社会人になってから
毎日毎年、業界にいる限りずーーっとプログラムと付き合うわけですから・・・
それより会社では教えられない英語力や数学力(その他学生の内にしか
学べないイロイロ)をしっかり学生の内に身に付けたり経験しておくのが大事です

後々の苦労を省みないのでしたら、今から勉強そっちのけでプログラムの技術を
身に付けるという私が通った道もあります(ただ学生の内に脱ライブラリして
DirectXを直接扱って3Dゲーム一本作れるくらいはできるようになる必要があります)、
ちゃんと家庭用ゲーム機のソフトを開発する会社にも入れます
が・・・その先を考えるととてもお勧めできません 編集済み


404ポイント を手に入れた。

Name: kerotan0820  ..上級者(20,255ポイント)   Date: 2009/12/24(木) 08:52   No:44804 解決!     
Title: Re:進路についてお聞きしたいことがあります    
■Dixq様
わざわざ回答ありがとうございます^^
私のような人の為に皆様ほどの方々がここまで丁寧に対応してくれることを非常にうれしく思っています

>>企業においての社交性に関して

個人的な話なのですが、小学生の頃から家庭的な事情で中学生の今になるまで不思議な人生を歩んできたものでありまして…、同年代の子たちと関わることが少なかった反面、目上の人である先輩、その他職員や大人の方々と関わる事が異常に多く、社会性・社交性を求められることが多かったのもあり、その点に関しては自分に自信があり誇りに思っています。

>>学力の件に関して
単純に今の学力は自分でもまずいと思うレベルです…
プログラミングを自己で勉強し始めてみたのが中1なのですが、学校では習っていなかった不等号がプログラミングで出てきたときに、なんだこれ…となりました。勿論挫折。
そのレベルに関してはまだ独学でも理解可能でしたが、プログラミングにおいて高度な技術になると数学は逃れられないものだというのは言うまでも無く理解しています
今、衰えた勉強量でありながらも勉強に取り組めるのは将来の目標があるためなので、少しずつでも勉強して、将来力となって望む就職活動が出来たらな〜と思っています。
上記の文、必要が無い気がしますがお許しください;

>>中高での生活について
管理人様はテニス部だったのですね!意外でした(笑)
というのも、部活などせずにPC関連の勉強をしていて今のみになったのかななどと勝手ながらに想像していたので(笑
僕は今中学校3年間を終えようとしているわけですが、部活動や諸活動に関しては大変充実した、満足できるものでした^^
部活に関しては中学校3年間サッカー部に所属し、自分の体格を武器に全力で試合に望んだりと楽しいものでした。そこでなしえたのは努力するという形は勿論ですが、人と協力して一つのことを成し遂げようとすることの難しさを知りました
ここにおいての人とのかかわりというものは将来武器になる?というよりは生活においてプラスになったのかなと思っています。
管理人様のように物理が好きだ、などの実質的に役に立ちそうなことといえば物を作るのが周りの子に比べ得意ということくらいでしょうかね。
こんなものを作りたいな〜と思ったら自分で設計して、無知な自分なりに考えて作ってみたり。
将来そんなのが出来る人になれたら良いな〜 と思ったりしていますからね

>>全体まとめて
長々とすみません;
この残りの中学校生活はとにかく高校に向けての勉強をし、プログラミングは多少触れるか触れないか、そのような位置に一度おいておくことにします
高校に入学後、生活が落ち着いたらまたC言語の習得に向けてプログラミングを再開し、このサイトも利用させていただこうと思います。
またいつか質問をした際はよろしくお願いします^^
高校に入ってからも技術的なことの習得にとらわれず、部活動や思い出作りに関しては取り組もうと思いました。貴重なご意見ありがとうございました。

■sizuma様
なるほど…
今趣味でやっていることが高校や大学で輝くというのはあまり無いのですね;
一般的な勉強に取り組み、将来専門的なことを勉強するというのが望ましいとも思うという事ですよね。
確かにそれは重々承知しています。
ですが、普通科での生活には自分が努力する先駆けとなるものがありません
将来力になる。という形でしかなく、何かが実質的に完成することが無いのです…
この生活、要するに中学校と同じ生活をするのか?となると何か違う気がしてなりません
専門学科においては、数学と英語などは欠かせません。
その知識はプログラミングやその他において必要なものであり、物理などの難しいものも物によっては必要です。
それは必要性が生じているために習得するわけであり、楽しみながら努力できます。
結果の見えない普通科においての努力はとても苦しく、入るだけの形で努力が出来ないのが自分には目に見えたためこの際は工業に入ろうという結論にしたんです。
普通科を悪く言うようで申し訳ないのですが、自分に普通科は向いてないのかな…と思いました;
一応参考として普通科も考えてみたりはしてみたいとおもいますね
普通科で何をするのかというのは想像しかしたことがありませんので。

■ru-pu
なるほど… 専門知識の習得に全力で取り組み確実な力を手に入れるという道もあるのですか
ここはとても悩むところなのですが、私の悪い点として何事も中途半端であるということが個人的にいえまして、自分の趣味などにおいても確実な力になる一歩手前で物事をあきらめてしまったりする悪い特徴があるんです。
ru-pu様のように専門学科を全力で取り組むという道は楽しそうで実際やってみたら相当苦労するのだと思います… 自分にそれを成し遂げる自信は無いため、僕の今後の進路に関しては専門学科に取り組みながらも普通学科の適度な習得に励み、大学に進学し、何らかの会社に就職というようにしたいと思います。


▲回答者様皆様へ
皆様の回答の御蔭で、この残りわずかな中学校生活も充実したものが送れそうです
高校においてもとても参考になりました
今後ともよろしくお願いいたします^^
 編集済み


1,129ポイント を手に入れた。



Name: 夜霧のミスト  ..ぴよぴよ(169ポイント)   Date: 2009/12/22(火) 17:23   No:44665       
Title: 龍神録プログラムをbccdeveloperを使って作りたい    
こんばんは。質問させて頂きました。
タイトルにもあるように、龍神録プログラムをborlandc++とbccdeveloperを使って作りたいのです。
Visual c++を使わない理由はPCのスペックの関係でコンパイルに時間がかかりすぎるからです。

ゲームプログラミングの館の方ではbccdeveloperでも上手くいったのですが、龍神録プログラミングの方は上手くできません。
projectフォルダのincludeファイルとsourceファイルの中にbcc用のDXライブラリを追加してコンパイルしても
4章以降では(3章まではきちんとコンパイルされて実行できました)lord関数に対してエラーを出します。
Visual c++のようにプロジェクトファイルから実行するような事をしないと駄目なのでしょうか?

説明が上手でなくて申し訳ないのですけれど、お答え頂ければ幸いです。よろしくお願いします


169ポイント を手に入れた。


Name: last snow  ..ぴよぴよ(30ポイント)   Date: 2009/12/22(火) 21:25   No:44682     
Title: Re:龍神録プログラムをbccdeveloperを使って作りたい    
結論からいえば、borlandc++とbccdeveloperでも出来ます。
私の方の環境では、エラーメッセージは表示されませんでした。

解決したいのであれば、エラーコードを貼って頂かない事にはなんとも言えませんね……。


30ポイント を手に入れた。

Name: 夜霧のミスト  ..ぴよぴよ(377ポイント)   Date: 2009/12/22(火) 21:52   No:44683     
Title: Re:龍神録プログラムをbccdeveloperを使って作りたい    
ご回答ありがとうございます。bccdeveloperとborlandc++でも出来るのですね。
エラーメッセージは以下のとおりです。

\project\4章\mydat\source>bcc32 -tW main.cpp
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
main.cpp:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: 外部シンボル 'load()' が未解決(C:\MYWORKS\SAND2\PROJECT\4章\MYDAT\SOURCE
\MAIN.OBJ が参照)
Error: 外部シンボル 'graph_main()' が未解決(C:\MYWORKS\SAND2\PROJECT\4章\MYDAT\
SOURCE\MAIN.OBJ が参照)
Error: 外部シンボル 'CheckStateKey(unsigned char)' が未解決(C:\MYWORKS\SAND2\PR
OJECT\4章\MYDAT\SOURCE\MAIN.OBJ が参照)
Error: 外部シンボル 'GetHitKeyStateAll_2()' が未解決(C:\MYWORKS\SAND2\PROJECT\4
章\MYDAT\SOURCE\MAIN.OBJ が参照)

よろしくお願いします。



208ポイント を手に入れた。

Name: last snow  ..かけだし(1,108ポイント)   Date: 2009/12/22(火) 23:15   No:44690     
Title: Re:龍神録プログラムをbccdeveloperを使って作りたい    
えぇとですね、プロジェクトの方にkey.cppやchar.cppなどを追加しました?

ビルドログを見る限り、追加されていないように見えるのですが……


46ポイント を手に入れた。

Name: 夜霧のミスト  ..かけだし(1,471ポイント)   Date: 2009/12/23(水) 09:01   No:44709     
Title: Re:龍神録プログラムをbccdeveloperを使って作りたい    
ご回答ありがとうございます。
key.cppやchar.cppは追加しました。
ですが、今度は以下のようなエラーが出てしまいました。

エラー E2141 main.cpp 31: 宣言の構文エラー(関数 __stdcall WinMain(HINSTANCE__ *,
HINSTANCE__ *,char *,int) )

#define GLOBAL_INSTANCE 
#include "../include/GV.h"

int Key[256];

int GetHitKeyStateAll_2(int GetHitKeyStateAll_InputKey[]){
    char GetHitKeyStateAll_Key[256];
    GetHitKeyStateAll( GetHitKeyStateAll_Key );
    for(int i=0;i<256;i++){
        if(GetHitKeyStateAll_Key[i]==1) GetHitKeyStateAll_InputKey[i]++;
        else                            GetHitKeyStateAll_InputKey[i]=0;
    }
    return 0;
}

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
    ChangeWindowMode(TRUE);//ウィンドウモード
    if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1;//初期化と裏画面化

    while(ProcessMessage()==0 && ClearDrawScreen()==0 && GetHitKeyStateAll_2(Key)==0 && Key[KEY_INPUT_ESCAPE]==0){
          //↑メッセージ処理          ↑画面をクリア        ↑入力状態を保存       ↑ESCが押されていない


        //ココ!!
        //現在のキー入力処理を行う
extern int GetHitKeyStateAll_2();
//受け取ったキー番号の現在の入力状態を返す
extern int CheckStateKey(unsigned char Handle);

//ループで必ず行う3大処理
int ProcessLoop(){
    if(ProcessMessage()!=0)return -1;//プロセス処理がエラーなら-1を返す
    if(ClearDrawScreen()!=0)return -1;//画面クリア処理がエラーなら-1を返す
    GetHitKeyStateAll_2();//現在のキー入力処理を行う
    return 0;
}

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){
    ChangeWindowMode(TRUE);//ウィンドウモード
    if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1;//初期化と裏画面化

    while(ProcessLoop()==0){//メインループ

        if(CheckStateKey(KEY_INPUT_ESCAPE)==1)break;//エスケープが入力されたらブレイク
        ScreenFlip();//裏画面反映
    }

    DxLib_End();//DXライブラリ終了処理
    return 0;
}

        


        ScreenFlip();
    }

    DxLib_End();
    return 0;
}


エラーが出た部分をコピーペーストを行ってコンパイルしたのですが駄目でした。

また、自分ではソースを触らず、収納されている4章をそのままコンパイルしようとしたところ、

Fatal: ファイル LIBTHEORA_STATIC.LIB が開けません

というエラーが出ました。これはディレクトリ名が半角でないと起こるみたいなのですが、
4章を4にしても同様のエラーが出ました。

解決できる方法やお気づきの点がありましたらご教授の程をよろしくお願いします。


1,094ポイント を手に入れた。

Name: last snow  ..かけだし(1,276ポイント)   Date: 2009/12/23(水) 23:35   No:44782     
Title: Re:龍神録プログラムをbccdeveloperを使って作りたい    
えぇとですね、どうやら四章の

>Fatal: ファイル LIBTHEORA_STATIC.LIB が開けません 

このエラーは、libファイルへのスコープが合っていないために起こるエラーです。
スコープ内に対象のlibファイルがないとそのエラーが出るようです。

includeファイル内ではなく、そのプロジェクトのdbpファイルと同じ個所に全てのlibファイルを置くと解決します。
または、bccのlibファイル内に置くという方法が考えられます。


また、上記main.cpp内のエラーですが、winmain関数内でextern宣言や関数を宣言している為に起きている
エラーです。
 編集済み


168ポイント を手に入れた。

Name: wing  ..入門者(2,732ポイント)   Date: 2009/12/24(木) 00:42   No:44792     
Title: Re:龍神録プログラムをbccdeveloperを使って作りたい    
4章のmain.cppファイルは、main.cpp変更のところに
書かれているコードがすべてです。
3章のmain.cppに4章の変更を足してはいけません。
3章のmoin.cppの
#define GLOBAL_INSTANCE 
#include "../include/GV.h"
以外は消して、4章のmain.cpp変更をコピペすればいいです。 



86ポイント を手に入れた。

Name: 夜霧のミスト  ..かけだし(1,541ポイント)   Date: 2009/12/24(木) 00:44   No:44793     
Title: Re:龍神録プログラムをbccdeveloperを使って作りたい    
ご回答ありがとうございます。
仰ったとおりdbpファイルと同じ場所にlibファイルを置く事によって、コンパイルすることが出来ました!
本当にありがとうございました!!



70ポイント を手に入れた。

Name: 夜霧のミスト  ..かけだし(1,610ポイント)   Date: 2009/12/24(木) 00:48   No:44795 解決!     
Title: Re:龍神録プログラムをbccdeveloperを使って作りたい    
last snowさん、wingさん、ありがとうございます!
おかげ様で無事先に進めそうです!
また、章が進むごとにフォルダも進めていくと勘違いしていましたが、1章の何も書いて無いフォルダを使い続ければいいのですね!


69ポイント を手に入れた。



Name: たつのしん  ..ぴよぴよ(116ポイント)   Date: 2009/12/23(水) 22:42   No:44778       
Title: ゲームプログラミング 入門編11 "全ての入力状態を取得する"    
でwhile文がでていますが、
継続条件式が(1)と書かれています。
なぜ(1)なのでしょうか。

なにぶん初心者なもので・・・。


36ポイント を手に入れた。


Name: last snow  ..かけだし(1,337ポイント)   Date: 2009/12/23(水) 23:49   No:44783     
Title: Re:ゲームプログラミング 入門編11     
判断部分では、1 = TRUE、0 = FALSEというのがC言語の形式になっています。
つまり、1というのは、必ず実行するという意味ですよ。

詳しくは、猫でもわかるプログラミングを参考にするとよいと思います。


61ポイント を手に入れた。

Name: たつのしん  ..ぴよぴよ(166ポイント)   Date: 2009/12/24(木) 00:01   No:44786 解決!     
Title: Re:ゲームプログラミング 入門編11     
ありがとうございます。
モヤモヤが解けました。

>>詳しくは、猫でもわかるプログラミングを参考にするとよいと思います。
このようなサイトがあったのですね。
ありがとうございます。


50ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,124,096ポイント)   Date: 2009/12/24(木) 00:03   No:44787     
Title: Re:ゲームプログラミング 入門編11     
if( a==0 ){
}

みたいな文ならしっくりくるのに

if( 1 ){
}

はなんか変だ・・という感じですかね?
条件式というものは値でもいいのですよ。
0だと条件にマッチしない、0以外なら条件にマッチするとみなされます。

ためしに

a==0

この結果をprintfで表示してみてください。
その意味がわかるでしょう。

while(1){

というのは「常に条件にマッチ」という意味です。
0以外なら条件にマッチということになっていますので、1でなくてもいいのですが、
0か1を使うのが一般的になっています。


183ポイント を手に入れた。



Name: yamataka  ..ぴよぴよ(26ポイント)   Date: 2009/12/23(水) 07:30   No:44707       
Title: 東方の背景    
東方の背景といえば3Dなんですが、それはメタセコイアなどのツールで作られているのでしょうか?

26ポイント を手に入れた。


Name: yu  ..熟練のプログラマー(41,480ポイント)   Date: 2009/12/23(水) 08:59   No:44708     
Title: Re:東方の背景    
あくまで推測ですが、
板ポリゴンを描画してるだけかと思います。


33ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,122,705ポイント)   Date: 2009/12/23(水) 12:58   No:44751     
Title: Re:東方の背景    
東方の背景はそんなに3Dじゃないので、プログラム側で十分書けるレベルだと思います。
式神の城レベルの背景になると、専用ソフトで作らないと無理そうですが。

yuさんも仰っていますが、平面の板にテクスチャをペタッと貼っているだけだと思います。


72ポイント を手に入れた。

Name: yamataka  ..ぴよぴよ(69ポイント)   Date: 2009/12/23(水) 22:15   No:44776 解決!     
Title: Re:東方の背景    
そうだったんですか!
専用ソフトを使わなくても作れるんですね!
回答ありがとうございます。これからそっちの勉強をしてみます!


43ポイント を手に入れた。



Name: ,プログラム初心者  ..ぴよぴよ(202ポイント)   Date: 2009/12/23(水) 20:06   No:44769       
Title: Cで数列を並び変えたいのですが    
タイトルの通りCで数列の並び替えをしたいのですが、プログラムを実行すると表示が

0000001100100001

と表示され、入れ替えの場所も1の数も合致しません。
修正する必要があると思うのですが、どうしても自分では間違いが見つかりません。助けてください!


#include <stdio.h>

int main(void)
{
    int a[16] = {0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0};
    int order[16] = {0,2,3,1,12,5,9,8,10,11,7,15,4,14,13,6};
    
    int i;
    
    for(i=0;i<16;i++)
    {
        int x = order[i];
        int y = a[x];
        a[i] = y;
        printf("%d",a[i]);
    }
    return 0;
}

よろしくお願いします。


202ポイント を手に入れた。


Name: box  ..ハッカー(147,946ポイント)   Date: 2009/12/23(水) 20:14   No:44770     
Title: Re:Cで数列を並び変えたいのですが    
入れ替え後の結果は、どうなるのが正しいのですか?
0と1だけからなる入力データだと、正しい結果を得ているかどうかが
わかりづらそうです。
入力データをすべて異なる数値にして、ロジックを考え直してみては
いかがでしょうか。


83ポイント を手に入れた。

Name: プログラム初心者  ..ぴよぴよ(17ポイント)   Date: 2009/12/23(水) 20:22   No:44771     
Title: Re:Cで数列を並び変えたいのですが    
お早い回答ありがとうございます。
わかりました。入力データを変更して考え直して見ます。


17ポイント を手に入れた。

Name: sizuma [URL]  ..上級者(20,885ポイント)   Date: 2009/12/23(水) 20:29   No:44772     
Title: Re:Cで数列を並び変えたいのですが    
あと、5つぐらいでまずは考えてみるのはどうでしょうか?

まずは規約をよんでください。
http://dixq.net/board/board.html

僕にはどういう順で並べ替えたいのか分からないです。
とりあえずorderの要素の数順に表示したいだけだったら

printf("%d",a[order[i]])

で十分なんじゃないかな?と思います。
何も書いてないけど、コードから察するに配列の中身も入れ替えたいんだろうけど。


173ポイント を手に入れた。

Name: プログラム初心者  ..ぴよぴよ(105ポイント)   Date: 2009/12/23(水) 20:59   No:44773 解決!     
Title: Re:Cで数列を並び変えたいのですが    
すいません。規約を読むのを怠っていました。
お二方の意見を参考に自分なりに考え直してみます。機会があればまた質問させていただきます。
ありがとうございます。


2倍のポイントを手に入れた! 88ポイント を手に入れた。



Name:  ..ぴよぴよ(339ポイント)   Date: 2009/12/23(水) 10:36   No:44711       
Title: C++で文字列のカウントを行いたいんですが    
はじめて投稿いたします

現在、C++にて
文字列(アルファベット大文字、小文字、数字の3種類のみ)を入力して
文字列の長さとそれぞれの文字列をカウントして出力したいと考えています。

たとえば、
>>ABcde1340
なら、
大文字:2個
小文字:3個
数字:4個
長さ:9個

AAAAbb23
なら、
大文字:4個
小文字:2個
数字:2個
長さ:8個
のように表示させたいです

isdigit関数など調べましたがあまり使い方がわからなくて困っています…
よろしくお願いします


204ポイント を手に入れた。


Name: たかぎ [URL]  ..ハッカー(144,057ポイント)   Date: 2009/12/23(水) 11:05   No:44714     
Title: Re:C++で文字列のカウントを行いたいんですが    
こんな感じでしょうか?
#include <iostream>
#include <string>
#include <algorithm>
#include <cctype>

class is
{
    int (*f_)(int);
public:
    is(int (*f)(int)) : f_(f) {}
    bool operator()(char c) const { return (*f_)(static_cast<unsigned char>(c)); }
};

int main()
{
    std::string str;
    std::getline(std::cin, str);

    std::cout << "大文字なら:"
        << std::count_if(str.begin(), str.end(), is(&std::isupper))
        << "個\n";
    std::cout << "小文字なら:"
        << std::count_if(str.begin(), str.end(), is(&std::islower))
        << "個\n";
    std::cout << "数字なら:"
        << std::count_if(str.begin(), str.end(), is(&std::isdigit))
        << "個\n";
    std::cout << "長さ:" << str.size() << "個" << std::endl;
}

is系関数は、char型の値を直接渡せないのが面倒ですね。
 編集済み


456ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(144,096ポイント)   Date: 2009/12/23(水) 11:09   No:44716     
Title: Re:C++で文字列のカウントを行いたいんですが    
最近、あとから(誤記等を)編集すると マークが出るんですね。


39ポイント を手に入れた。

Name: y  ..入門者(2,691ポイント)   Date: 2009/12/23(水) 11:54   No:44721     
Title: Re:C++で文字列のカウントを行いたいんですが    
動作しました
ありがとうございます

簡単に解説をお願いしてもいいですか?

#include <iostream>
#include <string>
#include <algorithm>
#include <cctype>       ←.hがなくても動作するのはなぜでしょうか?

class is
{
    int (*f_)(int);
public:
    is(int (*f)(int)) : f_(f) {}
    bool operator()(char c) const { return (*f_)(static_cast<unsigned char>(c)); }
};
           クラス使ったことなくて↑の意味が全く理解できません…一体何の
           処理を行っているのでしょうか?無知ですいません…
int main()
{
    std::string str;
    std::getline(std::cin, str);

    std::cout << "大文字なら:"
        << std::count_if(str.begin(), str.end(), is(&std::isupper))
        << "個\n";
    std::cout << "小文字なら:"
        << std::count_if(str.begin(), str.end(), is(&std::islower))
        << "個\n";
    std::cout << "数字なら:"
        << std::count_if(str.begin(), str.end(), is(&std::isdigit))
        << "個\n";
    std::cout << "長さ:" << str.size() << "個" << std::endl;

}  入力の結果がstd::cout << "数字なら:"
        << std::count_if(str.begin(), str.end(), is(&std::isdigit))
        << "個\n";の文で表示されるのはなぜでしょう?
.begin()と.end()は文字列の初めの文字から終わりの文字までを表しているのでしょうか?
一般に言われるswitch文なんでしょうか?


448ポイント を手に入れた。

Name: y  ..入門者(2,708ポイント)   Date: 2009/12/23(水) 11:56   No:44724     
Title: Re:C++で文字列のカウントを行いたいんですが    
追記

クラスを使わないでプログラムも作れるんでしょうか?


17ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(144,133ポイント)   Date: 2009/12/23(水) 11:59   No:44726     
Title: Re:C++で文字列のカウントを行いたいんですが    
> 簡単に解説をお願いしてもいいですか? 

自分で頑張って解析してみてください。

> クラスを使わないでプログラムも作れるんでしょうか?

作れます。
ただ、解説のお願いとあわせて考えると、C++ではなくCを使ったほうがよいのでは?


37ポイント を手に入れた。

Name: y  ..入門者(2,722ポイント)   Date: 2009/12/23(水) 12:01   No:44728 解決!     
Title: Re:C++で文字列のカウントを行いたいんですが    
わかりました
がんばってみます
ありがとうございます


14ポイント を手に入れた。

Name: y  ..入門者(3,077ポイント)   Date: 2009/12/23(水) 12:18   No:44733     
Title: Re:C++で文字列のカウントを行いたいんですが    
何度もすいません

先ほどの
#include <iostream>
#include <string>
#include <algorithm>
#include <cctype>

class is
{
    int (*f_)(int);
public:
    is(int (*f)(int)) : f_(f) {}
    bool operator()(char c) const { return (*f_)(static_cast<unsigned char>(c)); }
};

int main()
{
    
    std::string str;
    std::getline(std::cin, str);

    std::cout << "大文字なら:"
        << std::count_if(str.begin(), str.end(), is(&std::isupper))
        << "個\n";
    std::cout << "小文字なら:"
        << std::count_if(str.begin(), str.end(), is(&std::islower))
        << "個\n";
    std::cout << "数字なら:"
        << std::count_if(str.begin(), str.end(), is(&std::isdigit))
        << "個\n";
    std::cout << "長さ:" << str.size() << "個" << std::endl;
    
}   で大文字をaに代入、小文字をbに代入、数字をc、長さをdに代入したいんですが
a=std;ではできませんでした・・・


355ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(144,260ポイント)   Date: 2009/12/23(水) 12:30   No:44741     
Title: Re:C++で文字列のカウントを行いたいんですが    
> 大文字をaに代入、小文字をbに代入、数字をc、長さをdに代入したいんですが 
> a=std;ではできませんでした・・・ 

すみません。意味がわかりませんでした。

大文字をaに代入とはどういうことでしょうか?

aBc234De

を入力すれば、aには"BD"が代入されるのでしょうか?
そもそもaの型は?

a=std;も何がしたいのかわかりません。



Name: y  ..入門者(3,139ポイント)   Date: 2009/12/23(水) 12:33   No:44745     
Title: Re:C++で文字列のカウントを行いたいんですが    
説明不足ですいません・・・

AAAAbb23 
なら、 
大文字:4個 
小文字:2個 
数字:2個 
長さ:8個 ですよね

この大文字の4をaに代入
小文字の2をbに
数字と長さも同様に代入したいんです…


62ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(144,309ポイント)   Date: 2009/12/23(水) 12:41   No:44749     
Title: Re:C++で文字列のカウントを行いたいんですが    
それなら、count_ifの返却値を代入するだけです。
よくわからないなら、count_ifを中心に調べていけば、芋づる式にわかるはずです。


33ポイント を手に入れた。

Name: y  ..入門者(3,372ポイント)   Date: 2009/12/23(水) 13:08   No:44754     
Title: Re:C++で文字列のカウントを行いたいんですが    
いろいろ調べたんですが

 std::string str;
    std::getline(std::cin, str);

    std::cout << "大文字なら:"
        << std::count_if(str.begin(), str.end(), is(&std::isupper))
        << "個\n";
    std::cout << "小文字なら:"
        << std::count_if(str.begin(), str.end(), is(&std::islower))
        << "個\n";
    std::cout << "数字なら:"
        << std::count_if(str.begin(), str.end(), is(&std::isdigit))
        << "個\n";
    std::cout << "長さ:" << str.size() << "個" << std::endl;

a=count_if(str.begin(), str.end(), is(&std::isupper))
ではできませんでした
やり方が違うんですかね?
<<の意味も調べたんですがわかりません…


233ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(144,397ポイント)   Date: 2009/12/23(水) 13:33   No:44756     
Title: Re:C++で文字列のカウントを行いたいんですが    
> a=count_if(str.begin(), str.end(), is(&std::isupper))
> ではできませんでした 

aの宣言はどこにありますか?
また、std::を省略していますが、using宣言またはusing指令は適切に行なっていますか?

> <<の意味も調べたんですがわかりません…

C++の入門書であれば、(本にもよりますが)本文の1ページ目に出てくるような内容です。



88ポイント を手に入れた。

Name: y  ..入門者(3,620ポイント)   Date: 2009/12/23(水) 13:38   No:44758     
Title: Re:C++で文字列のカウントを行いたいんですが    
コピペしきれてなかったです。・・・


int a;
std::string str; 
std::getline(std::cin, str); 

std::cout << "大文字なら:" 
<< std::count_if(str.begin(), str.end(), is(&std::isupper)) 
<< "個\n"; 
std::cout << "小文字なら:" 
<< std::count_if(str.begin(), str.end(), is(&std::islower)) 
<< "個\n"; 
std::cout << "数字なら:" 
<< std::count_if(str.begin(), str.end(), is(&std::isdigit)) 
<< "個\n"; 
std::cout << "長さ:" << str.size() << "個" << std::endl; 

a=std::count_if(str.begin(), str.end(), is(&std::isupper)) でもできませんでした
using宣言またはusing指令はしてません

また、aはintでは型が違うのでできませんでした。。



248ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(144,476ポイント)   Date: 2009/12/23(水) 13:51   No:44759     
Title: Re:C++で文字列のカウントを行いたいんですが    
私の手元では問題なくコンパイル、実行できます。
何がどうできないのか補足してください。

> また、aはintでは型が違うのでできませんでした。。 

これも意味がわかりません。


39ポイント を手に入れた。

Name:  ..ぴよぴよ(977ポイント)   Date: 2009/12/23(水) 14:06   No:44760     
Title: Re:C++で文字列のカウントを行いたいんですが    
c:\users\yuuta\desktop\ex1\ex1\ex1.cpp(22) : error C2297: '<<' : 無効です。右オペランドには型 'const char [4]' が指定されています。
c:\users\yuuta\desktop\ex1\ex1\ex1.cpp(22) : error C2679: 二項演算子 '=' : 型 '__w64 int' の右オペランドを扱う演算子が見つかりません (または変換できません)。
c:\program files\microsoft visual studio 8\vc\include\ostream587): 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator =(const std::basic_ostream<_Elem,_Traits> &)' の可能性があります。
        with
        [
            _Elem=char,
            _Traits=std::char_traits<char>
        ]
        引数リスト '(std::basic_ostream<_Elem,_Traits>, __w64 int)' を一致させようとしているとき
        with
        [
            _Elem=char,
            _Traits=std::char_traits<char>
        ]

というエラーが出ます。

#include <iostream>
#include <string>
#include <algorithm>
#include <cctype>

class is
{
    int (*f_)(int);
public:
    is(int (*f)(int)) : f_(f) {}
    bool operator()(char c) const { return (*f_)(static_cast<unsigned char>(c)); }
};

int main()
{
    int a;
    std::string str;
    std::getline(std::cin, str);

    std::cout << "大文字なら:"
        << a=std::count_if(str.begin(), str.end(), is(&std::isupper))
        << "個\n";
    std::cout << "小文字なら:"
        << b=std::count_if(str.begin(), str.end(), is(&std::islower))
        << "個\n";
    std::cout << "数字なら:"
        << c=std::count_if(str.begin(), str.end(), is(&std::isdigit))
        << "個\n";
    std::cout << "長さ:" << d=str.size() << "個" << std::endl;
    
    
}


638ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(144,456ポイント)   Date: 2009/12/23(水) 14:10   No:44761     
Title: Re:C++で文字列のカウントを行いたいんですが    
演算子の優先順位について調べてみてください。


20ポイント を落としてしまった。

Name: y  ..入門者(4,041ポイント)   Date: 2009/12/23(水) 14:20   No:44762     
Title: Re:C++で文字列のカウントを行いたいんですが    
調べて編集しました
#include <iostream>
#include <string>
#include <algorithm>
#include <cctype>

class is
{
    int (*f_)(int);
public:
    is(int (*f)(int)) : f_(f) {}
    bool operator()(char c) const { return (*f_)(static_cast<unsigned char>(c)); }
};

int main()
{
    int a,b,c,d;
    std::string str;
    std::getline(std::cin, str);

    std::cout << "大文字なら:";
         a=std::count_if(str.begin(), str.end(), is(&std::isupper));
        printf("%d個\n",a);
    std::cout << "小文字なら:";
         b=std::count_if(str.begin(), str.end(), is(&std::islower));
        printf("%d個\n",b);
    std::cout << "数字なら:";
         c=std::count_if(str.begin(), str.end(), is(&std::isdigit));
        printf("%d個\n",c);
    std::cout << "長さ:";
         d=str.size();
         printf("%d個\n",d); 
}

これで誤作動なく動きました
あってますか?


421ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(144,599ポイント)   Date: 2009/12/23(水) 14:25   No:44763     
Title: Re:C++で文字列のカウントを行いたいんですが    
> あってますか? 

(エラーメッセージから想像はつきますが)処理系不明の状況では、「いいえ」としかいえません。
今さらですが...



143ポイント を手に入れた。



Name: 菊麻呂  ..ぴよぴよ(105ポイント)   Date: 2009/12/23(水) 12:13   No:44731       
Title: 読み込みで困ってます    
GrHandle[0] = LoadGraph( "test0.bmp" ) ;
GrHandle[1] = LoadGraph( "test1.bmp" ) ;
GrHandle[2] = LoadGraph( "test2.bmp" ) ;
GrHandle[3] = LoadGraph( "test3.bmp" ) ;

のように三つか四つくらいなら配列ハンドルに簡単にロードできるんですが
たとえばtest0.bmpからtest100.bmpまでファイルがあったとします
この場合、簡単に読み込める方法ってありますか?
DXライブラリについてです。
よろしくお願いします。


105ポイント を手に入れた。


Name: たかぎ [URL]  ..ハッカー(144,201ポイント)   Date: 2009/12/23(水) 12:20   No:44734     
Title: Re:読み込みで困ってます    
for (int i = 0; i <= 100; i++)
{
  std::ostrstream oss;
  oss << "test" << i << ".bmp";
  GrHandle[i] = LoadGraph(oss.str().c_str());
}

でどうでしょう?


89ポイント を手に入れた。

Name: 菊麻呂  ..ぴよぴよ(139ポイント)   Date: 2009/12/23(水) 12:21   No:44735     
Title: Re:読み込みで困ってます    
ありがとうございます。
でもできればCにしてくれませんか?
C++はあまり詳しくないんで・・・


34ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(144,201ポイント)   Date: 2009/12/23(水) 12:22   No:44737     
Title: Re:読み込みで困ってます    
> でもできればCにしてくれませんか? 
> C++はあまり詳しくないんで・・・

DXライブラリはC++でなければコンパイルできませんよ。


Name: たかぎ [URL]  ..ハッカー(144,260ポイント)   Date: 2009/12/23(水) 12:28   No:44738     
Title: Re:読み込みで困ってます    
Cの流儀でいくなら...
for (i = 0; i <= 100; i++)
{
  char s[sizeof("test100.bmp")];
  sprintf(s, "test%d.bmp", i);
  GrHandle[i] = LoadGraph(s) ; 
}

になります。
このまま使うなら問題ありませんが、加工するならsprintfの問題等には十分配慮してください。


59ポイント を手に入れた。

Name: softya  ..比類無きプログラマー(73,152ポイント)   Date: 2009/12/23(水) 12:29   No:44739     
Title: Re:読み込みで困ってます    
ファイル名がシーケンシャルなら、forループで回しながらsprintfで名前を合成して読み込めますね。

char fname[100];
for( int i=0 ; i<=100 ; i++ ) {
sprintf( fname, "test%d.bmp", i );
GrHandle[i] = LoadGraph( fname ) ; 
}


117ポイント を手に入れた。

Name: 菊麻呂  ..ぴよぴよ(196ポイント)   Date: 2009/12/23(水) 12:29   No:44740     
Title: Re:読み込みで困ってます    
え、でも明らかに私はCで書いてますけど・・・
詳しくなくてすいません。
上の記述をそのまま貼り付ければ動くのかな?


57ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(144,276ポイント)   Date: 2009/12/23(水) 12:31   No:44743     
Title: Re:読み込みで困ってます    
> え、でも明らかに私はCで書いてますけど・・・ 

もしかして、C#用のDLLを使っているとか?


16ポイント を手に入れた。

Name: 菊麻呂  ..ぴよぴよ(228ポイント)   Date: 2009/12/23(水) 12:32   No:44744 解決!     
Title: Re:読み込みで困ってます    
答えてくれた方々ありがとうございます。
一応これでやってみます。


32ポイント を手に入れた。

Name: softya  ..比類無きプログラマー(73,259ポイント)   Date: 2009/12/23(水) 12:33   No:44747     
Title: Re:読み込みで困ってます    
>>菊麻呂さんへ

たかぎさんは、いじわるで書いている訳ではないですよ。 
今度からC言語でお願いしますと書いて下さいね。


61ポイント を手に入れた。

Name: 菊麻呂  ..ぴよぴよ(287ポイント)   Date: 2009/12/23(水) 12:34   No:44748     
Title: Re:読み込みで困ってます    
>もしかして、C#用のDLLを使っているとか? 
正直詳しいことはよくわかりませんが、
このサイトのようにC言語で打ち込んでいます。


59ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,122,633ポイント)   Date: 2009/12/23(水) 12:54   No:44750     
Title: Re:読み込みで困ってます    
>> 菊麻呂さん

こんにちは。
C++っていうのはCのバージョンアップ版とでもいう感じのものなんですね。
C++のコンパイラでは(基本的に)C言語で書いたものも同じようにコンパイル出来ます。

ですから、同じプロジェクト内で
C++を使ったりCを使ったりすることが出来るわけです。
DXライブラリ自体はC++で出来ているのですが
「Cライクに使えるC++ライブラリ」という位置づけなので、
Cで書けるのです。

ですから、「C++を勉強したいけどすぐには・・」という場合は
C++のおいしい機能だけ勉強しながら徐々に自分のプログラムに混ぜて変えていくなんてこともできます^^


134ポイント を手に入れた。

Name: 菊麻呂  ..ぴよぴよ(408ポイント)   Date: 2009/12/23(水) 13:04   No:44753     
Title: Re:読み込みで困ってます    
DXライブラリ自体はC++でできていて
私の使ってるVC++2008EEのコンパイラもC++までコンパイルできる。
よってDXライブラリを使ってC++でもCでもソースは同様にかける。
こんな様に理解しました。
これでいいんですかね?
ありがとうございました。


121ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,122,909ポイント)   Date: 2009/12/23(水) 13:10   No:44755     
Title: Re:読み込みで困ってます    
そう言うことですね。

ただ100枚もロードすると使用メモリ量がすごいことにならないでしょうか・・。
まぁ読み込む画像にもよりますが、マップチップ的な物なら
画像を一枚にして

http://homepage2.nifty.com/natupaji/DxLib/function/dxfunc_graph.html#R3N3

こういう関数を使った方がシンプルになりそうです。



118ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(144,437ポイント)   Date: 2009/12/23(水) 13:35   No:44757     
Title: Re:読み込みで困ってます    
CとC++は完全な互換性があるわけではありません。
自分が何というプログラミング言語を使っているかぐらいは正確に把握してください。


40ポイント を手に入れた。



Name: kms  ..入門者(2,897ポイント)   Date: 2009/12/23(水) 10:11   No:44710       
Title: アプリケーションについて    
すみません。ご教授願います。VC++ 2008 EE で作成したゲーム(簡単なソースで作成したもの)を、アプリケーション(実行フォルダ)へと作成するには、どうしたらいいでしょうか?

60ポイント を手に入れた。


Name: たかぎ [URL]  ..ハッカー(143,601ポイント)   Date: 2009/12/23(水) 10:38   No:44712     
Title: Re:アプリケーションについて    
インストールすればよいのでは?


11ポイント を手に入れた。

Name: kms  ..入門者(3,006ポイント)   Date: 2009/12/23(水) 10:47   No:44713     
Title: Re:アプリケーションについて    
お返事ありがとうございます。

いえ、自分でソースコードを打ち込んだもの(ゲーム)を、
最後に誰かに遊んでもらいたいなと思い、
VC++2008EEの編集やら、ツールなどを虱潰しに探り、
アプリケーション(すみません。初心者なもので、exeファイルといったほうが適切でしょうか)に変えるには、どうしたら良いのか悩んでいまして。
何か特別なソフトをインストールする必要があるのでしょうか?
すみません。


109ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,121,689ポイント)   Date: 2009/12/23(水) 11:08   No:44715     
Title: Re:アプリケーションについて    
> アプリケーション(実行フォルダ)へと作成する

単に実行ファイルの事ですかね?
VC++は実行ファイルを作る為のものなので、毎回作っていますよ。
ご自分が「Debug」設定にしているなら、プロジェクトのあるフォルダの「Debugフォルダ」に、
「Release」設定にしているなら、「Releaseフォルダ」にexeが生成されています。

このexeファイルを一つ上のプロジェクトがある階層にコピーしてダブルクリックしてみてください。
普段と同じように動くはずです。


128ポイント を手に入れた。

Name: kms  ..入門者(3,151ポイント)   Date: 2009/12/23(水) 11:21   No:44717     
Title: Re:アプリケーションについて    
管理人様、お返事ありがとうございます。
今、Debugフォルダにて発見しました。

すみません。最後に二つ質問させてください。

1「一つ上のプロジェクトがある階層」とは、どこでしょうか? ちょっと始めたばかりなので、コピー先がわかりません。僕の理解力がないだけですが。。

2 DXライブラリを用いず、VC++2008EE単体で作った簡易ゲームは、人に遊んで貰う為に配布することはできるのでしょうか? またその方法がありましたら、ご教授願いたいです。
(ツールやら編集やらをいじくっても、どうやったら友人に遊んでもらえるように実行ファイルを作るのかがわかりません)。

ごめんなさい。質問ばかりしてしまい。。 編集済み


145ポイント を手に入れた。

Name: softya  ..比類無きプログラマー(72,832ポイント)   Date: 2009/12/23(水) 11:34   No:44718     
Title: Re:アプリケーションについて    
配布する場合は、リリースビルドを使って下さい。
デバッグビルドを配布しても開発環境(VC++2008EE)の入って無いPCでは動きません。

1.の件は、実際どこでも構いません。
ドキュメント等の別のフォルダにコピーして動かしてみて下さい。

>DXライブラリを用いず、VC++2008EE単体で作った簡易ゲームは、人に遊んで貰う為に配布することはできるのでしょうか?
何も使っていないならかえって配布しやすいです。インターネットで公開する場合はlzhやzipなどで圧縮するのとドキュメントを付けるのが礼儀と言うか慣習となっています。


195ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,122,183ポイント)   Date: 2009/12/23(水) 11:47   No:44719     
Title: Re:アプリケーションについて    
> 「一つ上のプロジェクトがある階層」とは、どこでしょうか?

一つ上の階層です。
フォルダの階層を一つ上がれば大丈夫です。
設定によっては構造が少し変わっている可能性がありますが・・。

しかし画像などを使っていないのなら、どこで実行しても変わりません。
私がわざわざ階層を一つ上げてほしいと言ったのは、
相対パスで画像ファイルなどを読み込んでいる場合、Debugフォルダの中では相対パスが合わないからです。
プロジェクトがある階層から見たパスなので。

ということで、階層の件は気にしなくて大丈夫です。

> ツールやら編集やらをいじくっても、どうやったら友人に遊んでもらえるように実行ファイルを作るのかがわかりません

ん・・実行ファイルはもう既に見つけたんじゃなかったですか?
見つけた.exeファイルを渡したらいいだけじゃないでしょうか?
softyaさんが仰っている通り、zipファイルか何かにして渡した方がいいと思います。

また、exeファイルだとウィルスソフトが反応して受信出来ない場合もよくあるので気を付けてください。
(メッセンジャーとかだとよくある)
荒業としては、.exeの拡張子の名前を変えてやれば送れるなんてこともあります。
(その場合受け取り側で.exeに戻す必要あり)


2倍のポイントを手に入れた! 494ポイント を手に入れた。

Name: kms  ..入門者(3,229ポイント)   Date: 2009/12/23(水) 11:49   No:44720     
Title: Re:アプリケーションについて    
softya様、管理人様、お返事ありがとうございます。

1の件、解決致しました。本当にありがとうございます。

2の件なのですが、リリースビルドという機能は、VC++2008EEの何処にありますでしょうか?
DXライブラリを用いない場合です。

何度も質問が重なってしまい、申し訳ありません。。 編集済み


78ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,122,499ポイント)   Date: 2009/12/23(水) 11:57   No:44725     
Title: Re:アプリケーションについて    
この辺に無いですか?



これを「Release」にしてリビルドして下さい。
(軽くなって余計なものが排除されます)
しかしデバッグ機能が使えなくなるので、普段の制作時はDebugが良いと思います。


38ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(144,112ポイント)   Date: 2009/12/23(水) 12:00   No:44727     
Title: Re:アプリケーションについて    
> しかしデバッグ機能が使えなくなるので、

やや非力にはなりますが、デバッグ機能はReleaseビルドでも使えます。


21ポイント を落としてしまった。

Name: kms  ..入門者(3,333ポイント)   Date: 2009/12/23(水) 12:06   No:44729     
Title: Re:アプリケーションについて    
管理人様、本当にありがとうございます。

「Release」にしてリビルドしました。
その後、これをどう実行ファイルの形にし、圧縮すれば良いのでしょうか?

DXライブラリの実行ファイルの方は解決したのですが、DXライブラリを用いない、VC++2008EE単体のほうの実行ファイルの作り方がわからないのです。


104ポイント を手に入れた。

Name: softya  ..比類無きプログラマー(73,035ポイント)   Date: 2009/12/23(水) 12:17   No:44732     
Title: Re:アプリケーションについて    
>DXライブラリの実行ファイルの方は解決したのですが、
意味がわかりません。
DXライブラリを使ったプログラムなら分かりますが、DXライブラリ自身の実行ファイルといったい?

>DXライブラリを用いない、VC++2008EE単体のほうの実行ファイルの作り方がわからないのです。
Releaseビルドすれば実行ファイル(exe)が出来るはずですが?

結局のところ、DXライブラリは関係あるんでしょうか?
それともDXライブラリを使ったプログラムと使っていないプログラムの2つがあると言う意味でしょうか?


170ポイント を手に入れた。

Name: kms  ..入門者(3,370ポイント)   Date: 2009/12/23(水) 12:22   No:44736     
Title: Re:アプリケーションについて    
お返事ありがとうございます。

>それともDXライブラリを使ったプログラムと使っていないプログラムの2つがあると言う意味でしょうか?

ごめんなさい。そういう意味です。


37ポイント を手に入れた。

Name: softya  ..比類無きプログラマー(73,198ポイント)   Date: 2009/12/23(水) 12:30   No:44742     
Title: Re:アプリケーションについて    
>ごめんなさい。そういう意味です。

そういう意味ならどちらも同じですよ。
Releaseビルドしてもらえば良いです。


46ポイント を手に入れた。

Name: kms  ..入門者(3,412ポイント)   Date: 2009/12/23(水) 12:33   No:44746 解決!     
Title: Re:アプリケーションについて    
わかりました。ありがとうございました。
お手数、ご迷惑おかけして申し訳ありませんでした。


42ポイント を手に入れた。



Name: Ma  ..上級者(24,954ポイント)   Date: 2009/12/21(月) 06:27   No:44557       
Title: 気になること:四角形のポリゴン?    
メタセコイアで遊んでて気づいたのですが、三次元のデータはすべて三角形の集合でつくられると
様々なサイトから教わりましたが、メタセコの基本図形の平面作成時に四角形のポリゴンが現れます。
これはどうしてなのでしょうか?

三角形ふたつで四角形ならわかるんですが、辺を表示していても対角線の姿がありません。
三角形は原則であって四角形もありえるということでしょうか?それともメタセコの機能で表示していないだけなのでしょうか?


70ポイント を手に入れた。


Name: たかぎ [URL]  ..ハッカー(142,794ポイント)   Date: 2009/12/21(月) 17:39   No:44578     
Title: Re:気になること:四角形のポリゴン?    
メタセコイアのことは詳しく知りませんが、ポリゴンというのは多角形の意味ですので、三角形も四角形も含みます。

51ポイント を手に入れた。

Name: 御津凪 [URL]  ..ハッカー(134,617ポイント)   Date: 2009/12/21(月) 18:00   No:44579     
Title: Re:気になること:四角形のポリゴン?    
グラフィックスエンジンの多くは1ポリゴン単位が三角形のみで、四角形以上のポリゴンは対応していない場合が多いです。
中には四角形を扱えるものもいくつかありますが、 DirectX では三角形のみです。
そのために三角形の集合であると説明付けられてしまっているのでしょう。

なお、四角形以上のポリゴンは、変形が大きい場合にレンダリング時に表示が思った形にならず、汚くなる場合があります。
逆に、先に三角形に分割されていると編集しづらい場合もあります。
なので、編集時に必要な部分だけ三角形化し、完成間近の時に全てのポリゴンを三角形化する方法が良いですよ。


247ポイント を手に入れた。

Name: Ma  ..プログラマー(25,096ポイント)   Date: 2009/12/22(火) 03:21   No:44625 解決!     
Title: Re:気になること:四角形のポリゴン?    
なるほど、三角形と多角形ポリゴンを使い分ける方もいらっしゃるんですね。
DirectXはやっぱり三角形のみでしたか。
DXライブラリの関数や構造体なども頂点三つしか指定できないものばかりでしたからね。

グラフィックスエンジンといえば、OpenGLとDirectXぐらいしか知りませんが、
OpenGLとかは四角形以上とかいけそうですね。(ただの想像ですが、)


142ポイント を手に入れた。

Name: Kou  ..中級者(9,079ポイント)   Date: 2009/12/22(火) 05:41   No:44627     
Title: Re:気になること:四角形のポリゴン?    
基本的にゲーム等で使用するモデルは、三角形ポリゴンで作成した、いわゆるローポリのモデルを使用すると思いますが、四角形のポリゴンは、どちらかと言うと、CG用のハイポリモデルに使用する事が多いと思いますよ。
三角形ポリゴンはサブディビジョンでスムージングした時に、四角形よりも仕上がりが悪くなる事がありますから…
MAXやMAYA等高額なソフトは、五角形以上のポリゴンも扱えますが、基本的には、ローポリなら三角形ポリゴン、ハイポリでも四角形までで作成するのが一般的です。


199ポイント を落としてしまった。

Name: Ma  ..プログラマー(25,165ポイント)   Date: 2009/12/23(水) 06:29   No:44705     
Title: Re:気になること:四角形のポリゴン?    
>MAXやMAYA
高くてなかなか触れる機会はなさそうですねーw

皆さんの解答のおかげで、気持ちよく納得できました。
ありがとうございました。


69ポイント を手に入れた。



Name: kazuoni [URL]  ..ハッカー(119,869ポイント)   Date: 2009/12/22(火) 04:15   No:44626       
Title: 規模の膨れ上がるクラスについて    
お邪魔します。

現在、DXライブラリで、ウィンドウ内に子ウィンドウもどきを生成することができるような
プログラムを考えています。WINAPIを駆使しなくても、
Window.Draw(x,y);
的な感じで、楽にちょっとしたウィンドウを生成できるようにしたいという目的です。
(もちろん、Windowsのウィンドウそのものが出るわけではない)

ぱっと思いついたのが、管理を一つのオブジェクトですると考えました。(JAVAの様に)
しかし、簡単なものと言えど、ウィンドウは管理する事が多く、メンバ、メソッドともに
どんどん膨れ上がっていきます。
最小限に抑える事が重要ですが、やはり設定面では、ユーザーが細かく設定できるようにしたいです。

となると、最小限のクラスと関数群のほうのがいいのかな?
とも思ってしまいます。(DXライブラリの様に)

クラスにすれば、

・VC++で管理が楽(もともとDXライブラリはWindows環境開発で特化している為)
・コードの可読性が上がる(ここは疑問点。生成・破棄などを考慮して)

など、そこそこ便利にユーザーが使えるのが魅力だと思っていましたが、
一つのオブジェクトに対し非公開関数も含めて、数十種類っというようなクラス設計は
やはり好ましくないのでしょうか?

皆さんだったらどの様に管理していくかお聞きしたいです。

よろしくお願いします。


370ポイント を手に入れた。


Name: バグ  ..ハッカー(180,683ポイント)   Date: 2009/12/22(火) 08:14   No:44628     
Title: Re:規模の膨れ上がるクラスについて    
MFCみたいにWINAPIのラッパークラスにしてしまうのが楽だしスッキリしそうな気がします。
必要な機能だけ簡単に使えるように実装しておいて、細かい設定はWINAPI群からアクセスできるようにしておけばよいかと。


93ポイント を手に入れた。

Name: kazuoni [URL]  ..ハッカー(119,932ポイント)   Date: 2009/12/22(火) 11:22   No:44633     
Title: Re:規模の膨れ上がるクラスについて    
バグさんご回答ありがとうございます。

> WINAPIのラッパークラス

DXライブラリでもダイアログボックスが使えるのですが、
一度に登録できるのは単一だけであるっことや、
DxLib::DrawGraphなどが子ウィンドウ(ダイアログボックス)に使えない
などが理由で、現在自分が作ろうとしているものはWINAPIを一切使わない
っという前提となってます。。

もちろん、この子ウィンドウはメインウィンドウの描画領域内
しか移動できませんし、タスクバーも登場しません。
(メインウィンドウにタスクバーをつけるかもしれない)

言葉足らずで申し訳ありませんでした。


63ポイント を手に入れた。

Name: softya  ..比類無きプログラマー(71,959ポイント)   Date: 2009/12/22(火) 12:11   No:44638     
Title: Re:規模の膨れ上がるクラスについて    
>など、そこそこ便利にユーザーが使えるのが魅力だと思っていましたが、
>一つのオブジェクトに対し非公開関数も含めて、数十種類っというようなクラス設計は
>やはり好ましくないのでしょうか? 

MFCだと平気でありますけどね。
今のメソッド・インターフェイスを見せてもらえるとコメント出来るかもしれません。


138ポイント を手に入れた。

Name: たいちう  ..熟練のプログラマー(41,316ポイント)   Date: 2009/12/22(火) 12:31   No:44641     
Title: Re:規模の膨れ上がるクラスについて    
kazuoniさんのレベルが分からないのですが、オブジェクト指向、
特に継承とポリモーフィズムを使いこなせているでしょうか?
トータルで関数が数十あっても、きちんと階層別に定義されていて、
インスタンスを適切なクラスで作成するならば、管理はそれほど煩雑ではありません。

もしも現在の子ウィンドウクラスが、単一のクラスであり、
そのインスタンスが使う可能性のある関数を全て持っているのならば、
構造を変えたほうが良いと思います。

# 人クラスが、食べる・寝る・プログラムを書く・運転する・ゲームをする
# の全ての関数を持つのではなく、プログラマ・ドライバ・ゲーマークラスを派生させることで、
# 関数と変数を管理しやすくなります。ということ。
# ものの本には必ずこのような例が書いてますが、自分の問題を解決しないと
# なかなか自分のものにはなりません。この機会に整理されてはいかがかと。


324ポイント を手に入れた。

Name: dic  ..熟練のプログラマー(43,278ポイント)   Date: 2009/12/22(火) 17:05   No:44663     
Title: Re:規模の膨れ上がるクラスについて    
デコレータパターンで追加していくようにしていく方法もあります

#include    <stdio.h>


//------------------------------------------
class    Interface
{
public:
    virtual    void    Draw() = 0;
};

//------------------------------------------
class    CLine    :    public    Interface
{
public:
    void    Draw();
};

//------------------------------------------
class    CDialog    :    public    Interface
{
public:
    void    Draw();
};

//------------------------------------------
class    CWindow
{
    Interface*    p_line;
    Interface*    p_dialog;
public:
    void    Init();
    void    Release();
    void    Draw();
};

//------------------------------------------
//    ウィンドウの処理
void    CWindow::Init()
{
    p_line = new CLine;
    p_dialog = new CDialog;
}
void    CWindow::Release()
{
    delete p_line;
    delete p_dialog;
}
void    CWindow::Draw()
{
    p_line->Draw();
    p_dialog->Draw();
}

//------------------------------------------
//        ラインの処理
void    CLine::Draw()
{
    printf( "線を引く\n" );
}

//------------------------------------------
//        ダイアログの処理
void    CDialog::Draw()
{
    printf( "ダイアログボックスを描く\n" );
}

int    main()
{
    CWindow    window;

    window.Init();
    window.Draw();
    window.Release();

    return 0;
}



376ポイント を手に入れた。

Name: kazuoni [URL]  ..ハッカー(120,492ポイント)   Date: 2009/12/23(水) 04:16   No:44704 解決!     
Title: Re:規模の膨れ上がるクラスについて    
ご回答ありがとうございます!

>softyaさん
> 今のメソッド・インターフェイスを見せてもらえるとコメント出来るかもしれません。

申し訳ありません。。さほど、時間もなく、まだ実装の段階には至ってません。。
完成しだい、また質問させていただきます。(添削も含めて)

> たいちうさん
> 特に継承とポリモーフィズム

一度自分で学習はしましたが、能力レベルとしてはかなり低いと思われます。

> 自分の問題を解決しないと 
> なかなか自分のものにはなりません。この機会に整理されてはいかがかと。

そうなんです。実際に実装しないとまったくもって身についていないんです。
見直そうとしても、(基本的にはデザインパターンになってしまうのですが)
最終的に「読むだけ」で終わってしまい、
さてやろうとすると「何からすれば・・・?」みたいな状態に戻ってしまんですね。。
プログラミングに割く時間が少ないとはいえ、基礎をすっ飛ばして高望みしている状態ので、
もう少し、努力してみます。
(こういう時に、ここで回答している皆様のソースコードを解析するのが一番良い気がします。)

> デコレータパターン

デコレータパターンを採用するかは分からないですけど、
参考にさせていただきます。
ソースまで書いていただき、真にありがとうございます。

単一クラスで管理する気はなかったですけど、うまく階層化は出来ていないと
明らかに分かるので、もう少し自分で考えてみます。
修正が必要な事が分かっただけでも大きな収穫となりました。

ご回答していただきありがとうございました。

実装できたら、再度相談させていただきます。
次回もよろしくお願いします。


2倍のポイントを手に入れた! 560ポイント を手に入れた。



Name: Dixq (管理人) [URL]  ..ウィザード(1,113,780ポイント)   Date: 2009/12/16(水) 22:47   No:44316       
Title: ■ 規約を守って投稿して下さい! のトピ【雑談】    
※質問者さんへ※
・異なる名前を一人が使って質問することは規約違反です。同じ名前を使用して下さい。
・質問が簡単すぎて何が聞きたいのかわからない場合が多いです。具体的にして下さい。
※※※※※※※※

----------------------

最近規約を守らない方、、いやそれ以前に質問文を見ても全く何を聞いているのか解らないような投稿をする方がいらっしゃいます・・。

トピと関係ない話が長くなるのもあまり良くないので、その方面の話はこちらのトピでしてはいかがでしょうか。
とりあえず、同じ人が違う名前で投稿することが最近あまりに多いです。数人はいるようです。
今まではこちらでしかわからない情報はなるべく言わないようにしてきましたが、
これからは○○さんと○○さん、同じ名前で投稿して下さいとはっきり言おうと思います。

リモートホストの一部を表示する機能はこの掲示板に備わっているのですが、
大学名や企業名が表示されてしまうので、それは避けようと思います。
ハッシュを使ったようなIDを表示する機能はありません。

また、規約を守らない人に「規約読め」だけじゃ去って終わり、または、
別の名前で更に投稿するだけだと思うんですよね。
何か回答用テンプレのようなものでも作りましょうか・・。


289ポイント を手に入れた。


Name: sizuma [URL]  ..上級者(20,245ポイント)   Date: 2009/12/16(水) 23:31   No:44325     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
確かに、明らかに規約を呼んでいないで投稿を続ける人が多いように思えます。
無題のトピックタイトルみたいに、タイトルから内容が分からないものが多いですよね・・・・
そういう人たちのせいで掲示板の
「アットホームを目指す」ってのが妨げられています。

>ハッシュを使ったようなIDを表示する機能
自分でcgi弄れれば簡単に実現できそうですけどねー。
もういっそのこと最初にOS、コンパイラ、経験とかを入力して投稿できるようにもできそうです。

僕にはどうすればちゃんと投稿してくれるのかはわからないのですが、どういう対応をするのか決まり次第対応します。
っていうかムリなんじゃないか・・・・
とは思いますが、今よりも状況を改善する策はあるはずでしょうからね。


326ポイント を手に入れた。

Name: softya  ..熟練のプログラマー(69,520ポイント)   Date: 2009/12/16(水) 23:44   No:44328     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
とりあえず最近は、初心者と名乗る方が多くて(^ ^:
とても混乱しております。
2つ以上名前を使っている人の全部の名前を上げて教えてもらえると助かります。前回の質問との関連性も調べられますので。

[情報不足時の回答テンプレ案]
お答えしたいのですが、質問内容では詳しいことが分からず回答が困難です。
「規約と注意事項」にある「よくわからない人はテンプレを」にあるテンプレートを使って詳細を教えてください。そうすればスムーズに回答を行えますので。
http://dixq.net/board/board.html



239ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(138,861ポイント)   Date: 2009/12/16(水) 23:54   No:44329     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
あれ? 低年齢がどうこうの内容が消えていますね。
別のところだったかもしれませんが。

宿題丸投げ用の回答テンプレがあっても、宿題かどうかすらわからない(多分そうだろうとは思っても断定できない)質問が多いですからね。
あまりにも悪質な人は"荒らし"と変わりませんので、IP制限をかけて出入り禁止にしてしまうのもしかたないかもしれません。


170ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(138,878ポイント)   Date: 2009/12/16(水) 23:57   No:44330     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
> あれ? 低年齢がどうこうの内容が消えていますね。 

すみません。勘違いでした。
別のトピですね。


17ポイント を手に入れた。

Name: 山崎  ..プログラマー(31,070ポイント)   Date: 2009/12/17(木) 00:06   No:44336     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
いつもお世話になっております。山崎です。
普段はいつも質問する側の私ですが、私も最近のこの事態が気になっていましたので、
僭越ながら雑談に参加させて頂こうかなと思います。

同じ人が違う名前で投稿する件ですが、掲示板の規約にあるならば
これはハッキリと注意してもいいのではと思います。
同じ人が違う名前で投稿すると、回答者の注意を聞かなかったり
回答をもらってもお礼を言わないなどという事態を招くのでは思います。
掲示板のスムーズな運営や秩序を守るためにも、
モラルに反する行いはハッキリ注意してもいいと私は考えます。

それから、「<pre>タグで囲む」についてなのですが、
やはりHTMLのタグを知らない人は意味がわからなくてなかなか手を出せないのでしょうね・・・。
ソースを新規投稿のコメント欄にコピーペーストしただけの段階では、
ちゃんとインデントがあるように見えますしね。
仮に規約に明記されていても、突然「<pre>タグで囲んでください」と言われ
しかもコメント欄のソースはインデントされているように見えるとなると、
初めて投稿する人にはやはり「囲まなくてもインデントされてるから大丈夫だ」という気になるのかもしれません。
<pre>タグを使わない人が全て、規約を全く読まないとか故意に無視している悪質な人だとは思えないのです。
まぁだからといって初めてならば囲まなくても許される、とは言いませんが・・・。
「タグの意味がわかろうがわかるまいが、規約にあるんだからとりあえず囲め」というとしたら
それはちょっと乱暴なのではないかな、と感じます・・・。

しかし、フラッシュがでかでかと設置され
「こんなに目立てば、規約を守ってくれる人も増えるだろうな〜っ!さすが管理人さん!」と
思っていたのですが、それでも規約を守ってくれない人は守ってくれないのですね・・・^^;

ちょっと思ったのですが、
質問用のテンプレートを新規投稿のコメント欄の中に最初から書き込んでおく、
ということは可能なのでしょうか?
そうすれば、開発環境を載せない、学習状況を載せないなどをある程度防げるのでは、とふと思いつきました。
まぁそうなりますと、ある程度プログラミングに手馴れた人が質問する際は
テンプレートの文章を消す作業が必要になってしまいますが・・・。


624ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(138,987ポイント)   Date: 2009/12/17(木) 00:18   No:44338     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
> それから、「<pre>タグで囲む」についてなのですが、 
> やはりHTMLのタグを知らない人は意味がわからなくてなかなか手を出せないのでしょうね・・・。 

わからなければ、「わからない」とか、「とりあえず囲んみたがこれでよいか」と質問してくれればよいのです。
規約を守ろうと努力して、結果的にうまくいかなかったことを責める人は誰もいません。

> 質問用のテンプレートを新規投稿のコメント欄の中に最初から書き込んでおく、 
> ということは可能なのでしょうか? 

このアイデアは以前も出ましたが、無理なようです。


112ポイント を手に入れた。

Name: ねこ  ..熟練のプログラマー(51,076ポイント)   Date: 2009/12/17(木) 00:39   No:44340     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
すいません、自分の発言が発端になってるような(汗

議論に関しては出尽くしてるのでなんとなく思ったこと等
携帯だと無理ですが、FLASH等を入力する箇所にJavaScriptでOnLoadを使ってデフォルトテキストを設定出来たりしないのでしょうか?
ボタンを置いてコメントのテキストエリアにテンプレートが入るような仕組みを以前思いついたのですが
ブラウザやセキュリティ上の問題もありますが。


133ポイント を手に入れた。

Name: array [URL]  ..熟練のプログラマー(61,696ポイント)   Date: 2009/12/17(木) 07:59   No:44360     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
確かに最近、規約を云々のレスが付くトピックが多くなってきたような気がしますね。

質問者さんあっての掲示板でもありますし、回答者さんが居ての掲示板でもありますので規約を
強化していくと、利用者離れが懸念されますね。

回答者は、特に答える意思がないわけではなく、(一部の)質問者さんの内容が不適切に見受けられる
事が多いように見えます。

特にタイトルが「無題」は問題外、回答者は数ある質問の中からタイトルで内容を想像するので
タイトルは一目見て、内容が想像できるタイトルをつけるべきだと思います。


個人的には、私に分かる質問であれば(規約が守られてなくても)可能な限り質問に答えたいと思っています。
しかし、その内容が質問から分からない事が多々あります。

例えば タイトル「課題」 内容「プログラムを実行するとエラーがでてコンパイルできません。以下(実際のプログラム)」

こんな質問をされても、回答者はプログラムから実際に良いとされる動作を読み取らないといけません。
こういったことは、質問者さんが一言付け加えてくれれば、省ける手間ですし・・・など回答者からの
立場でみたら、色々な愚痴がでてくるのですが・・・・

こういった内容は、実際に規約を守らない質問者さんの意見がとても貴重になりますよね。
実際、私にはどういった了見で規約を守らないのか分からないので^^;


445ポイント を手に入れた。

Name: やそ  ..比類無きプログラマー(99,143ポイント)   Date: 2009/12/17(木) 14:57   No:44370     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
ふ〜、昇進状態を全部見るの疲れた(笑)
いちおうおいらは大丈夫のようでした^^

justyさんは一部全角の別名があったような気がします。

途中で眠りそうになりました^^;

では次の方どうぞ(嘘)


100ポイント を手に入れた。

Name: kazuoni [URL]  ..ハッカー(119,062ポイント)   Date: 2009/12/17(木) 17:25   No:44395     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
kazaoni    32ポイント    ぴよぴよ

が存在してます^^;恐らく自分の打ち間違いですので、削除してもらって構いません。


30ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(140,042ポイント)   Date: 2009/12/17(木) 17:29   No:44396     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
Mistさんも、全角「Mist」がありますね。


12ポイント を手に入れた。

Name: バグ  ..ハッカー(180,385ポイント)   Date: 2009/12/17(木) 17:35   No:44398     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
私も『バグ@PC』、『バグ@携帯』、『bagu』がありますので削除してください(^_^;)

22ポイント を手に入れた。

Name: Mist  ..比類無きプログラマー(78,586ポイント)   Date: 2009/12/17(木) 17:41   No:44400     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
mistもあるよ。
打ち間違いな気もするけどよくわからんっす〜
過去ログ検索だと名前でヒットできないし(^^;


28ポイント を手に入れた。

Name: チルチル  ..比類無きプログラマー(86,637ポイント)   Date: 2009/12/17(木) 18:54   No:44408     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
横から失礼します
最近は質問も回答できるトビも無いので読んでいるだけなのですが
確かにマナーの悪い方が増えている気がしますね

おそらく管理人さんのAerobeatに感動した未経験者が
いきなり本格的なゲームを作ろうとして失敗しているのではないかと勝手に推測してたりします・・

先ほどarrayさんが
>>こういった内容は、実際に規約を守らない質問者さんの意見がとても貴重になりますよね。
と仰っていられました

恥ずかしながら私も規約を破ってしまう事が多いので
規約を守らない質問者側の心境の一例を挙げさせていただきます

規約を守らない方には

・最初から規約を守る気が無い人
・規約が良く理解できていない人

の2種類がいると思います

私は後者ですが
例えば「質問は具体的にする」と規約にありますが

質問者側からすると長々と状況を説明すると
読み終わった回答者から「で、結局なにが言いたいの?」と言われてしまう気がするんだと思います

自分に文章力が無いと思っているのか
学校で「短くまとめろ」と言われる事が多いのか

質問者側からすると興味の無い事を長々と書いて行くと
最終的に自分が伝えたい事が目立たなくなってしまう事を心配しているのかもしれません
(昔の私がそうです・・)

ソースコードを<pre></pre>で囲む事については

理由が「コードが見やすくなる」となっているので
質問者は自分のコードなので理解できているので
回答者側もこのぐらい理解できてるから大丈夫だろう
というような錯覚に陥ってる可能性があります

もっと悪いパターンになると
「タグを付けるのがめんどくさい」とか「上級者なんだからこのぐらい大丈夫でしょ?」
みたいな勘違いをしているかもしれません
(大昔の私がそうです・・)

それから回答者が「<pre></pre>で囲んでくださいと」言うと
質問者がそれをコピーして失敗する事があります(経験済み)

表示に出るように全角にしているので本番では半角にするんですが
そこが良くわかってない方もいる気がします

私も間違えないように規約に書いてある物をコピーして使っていますからね・・

「マルチポスト禁止」に関しては経験が無いので理由が良くわかりませんが
おそらく「使える奴なんかそうそういないから色んな所で呼びかけないと・・」と思ってるんだと予想します
回答者は重複する事が多いから効果は低いという事がわかっていないのではないでしょうか

「名前を複数利用して投稿する」に関しては他の掲示板で慣れていて意識が薄いようです

それから「XX」と「XX(携帯)」などは注意されないので
質問者側からすると「それならコレだって・・」みたいな流れに行く気がします

それから普段の名前では言えないような事を即席の名前で投稿する方が多い気がします
初投稿で文句を言って、それから1回も見かけない方がたまにいますが
そういうのも注意した方が良いかもしれません

規約を守るように誘導する方法としては
例えば新規投稿する時に「初投稿」と「経験者」の2つの入り口を作って

「初投稿」では昇進状態に無い名前でないと投稿できなくして
「経験者」では昇進状態にある名前でないと投稿できなくするとかはどうでしょうか?

まあ「初心者」とかは自分の名前だと言う事を主張しないと思うので名指しで除外が必要かと思いますが・・

「課題の丸投げ」は1番たちが悪い気がします(私が最後に守った規約だから・・)

質問者側から見て何がたちが悪いかと言うと
回答者に「丸投げは禁止です」と言われると表面上は頑張る素振りを見せますが
実際は何とかして回答者から完全な回答を引き出そうと間違った方向に努力を開始しますからね
(昔よくやりました・・)

どうも規約にある「どうしても提出期限の関係で答えが欲しい時はその事をしっかり明記の上、」
の部分を見落としている気がします

投稿する時に質問の重要度を明記するように呼びかけるのもアリかもしれません

つまり
「宿題でわからない所があるので理解するのを手伝って欲しいです、そんなに急いではいません」とか
「課題の期限が迫っているので説教はいいから答えを教えてくれ」とか
とりあえず何を回答者に期待するのかを言ってもらった方が対応がしやすくなるかもしれません

とりあえず私の経験はこんな感じです
何か的外れな事を言っていたら
それも含めて「規約を守らない人の一部はこんな感じなのか」と思って頂ければ幸いです

あと私も昔は上記のような感じで質問していましたが今は改心したつもりです
これも規約にある
>>内面から変わり、本心から「悪かったな・・今度からちゃんとしよう」と思ってくれたら
>>きっと継続してよくなっていってくれると思います。
が成功したパターンとして見て頂ければ幸いです


1,836ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(140,154ポイント)   Date: 2009/12/17(木) 19:38   No:44411     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
<pre>タグについては、ちゃんと囲もうと試みて、結果的にうまくいかなかったのであれば、誰もそれを非難することはありませんし、誰かが詳しく教えてくれるはずですね。

> 回答者に「丸投げは禁止です」と言われると表面上は頑張る素振りを見せますが 
> 実際は何とかして回答者から完全な回答を引き出そうと間違った方向に努力を開始しますからね 

それはよくわかります。
だからこそ、質問者の期待以上に完全な回答を与えてあげようと努力するわけですが、それが気にくわない人も少なくないようです。
完全ではなく中途半端でよいのなら、その中途半端度合を明確にしないといけませんよね。


10ポイント を手に入れた。

Name: 御津凪 [URL]  ..ハッカー(133,291ポイント)   Date: 2009/12/17(木) 20:04   No:44412     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
全く関係ない話ですが、
そういえば、さりげなくフォント変えましたね。「メイリオ」に。

若干読みやすい気もします。
それと、文字が柔らかくなった気がしますね。


48ポイント を手に入れた。

Name: kazuoni [URL]  ..ハッカー(119,153ポイント)   Date: 2009/12/17(木) 21:05   No:44416     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
> そういえば、さりげなくフォント変えましたね。「メイリオ」に。

うーん。。自分は前のほうが好きだったかも知れません^^;
まあ、文字サイズを小さくすればいいんですけど、
文と文の間がちょっと狭いのと、文字がポップになったので
ボヤ―っとした感じがして、長文が読みにくい気がします。。


91ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(140,210ポイント)   Date: 2009/12/17(木) 21:10   No:44417     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
メイリオになっても、前のままでも、Macの私にとっては関係ありません。
ちなみに、添付画像のように見えています。


56ポイント を手に入れた。

Name: Justy  ..伝説なるハッカー(485,390ポイント)   Date: 2009/12/17(木) 21:20   No:44418     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
> justyさんは一部全角の別名があったような気がします
 2回ほど入力にミスってますね。
 投稿前に気付くことも多いのですが、時たまやらかします。


> フォント
 XP+IE8だと標準の設定で ClearTypeが入るので柔らかくなりましたが、
読みやすいかというと慣れが必要な気も。
 今はまだちょっと目がチカチカしています。

 Firefox3とか IE6+ClearTypeオフだと、読めなくはないですが
文字の太さがガタガタになりますね。


154ポイント を手に入れた。

Name: kazuoni [URL]  ..ハッカー(119,144ポイント)   Date: 2009/12/17(木) 21:35   No:44421     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
ちなみに自分はこんな感じです。(Google Chrome)



27ポイント を手に入れた。

Name: kai  ..中級者(11,483ポイント)   Date: 2009/12/17(木) 22:00   No:44423     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
質問する側の立場として意見よろしいでしょうか?

こんにちは。私はここ一年間、ここの掲示板を利用させていただき、
龍神録の改造の質問しかしてないので、あまり言える立場ではないですが、

C言語の宿題関係の"丸投げ"をしたいのなら、ここで聞くようにして
http://find.2ch.net/?STR=C%A1%A1%BD%C9%C2%EA&COUNT=50&TYPE=TITLE&BBS=ALL

本気でここで学びたい。教えてもらいたい。アドバイス、ヒントを貰って、自力で解きたい。
という、意欲のある人はここの掲示板で聞くように誘導すればよろしいのではないでしょうか?

>Dixq (管理人)さん
>>規約を守って投稿して下さい
・・・多分、これは初見さんの場合、殆ど守らないと思います。
初見さん"だから"守らないと思います。

「質問について解決したら、もうこの掲示板には用はない」

これがほとんどの初見さんが考えだと私は思います。
=だから、一回しか投稿しないので"長い規約"を読む気もない。

そして、これが原因で次に
>>・異なる名前を一人が使って質問することは規約違反です。同じ名前を使用して下さい。
この問題に関わってきます。

「また分からないことがあったので、質問したいけど、前回と同じ名前だと前にどんな質問した人かばれてしまう」

こうなります。よって、名前を変えて投稿することになります。

私の場合はこの掲示板を利用する前は、2ch等の匿名掲示板を色々活用していたので、
名前(コテハン)を書く=「荒れる」という意識が強く、
"名前を書いて投稿する"ということに凄く嫌気があったのを覚えています。
(なぜ「荒れる」のかという理由につきましてはこちらを参照してください。)
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q118752021


などなど・・、人によって、色々な理由で規約を破ってしまう方は多々いると思います。
私が思うに、規約を守るようにするのではなく、
今までどおり、優しく初心者に
>>「今回この点がよくわかりませんでしたから、
>>次から規約を読んで私達にわかりやすいように質問して下さいね」
みたいに"会話"を使って接してくれたほうが、
質問者と回答者のコミュニケーションが成り立って、
より、管理人さんが目指す「アットホームで温かい」という掲示板に近づくのではないのでしょうか?
それとも管理人さんはこの初心を改め、
規約を必ず守って、質問し、回答する。という機械的なコミュニケーションを望んでいるのでしょうか?

単発の人が質問するならば、規約を見ない人がいても仕方がありません。ただ、
長期に渡って質問する人ならば、規約はそのうち見るようになってくると思います。
よって、規約を守る人も次第に増えてくると思います。
この関係でも、特に掲示板事態に大きく支障をきたす問題ではないと思うので、
このままでも良いんじゃないでしょうか?何よりも温かさでは世界一の掲示板ですから。
温かさでカバーしてみてはいかがでしょうか。


と、まあここまでが私の意見ですが、何か不快に思えてしまったらすみません。

余談ですが
ここの掲示板でよく使われてる顔文字「^^」←これ。
一部の人は"不快な顔文字"もしくは"煽りとして使う顔文字"
と思う人がいて、イラッと来る人がいてもおかしくないので
あまり使わないほうが良いと思います。


830ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(140,585ポイント)   Date: 2009/12/17(木) 22:51   No:44428     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
> 「質問について解決したら、もうこの掲示板には用はない」 

> これがほとんどの初見さんが考えだと私は思います。 
> =だから、一回しか投稿しないので"長い規約"を読む気もない。 

そういう人は多いでしょうね。
ただ、そういう人は、アットホームとか温かさを期待してはダメだと思います。

例えていうなら...

見知らぬ旅人でも快く泊め、食事を提供してくれる親切な人がいたとします。
その人の家族もみんな親切で、アットホームな温かい家庭だったとしましょう。

そこにやってきた旅人が、「宿と食事を提供してくれたら、もうこの家に用はない」ということで、畳の部屋に土足で上がり込み、赤ん坊がいるそばでタバコを吸いまくり、ゴミをそこら中に散らかし、深夜まで大声で騒いだとしたらどうでしょう。
彼曰く、「一回しかこの家には来ないので、ルールもマナーも知ったことではない」と。

あまりに酷いので家の主に怒られると、「ここはアットホームで暖かい家ではないのか」と逆ギレしたとしたらどうでしょう?
怒った主人は、ルールやマナーを守った機械的なコミュニケーションを望んでいたのでしょうか?
単発の客人なら、ルールやマナーは守らなくても仕方がないのでしょうか?

少なくとも、私はそうは思いません。


375ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,115,804ポイント)   Date: 2009/12/17(木) 23:19   No:44433     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
う、何から答えていいか解らない位レスが・・^^;
ではまず

>複数名前がある件

う、私も「管理人」と「Dixq (管理人)」と「Dixq(管理人)」がある^^;
ただ、名前を複数使ってはいけないというのは、規約にもあります通り、質問する場合に限ったことなので、
回答して下さる方には特にお願いしていません。
回答して下さる方でもし名前を使い分ける方がいらっしゃるならば何か理由があるのでしょうし、
常連の方は結構同じ名前を使ってくださる方が多いと思いますので。
ただし何か討論みたいになった時に、あたかも複数人が一人の意見に同調してるかのようなコメントは控えて頂きたいですが・・。
まぁもともと規約自体が嫌いな人間で、自由にやりたい派(もともと規約なんか作る気なかった)なので常識的な範囲なら特になにして頂いても結構です。

>cgi自作すれば何もかもオールオーケじゃ?な件

そうですね〜、ここまで話が膨らむとちゃんと勉強してcgi挑戦してみたくなります。
ただ学生の時ならまだしも今はなかなか時間が取れなくて・・。
年末あたりちょっと勉強してみようかなと思います。

>山崎さん

いえいえ、どうぞお気軽に書き込んでください^^

>「<pre>タグで囲む」件

そうですね〜、ある種の専門用語?みたいな感じで、
初めて聞いた人にはわかりにくいですよね。
わかりやすい規約というものが出来るよう努力したいと思います。

>しかし、フラッシュがでかでかと設置され 「こんなに目立てば、規約を守ってくれる人も増えるだろうな〜っ!さすが管理人さん!」と
>思っていたのですが、それでも規約を守ってくれない人は守ってくれないのですね・・・^^; 

フラッシュって見ない人は本当に目に入らないようですね;
規約なんて面白くしようが無いですが、なるべく人が見てくれるように・・考えたいですね^^;

>ねこさん
>山崎さん
>質問用のテンプレートを新規投稿のコメント欄の中に最初から書き込んでおく、ということは可能なのでしょうか? 

自作CGIすればいいって話ですよね。勉強してみます。

>arrayさん
>無題の件

これは無題では投稿出来ないように位は出来るようにお願いしてみようと思います。
CGI的には難しくなさそうですよね。
ただ、、、、
「題名を入れてください」とか警告が出た時、めんどくがって題名が
「ああああ」とかになると、見るからに困った質問者になりそうで怖いですね;

>やそさん
>昇進状態見るの疲れた

いつの間にやらものすごい数になっていますね^^;
過去ログの数もすごいことになってますね;
この掲示板のシステム自体、100までが過去ログのマックスだったらしく、
制作者様に先日それ以上記憶できるように変えてもらったんですよね^^;

>チルチルさん

>質問者側からすると興味の無い事を長々と書いて行くと最終的に自分が伝えたい事が目立たなくなってしまう事を心配しているのかもしれません 

そうですね〜、特に何がベストな質問の仕方なのか、それを理解していない段階ってありますよね。
今は偉そうに言っていますが、私はそれはそれは以前は困った質問者の典型だったと思います。
(もしかしたら入門時に知らないところでたかぎさんとかに怒られてるかも知れませんね^^;)

最初はダメなことやどうやったら効率が悪くなるかということがわかんないんですよね。

>ソースコードを<pre></pre>で囲む事について

そうですね〜意味が解りにくいですよね。
現に投稿する時は字下げ出来ているようにみえるわけですし・・。
投稿し終わって「あ〜あ、左によっちゃった」みたいになりますよね。

>「マルチポスト禁止」に関しては経験が無いので理由が良くわかりませんが

これはやった事は私も無いですが、昔の私なら平気でやりそうです。
何が悪いのかが解らないんですよね、きっと。
回答する側になってその意味が初めて解りました。

>「名前を複数利用して投稿する」に関しては他の掲示板で慣れていて意識が薄いようです 

そうですね〜特に2chとかに慣れてる人はその匿名性に慣れていて、
統一した名前を使うこと自体抵抗があったりするかもしれません。

>それから「XX」と「XX(携帯)」などは注意されないので質問者側からすると「それならコレだって・・」みたいな流れに行く気がします 

そうですか〜一応回答者様には名前の複数利用禁止はお願いしていないんですよね。
まぁ回答して下さる方でマナーの悪い方はいらっしゃらないからですが・・。

>例えば新規投稿する時に「初投稿」と「経験者」の2つの入り口を作って 

まぁこったことをしようとするなら、取りあえず自作しないとですね^^;

>投稿する時に質問の重要度を明記するように呼びかけるのもアリかもしれません 
>つまり「宿題でわからない所があるので理解するのを手伝って欲しいです、そんなに急いではいません」とか 

そうですね〜、私がそうでしたが、提出期限ギリギリになると、
細かいことかまってられなくなるんですよね、
いいから答え教えてほしい・・!
しかしそんな気持ちが表れるとますます回答者は消極的になってしまい、
そうなるとますます質問者はあせってしまい・・の悪循環ですよね。


1,603ポイント を手に入れた。

Name: 山崎  ..プログラマー(32,604ポイント)   Date: 2009/12/17(木) 23:27   No:44435     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
「なぜ規約を守らないのか」に関しては、私もチルチルさんと殆ど同意見です。

具体的に質問をしないのは、どこまで具体的じゃないといけないのかがわからない、というのに加え、
「答えてくれる上級者の人たちは、あまり詳しく言わなくてもわかってくれるだろう」
「あまり長い記事にしすぎると、文句を言われるかもしれない、短くまとめよう」
という意識が働いているのだと思います。

ハッキリ言って、プログラミング関係の掲示板の多くはこの掲示板とは違い、
質問者や初心者がひどく冷たく扱われていると思います。
「どんな攻撃や批判を受けるかわからない」という恐怖も、
名前を複数用いるという状況の一因になっているのではないか、と私は感じています。

マルチポストに関しては、おそらく
「一般的にマルチポストがプログラミング関係の掲示板では嫌われている」ということを
知らないだけなのでは、と私は思っています。
たぶん「マルチポスト」という言葉も知らないのではないでしょうか。
実際私も、上級者の方々がマルチポストされた記事に敏感なことに非常に驚いておりますし…。
この問題は、複数の掲示板で同じ質問をするマルチポストという行為は極力避けるべきということを
知らせるしかないのではないか、と思ってます。

今問題になっていることの多くは、
規約をしっかり読むことで避けられるものが殆どだと感じています。
規約を知ったうえで故意に破るという、極めて悪質な人はごく少数だと思います。
規約を読む、ということを徹底させればある程度は何とかなるんじゃないか…と私は考えています。
ただ、あんなに目立つフラッシュがあっても読まないのでは、どう解決すればいいのかわかりませんが…。

あと余談ですが、
kaiさんのおっしゃる「^^」の顔文字ですが、これってホントに巷で嫌われているのでしょうか?
逆に私は非常に親しみを感じます、煽りや冷やかし、軽蔑に使われたところを見たことがないですが…。
これは飽くまで私個人の印象ですが、
よく見る「w」にはかなり抵抗を感じます、それこそ人をバカにするような時に多く使われているような。
人間味のある温かい空気を作るためにも、顔文字といった表現は重要だと感じます。
まぁ私はネットサーフィンであちこちを巡ったりしないのでネット上のトレンドには疎いのですが…。


2倍のポイントを手に入れた! 1,534ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,114,330ポイント)   Date: 2009/12/17(木) 23:34   No:44437     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
>さり気にフォント変えた件

家を出る5分前、掲示板に何か良い設定項目無いかな〜と探していたら
全然関係ないフォントの設定が目に入ったので、変えてみました。
全てのPCに入ってて、自分の好みのフォントってなんだろ・・。
と思ってしばらく・・いや30秒考えたのですが、
思いつかなくて・・^^;
メイリオはXP+IE6とかだと酷い見た目になることは解っていたのですが、
家を出る時間までに良いものを思いつく事が出来ませんでしたw

メイリオは個人的に好きなんですが、Vista〜じゃないと奇麗に見えないのがネックですね。
何か良いフォントで誰が見ても綺麗な物があれば教えてください。
(そんなんいったらMSゴシックとかだけになっちゃうかも・・

>行間が狭まって余計みにくくなった件

あ〜行間は設定出来るので、時間がある時調整してみますね。

>kaiさん

>>規約を守って投稿して下さい 
>・・・多分、これは初見さんの場合、殆ど守らないと思います。初見さん"だから"守らないと思います。 

そうでしょうね〜、一度解決したらもういいって人多い気がします。
ここの掲示板には訪問回数とか分析してくれる機能付いてるのですが、
一番多い人が1〜10回、二番目に多い人が100回以上なんですよね。

初見さんか常連さんの大きく二つに分かれる感じです。
まぁみてるだけの人も多いので、実際に質問される方はもう少し何度か来た方が多いのかも知れませんが。

>名前(コテハン)を書く=「荒れる」という意識が強く

え、そうなんですか?そんな文化が・・。
しかし、何故同じ名前を使うと荒れるのです?
(・・・って書いた所で、その答えがもう書いてありましたね^^;素晴らしい・・w
ただ読んでもあまり理解は出来ないです・・。いや意味は解りますが、そういう人の心理がよくわからない・・)

2chって全く使わないんで、全然知らないんですよね;
昔DXライブラリの話題で一度投稿したことがありますが、あの雰囲気がどうしても・・・。
いや、よい情報収集の場なのかもしれませんけどね。好みの問題でしょうか。

>>次から規約を読んで私達にわかりやすいように質問して下さいね」 
>みたいに"会話"を使って接してくれたほうが、質問者と回答者のコミュニケーションが成り立って、 
・・・
>管理人さんはこの初心を改め、 
>規約を必ず守って、質問し、回答する。という機械的なコミュニケーションを望んでいるのでしょうか? 

そうですね、最近私も初心を忘れている気がします。
この掲示板を作った当時の話をし始めると長いのでやめますが・・・。
開設当時「何年たっても今の気持ちを忘れずにいよう」と思ったのですが、
最近少し忘れかけているようです。
しっかりとこのHPを作ったころのことを思い出して肝に銘じようと思います。

>ここの掲示板でよく使われてる顔文字「^^」←これ。 一部の人は"不快な顔文字"もしくは"煽りとして使う顔文字" 
>と思う人がいて、イラッと来る人がいてもおかしくないので あまり使わないほうが良いと思います。

そうなんですか・・。
全く煽っているつもりはないんですが、そういえば匿名掲示板などでは
煽りに使われていることはよくありますね。
使っている人の意識が全く違えばあおりには見えないと思っていますが、
そういう文化に慣れている人にとっては不快な文字なのかもしれませんね、
すみません、気をつけます・・・。

と言っても、私の書き方を変えるかどうかは解りません。
私はそれが悪いことだという認識は持たずにやってきましたので。
ご意見を頂いた後、自分で考えて行動してみようと思います。
ご意見ありがとうございます。


1,474ポイント を落としてしまった。

Name: Dixq (管理人) [URL]  ..ウィザード(1,113,898ポイント)   Date: 2009/12/17(木) 23:40   No:44438     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
>ハッキリ言って、プログラミング関係の掲示板の多くはこの掲示板とは違い、 質問者や初心者がひどく冷たく扱われていると思います。 
>「どんな攻撃や批判を受けるかわからない」という恐怖も、名前を複数用いるという状況の一因になっているのではないか、と私は感じています。 

あ〜なるほど。初めてだからこそ怖いというのもあるかもしれませんね。
私もそういう経験があったような気がします。
「きっと熟練者からしたら足し算のような問題なんだろうな、お前こんな問題もわからないのかと思われるんだろうな」
そんなことでびくびく?してたようなこともあったかもしれません。

>「一般的にマルチポストがプログラミング関係の掲示板では嫌われている」ということを 
>知らないだけなのでは、と私は思っています。 

そうなんでしょうね、私も知りませんでしたし・・。
特に私は当時PC自体初めて触ったので、ネットの常識すら知りませんでした;

>これは飽くまで私個人の印象ですが、 
>よく見る「w」にはかなり抵抗を感じます、それこそ人をバカにするような時に多く使われているような。 

そうなんですか、人によって解釈は色々あるものですね・・。
私は前者も後者もよく使うのですが^^;

そういえば一切顔文字も「w」も使ったの見たこと無い人いますね。
人によっては何気なく使っているものも不快に思わせることがあるのかも知れませんね。
(といいつつ、(略)さんがすごい可愛らしい顔文字とか使われてるところ一度でいいから見てみたいのですが・・w)

まぁ私はどっちも気にしないかな〜・・と思います^^;
むしろ、使った方が感情が伝わっていい気がするんですよね・・。
文章だけのコミュニケーションって表情も感情も全く解らない場合が多いですから・・。


432ポイント を落としてしまった。

Name: たかぎ [URL]  ..ハッカー(141,122ポイント)   Date: 2009/12/18(金) 00:04   No:44444     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
> あ〜なるほど。初めてだからこそ怖いというのもあるかもしれませんね。 

これは掲示板にかぎった話ではありませんね。
私の場合も、初めて税務署や法務局に行ったときは何となく怖かったものです(もちろん、今では平気です)。
飛び込み営業とかもそうですね。

マルチポストについては、私は個人的にはOKだと思っています。
マルチポスト自体が悪いのではなく、質問しっぱなしで放置したり、一方の掲示板でのやりとりを、他方の掲示板の回答者も知っていることを前提とした話をしたりするのが問題なのであって、まともな良識のある人間であれば、そんなことはしないはずだからです。
ただし、そこの利用規約で禁止されているのであれば、絶対行うべきではありません。

> そういえば一切顔文字も「w」も使ったの見たこと無い人いますね。 

私のことでしょうか?
顔文字が普及し始めたころ、そういう流行に乗っかるのが嫌だったので避けてきました。
猫も杓子も顔文字を使うようになった現在では、顔文字を使うのはかえって没個性的だとさえ思っています。

世界の言語のなかでも、日本語の表現力はピカイチです。しかも、話し言葉より、書き言葉のほうがずっと表現力がゆたかです。
そう考えると、あらぬ誤解をあたえかねない記号に頼るより、普通に書く方がよいと考えています。
あと、(ケアレスミスとかはありますが)正しい日本語を書くようにも心がけています。


505ポイント を手に入れた。

Name: kai  ..中級者(11,563ポイント)   Date: 2009/12/18(金) 00:12   No:44446     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
顔文字のことですが、ここを参考にしたので
http://himasoku123.blog61.fc2.com/blog-entry-359.html
とらえ方は人それぞれですから
そんなに気にしなくてもいいかもしれませんね・・・


80ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,114,944ポイント)   Date: 2009/12/18(金) 00:12   No:44447     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
> マルチポストについて

私も実はそんなに否定的ではありません。現に条件付きでOKにしてますし。
私もたかぎさんが仰るように、マルチポスト自体がダメなのではないと思っています。
ただ、マルチポストをする人は誠意的な対応が少ない場合が多く、放置する人が多いので
マルチポスト=タブーなイメージがあるんでしょうね。

>> そういえば一切顔文字も「w」も使ったの見たこと無い人いますね。 
> 私のことでしょうか? 

いやいや誰とは言っておりませんよ!
誰とは・・。
というか普及し始めたころってまたすごい話ですね^^;
私がPC初めて触ったころは猫も杓子も顔文字を使うようになった頃だったんでしょうね・・;

> 日本語の表現力はピカイチです

あ〜それは思いますね。
私は英語は得意ではないですが、英語って書き言葉に表現が日本語ほど豊かじゃないですよね。
一人称を表す言葉の種類からしても・・
・・といっても書き込みで私以外に使う事はあまりないですけどね^^;


5ポイント を落としてしまった。

Name: sizuma [URL]  ..上級者(20,823ポイント)   Date: 2009/12/18(金) 01:26   No:44452     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
>正しい日本語
特に指摘されることがないと、自分の間違いにも気づかないので難しいです。
敬語もですが、学生をしてるときちんとした敬語でしゃべらなくてはいけない機会はほとんどなく、これから就職活動なので会社の方に不快な思いをされないか心配ですね。
顔文字の話題のように、こちらに悪意がなくても悪意を感じられる場合もあるでしょうから。

ちなみに僕も「^^」はよく使用するので悪意は感じないです。
どう書くにしても悪意をもって書かなければある程度は大丈夫なんじゃないかな?と思っています。
ほとんどの場合は受け取る側の意識の問題ですよね。
「悪意の混じった返信をされるのではないか?」
と考えてると、「^^」も嫌味に感じるんでしょう。そういう始まりから一部で固定概念が生まれたんだと思います。

個人的に流行語や2ch等の表現は好きではありませんね。
wは使いますけど^^;(慣れたら”笑”って打つより楽なんで)
自分たちにしか分からない表現を使って悦に入ってるとしか思えないので。

さて、マナーの話
常々思っていたのですが、学校の課題をなぜ学校の先生に聞かないんでしょうか?
僕は”課題です!”のトピックでは「先生に聞け!」って言いたくなります。
教授の研究室には行きづらいでしょうけど、仲良くなって損はないはずですしね。
僕は専門学校生なんですが、たいていの疑問は担任が分かるので聞けば終わります。
(それぞれ専門があるんで分からない分野ももちろんあるでしょうけど。うちの学校だとエンベデッド系に強い先生がいなくて困ってます。)
掲示板の存在意義を根底から覆す意見ですが、環境がある方には質問に答える方向じゃなくて、質問者を先生に質問させるようにする、ってのが一番質問者のためになると思うんですよね。
・・・・あれ?マナーの話?(笑


270ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,115,637ポイント)   Date: 2009/12/18(金) 07:18   No:44462     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
>>kaiさん

リンクありがとうございます。
しかしこんなことでムカツクだのなんだの議論している内容を見るとなんだか悲しくなりますね・・。

ま〜ただ私も「(´・ω・`)」の顔文字が好きではないので色々個人的な解釈はあるのでしょうね^^;


>>sizumaさん

>学校の課題をなぜ学校の先生に聞かないんでしょうか?

私は大学の教授に、聞きに行ったこともありましたが、そう何度も聞けませんでした。
・・というのも70才だったし、堅苦しい人だったので、
話もしにくいし、解りやすく教えてくれなかったからです。

ま〜大学って授業で解り易く教えてくれないイメージがありますしねぇ・・。
基本解らない事は自分で学ばないと理解出来ない印象ですが、大学ってそういうもんですかね。
高校の時の受け身の姿勢を大学で続けてたらある意味カルチャーショック(?)だったのを覚えています。


318ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(141,713ポイント)   Date: 2009/12/18(金) 07:39   No:44465     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
> 常々思っていたのですが、学校の課題をなぜ学校の先生に聞かないんでしょうか? 
> 僕は”課題です!”のトピックでは「先生に聞け!」って言いたくなります。 

これはその通りです。
おそらく課題を丸投げしている人たちは、授業中に先生の話を聞いていないのでしょう。
普通は、問題文に書いている以外に、口頭やホワイトボード等で説明する内容が少なからずあります。
だから、回答者は、その内容を補足してもらわなければ回答できないわけですが、そもそも聞いていないから補足できないのです。
そして、話を聞いていなかったことがバレるので、いまさら先生に聞けないのかもしれません。

私は、若い人たちを指導するときは、機会があるたびに次のようにいっています。

・やる気がある人は、期限までに与えられた課題を確実に完成させる。
・それを可能にするには、最初の時点で、「何をすべきか」「期限はいつか」を明確にする必要がある。
・何をすべきかわからなければ、わかるまで質問し、確認する。
・早い段階で、完成までの障害になるような技術的問題点その他を洗い出し、それを解消する。
・途中で、そのままではできそうにないことに気づけば、まだ取り返しがつく時点で相談する。
・仮に今回できなかったとしても、次は確実にできるようにする。

上の内容を実行しようとすると、何度か質問や相談が必要になるはずですね。


295ポイント を手に入れた。

Name: たいちう  ..熟練のプログラマー(40,466ポイント)   Date: 2009/12/18(金) 13:21   No:44482     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
> おそらく課題を丸投げしている人たちは、授業中に先生の話を聞いていないのでしょう。 

真剣に学習したいわけではなく、卒業に必要な単位を取りたいだけなのでしょう。
そしてプログラミングについても、「単位をとる」=「プログラム経験者
(就職活動などでそれなりに評価してもらえる)」程度に思っているかもしれません。

教官と仲良くなるのも煩わしいし、そもそも単位取得のための労力を最小化することを
目指しているのかもしれません。

自分の学生時代を思い出すと、全然文句は言えないのですけどね。


2倍のポイントを手に入れた! 210ポイント を手に入れた。

Name: poi  ..ぴよぴよ(573ポイント)   Date: 2009/12/18(金) 14:25   No:44487     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
『pow(poiの入力間違いで、現在調査中)』、『デジキャメ』がありましたので削除お願い致します(・・;)

32ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,116,725ポイント)   Date: 2009/12/20(日) 19:53   No:44542     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
私も学生時代を思い出すと偉そうなこと言えないな^^;
途中までは全くプログラムのおもしろさが解らず、単位を取るためだけに学んでいた気がします。
ただたかぎさんのように教える側考えると、仰ることは痛いほどわかります・・w

>> poiさん

powさんならわかりますが、デジキャメさんて全然違う名前ですねw
了解です。


152ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(142,181ポイント)   Date: 2009/12/20(日) 21:02   No:44546     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
> 私も学生時代を思い出すと偉そうなこと言えないな^^; 
> 途中までは全くプログラムのおもしろさが解らず、単位を取るためだけに学んでいた気がします。 

多かれ少なかれ、みんなそんなもんです。
ただ、私の場合、プログラミングは申し訳程度にFORTRANの授業があっただけで、結局最後まで単位がとれませんでしたが...

> ただたかぎさんのように教える側考えると、仰ることは痛いほどわかります・・w 

若手を指導する際は、自分のことを棚に上げてでも、理想を教える必要があります。
もっと現実を見るべきだという意見もあることでしょう。
実際、生徒に「先生、もっと簡単にできるような裏技ないんですか?」と聞かれることがあります。
そんな場合は次のように答えています。
「あるよ。お金を払って外注すれば、もっと簡単に結果が手に入る。プログラミングでお金をもらう側になりたければ、裏技などといってないで、勉強するしかないな」
ある意味、これが一番現実的な回答だと思います。


200ポイント を手に入れた。

Name: たいちう  ..熟練のプログラマー(40,583ポイント)   Date: 2009/12/20(日) 23:09   No:44553     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
> 若手を指導する際は、自分のことを棚に上げてでも、
> 理想を教える必要があります。

そう思って子供にも接しています。
間違いなく私の親は私以上に苦労したはずですが。


26ポイント を手に入れた。

Name: dic  ..熟練のプログラマー(41,761ポイント)   Date: 2009/12/21(月) 13:32   No:44561     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
話ぶりかえしてすみませんが、
名前を私も昔は コロコロ変えてました
というのも なんとなく自分の名前を設定することによって
自分のモードというかな なんというか、気分が変わるのです
色々モードをつくって、わけわかんなくなったので、現在のdic一個に絞って書き込みしてます

色々保険の会社がありますが、一本化するとかなんとか言う話がニュースでやってるけど
分散させて管理したい人には、ちょっと・・・って気分なんでしょうね

たとえが悪いかもしれませんが、「オラァ米つくるだぁ」と言ったら新潟行けっていわれるようなもので
別に他の都道府県でも米はつくれるわけで
名前を使い分けられると、追求できなくなるってありますけど
その人なにの考えがあってのことだと考えてます

初心者っぽい質問はAで
ちょっと背伸びしたい質問の時はBで
って


272ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(142,684ポイント)   Date: 2009/12/21(月) 17:36   No:44575     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
> 初心者っぽい質問はAで 
> ちょっと背伸びしたい質問の時はBで 
> って

こういうことは、それが許されている掲示板でやるべきですね。
ここでは禁止されていますので、確信犯的にそれをやるのであれば、「規約を理解しても勝手な解釈を加えて無視する」最も悪質な利用者ということになってしまいます。


102ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,118,688ポイント)   Date: 2009/12/21(月) 20:49   No:44599     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
> 若手を指導する際は、自分のことを棚に上げてでも、理想を教える必要があります。

そうなんでしょうね。
教える人にはカリスマ的な要素が必要だと思います。
私の場合はですが、教えてくれる人を「この人はすごい人なんだ!」と思った方が
教えられる内容も理解がスムーズな気がします。

> dicさん

ん〜、良く解りませんが・・^^;
保険会社は倒産すると全て無くなってしまうからでしょうが、名前の件はそうではないと思いますし・・。
米を作るなら新潟に行けと言われるだろうが、どこの県でも作れるので考えがあってのことだろうという事もイマイチピンときません^^;

色んな名前を使って投稿している人の多くは、
前のトピで失礼な態度を取ろうが、リセットして投稿出来るということや、
一度に大量の質問をしても違う人だと装えて他力本願ではないと見せれるだろうことや、
そういう要因が多いように感じます。

仮に他の理由で気分が変わったり一つに決める事がやりたくない事であったりしても、
たかぎさんの仰る通り、ここでは一つに決めて頂きたいなと思います。


336ポイント を手に入れた。

Name: dic  ..熟練のプログラマー(41,873ポイント)   Date: 2009/12/22(火) 14:46   No:44657     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
>たかぎさん 管理人さん
そこまで、規約に目を通してなかったです
すいません


2倍のポイントを手に入れた! 16ポイント を手に入れた。

Name: nayo  ..中級者(14,290ポイント)   Date: 2009/12/22(火) 21:54   No:44684     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
私も間違えて「なよ」という名前で一度投稿してますね…お手数お掛けしますが削除お願いします

最近忙しく趣味のプログラムから離れてましたがここの活気を見てると自分もまたやろうかな、と思えます
規約を守られていると荒れることなく、スムーズに話が進むので是非規約は守ってもらいたいですね
私も人のことを言えるか怪しいですが…
より一層規約を意識して投稿しようと思います


147ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,120,058ポイント)   Date: 2009/12/22(火) 22:37   No:44687     
Title: Re:■ 規約を守って投稿して下さい! のトピ【雑談】    
>dicさん

この絵dicさんがお書きになったのですか?
うまいですね〜、絵が描ける人はうらやましい;

>nayoさん

あ〜名前を変えて投稿することは質問する場合に限りお願いしているので、
回答時や雑談時は特にお願いしていないです。
(複数の名前を使ってあたかも大人数が同調しているかのような書き込みは困りますが・・)
と言いますのも、何か人に指摘する時には普段使っている名前ではない名前で投稿される方がいらっしゃるようですが、
それはそれでもいいと思ったからです。

(ウヌボレ発言ですが)私は昔、リアル友達や親しいネット友達に自分のゲームを見せた時、
批判されることは無く、ほめてくれることが多かったのですが、
ある時2chで私のゲームがボロクソ言われてるのを見た時、結構衝撃を受けたのです。

あぁ、今まで自分はなんてウヌボレてたんだろうと。
自分のゲームは全く完成度は高くない本当にクソゲーだったのだと。
みんな社交辞令でほめてくれたんじゃないか、何をこんなところで満足してたんだ!と思いました。

なかなか批判や意見は社交辞令で言いにくいものです。
2chであれだけ批判が飛び交うのは匿名性があるからだと思います。
2chはあまり個人的に好きではありませんが、2chのいい面もあるのだから、それを取り入れたいと思いました。

誰かを中傷することは良くないですが、社交辞令にとらわれて、本来言うべきである意見やある意味批判が
言えずにいるのはあまり良い事ではないように思いました。

例えば「君のその行動キモイよ」と言われたらその時はいい気はしないかもしれませんが、
その言葉を受けたおかげでその人はその行動を改め、それ以上指摘された行動はしなくなるかもしれません。
その人にとってはその方がいいのだと思います。
しかし匿名性がないとなかなか言いにくいこともあるでしょう。

名前を変えてでもいいからもし私に指摘して頂けることがあればドンドンして頂きたいなという意味もこめています^^;
前述のような経験があるので、褒められるより批判される方が人間成長するような気がします。


850ポイント を手に入れた。



Name: デラ初心者  ..入門者(3,126ポイント)   Date: 2009/12/21(月) 19:35   No:44587       
Title: 龍神録が解るレベル    
また質問させていただきます。

今、龍神録をやっているのですが
優しい説明のお陰で大体解るのですが
所々解らなくなります
(例えば12章の渡された-ang〜angまでのランダムな角度を返すなど)

このまま解らなくても龍神録を続けるか

それとも"明解C言語"などを買って勉強するべきでしょうか?

それとも"14歳からはじめるC言語わくわくゲームプログラミング教室"
の様な本でゲーム的基礎を学ぶべきでしょうか?

キャラを動かす程度なら出来ますが
ゲームは作れないので作れるレベルになりたいです

・構造体
・配列
・関数自作
・プリプロセッサ
は大体解ります 

ポインターが微妙です
for文は複雑になると解りません

長文失礼しました




344ポイント を手に入れた。


Name: Dixq (管理人) [URL]  ..ウィザード(1,117,403ポイント)   Date: 2009/12/21(月) 19:55   No:44591     
Title: Re:龍神録が解るレベル    
>>デラ初心者さん

-ang〜angの値を返す関数についてですが、何が解らないかで回答が変わってきそうです。
何がわからないですか?

>・関数自作 
>・プリプロセッサ 
> は大体解ります

とは書いていらっしゃいますが、自作関数について理解されているなら解ると思いますよ。
例えば1を引数に渡したら何が返ってきます?


その関数の構造や仕組みは理解しているが、パッと見難しそうだからわからないと言っているのか、
そもそも関数の概念がわからないのかで分かれそうです。

もし関数の仕組みやその帰り値の意味が解っていない段階ならそのまま読み進めても苦しいだけだと思います。

>14歳からはじめるC言語わくわくゲームプログラミング教室

こちらは特に読まなくても大丈夫です。
大事なのはCの基礎が解っていることであって、ゲームプログラムのアルゴリズムを理解していることではないです。

で、仰っていること
・構造体 
・配列 
・関数自作 
・プリプロセッサ
が本当に理解出来ているなら、C言語の入門書を読む必要はないでしょう。
きっとおさらい程度にしかならないと思います。
それに上の4項目が理解出来ていれば基本的なコードは読めると思いますので。
後は慣れの問題だと思います。

ですので、上のことが本当に理解出来ていればそのまま読み進めても価値はあると思いますが、
その辺の理解があやしいなら基礎をかためる事が大事かと思います。


469ポイント を手に入れた。

Name: デラ初心者  ..入門者(3,128ポイント)   Date: 2009/12/21(月) 20:12   No:44592     
Title: Re:龍神録が解るレベル    
回答ありがとございます

returnは良くわかりません

なので関数自作を勉強すれば良いでしょうか?

return 0なら正常 return -1ならエラー位しか解りません


2ポイント を手に入れた。

Name: MNS  ..プログラマー(25,176ポイント)   Date: 2009/12/21(月) 20:18   No:44594     
Title: Re:龍神録が解るレベル    
return が解らないレベルとなると、
一度基礎を勉強し直した方がいいかもしれませんね。
変に勘違いしたままだと良くありませんし。


56ポイント を落としてしまった。

Name: Dixq (管理人) [URL]  ..ウィザード(1,117,596ポイント)   Date: 2009/12/21(月) 20:20   No:44595     
Title: Re:龍神録が解るレベル    
>・構造体 
>・配列 
>・関数自作 
>・プリプロセッサ 
>は大体解ります

ということですが

>returnは良くわかりません 
>return 0なら正常 return -1ならエラー位しか解りません

ということなので、やはりちゃんと勉強した方がよさそうですね;
別に本を買う必要はありません。
14才ならそんなに沢山気軽に本も買えないでしょう。
入門レベルならネットでいくらでも勉強出来ます。
「C言語 入門」で検索してみてください。いくらでも参考になるサイトは出てきます。


193ポイント を手に入れた。

Name: softya  ..比類無きプログラマー(71,392ポイント)   Date: 2009/12/21(月) 21:03   No:44600     
Title: Re:龍神録が解るレベル    
ちょっとしたプログラムの問題を出してみますので、やってみてくださいね。
有名なプログラマとして基本が出来ているか確かめる問題です。

[FizzBuzzの問題]
要はナベアツの3でバカになると同じなんですが。
「1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。」
をコンソールアプリとして作って下さい。時間は数分程度で参考書は見てはいけません。

これが出来るなら、基本(printf関数、for文、if文、プログラム的な思考方法)は出来ていると言えると思います。これが出来ないとすると最初からしっかりやった方が良いと思います。



269ポイント を手に入れた。

Name: デラ初心者  ..入門者(3,097ポイント)   Date: 2009/12/22(火) 18:50   No:44667     
Title: Re:龍神録が解るレベル    
解りました〜

FizzBuzzの問題やは
こんな感じでいいですか?


31ポイント を落としてしまった。

Name: softya  ..比類無きプログラマー(72,353ポイント)   Date: 2009/12/22(火) 18:59   No:44668     
Title: Re:龍神録が解るレベル    
惜しい!凡ミスだと思いますが100がprintされません。
プログラマの基本は出来ています。が、凡ミスに注意と言った処でしょうか。

基本は出来ていますので、下記サイトの11章あたりから始めてみてはどうでしょう?
http://homepage3.nifty.com/mmgames/c_guide/
その前の章も分からないところが無いかざっとチェックしてみることをオススメします。


117ポイント を手に入れた。

Name: fatens  ..入門者(3,116ポイント)   Date: 2009/12/22(火) 19:10   No:44670     
Title: Re:龍神録が解るレベル    
このままではまずコンパイルができません。
さらに、問題も確認したほうが良いでしょう。


48ポイント を手に入れた。

Name: デラ初心者  ..入門者(3,186ポイント)   Date: 2009/12/22(火) 19:13   No:44671 解決!     
Title: Re:龍神録が解るレベル    
ありがとうございます

i<=100なら良かったですね
書くのには15分位かかりました

http://homepage3.nifty.com/mmgames/c_guide/ 
↑は始めたばかりの時に参考にさせて頂きました
オリンピックが難しかったです

また解らないことがあったら質問させて頂きます

皆様ありがとうございました


89ポイント を手に入れた。

Name: softya  ..比類無きプログラマー(72,412ポイント)   Date: 2009/12/22(火) 19:20   No:44672     
Title: Re:龍神録が解るレベル    
あっ、私もミスを発見しました。
最後のif文にミスがあります。
それと戻り値intのmainは、return 0;で終わって下さい。


59ポイント を手に入れた。

Name: デラ初心者  ..入門者(3,211ポイント)   Date: 2009/12/22(火) 19:56   No:44674     
Title: Re:龍神録が解るレベル    
そうですか・・・

これならいいですか?
コンパイルも出来ます


25ポイント を手に入れた。

Name: softya  ..比類無きプログラマー(72,457ポイント)   Date: 2009/12/22(火) 20:13   No:44676     
Title: Re:龍神録が解るレベル    
えーと、コンパイルは通りますが、バグりましたよ。
動かしてみると問題が分かります。
落ち着いて直しましょう。


45ポイント を手に入れた。

Name: デラ初心者  ..入門者(3,231ポイント)   Date: 2009/12/22(火) 20:15   No:44677     
Title: Re:龍神録が解るレベル    
確かにバグってます

適当にしか見ていなかった・・・

直してみます


20ポイント を手に入れた。

Name: デラ初心者  ..入門者(3,231ポイント)   Date: 2009/12/22(火) 20:18   No:44678     
Title: Re:龍神録が解るレベル    
最後の表示をif文に入れてみました

バグもないと思います


Name: fatens  ..入門者(3,178ポイント)   Date: 2009/12/22(火) 20:22   No:44679     
Title: Re:龍神録が解るレベル    
最初のif文は i % 15 でも問題ないですよ。
それ以外はOKですが、プログラムは
int main(void)
{
    ...
    
    return 0;
}


にした方が良いです。


62ポイント を手に入れた。

Name: デラ初心者  ..入門者(3,254ポイント)   Date: 2009/12/22(火) 20:32   No:44680     
Title: Re:龍神録が解るレベル    
そうですよね・・・

有り難うございます


23ポイント を手に入れた。



Name: 初心者  ..熟練のプログラマー(45,828ポイント)   Date: 2009/12/21(月) 16:59   No:44568       
Title: C言語の初心者ですが    
まだC言語を習い始めたばかりのものですが、教科書に書いてあった課題が
解けません...

問題はこういうものですが↓


#include <stdio.h>

    ■factor(■)
{
    int i;
    long p;
    p = 1L;
    for (i = 2; i <= n; i++) p = p * (long)i;
    ■;
}

void main(void)
{
    int n, r, c;
    printf("n = "); scanf("%d", &n);
    printf("r = "); scanf("%d", &r);
    c = (int)(factor(n) / factor(r) / factor(n-r));
    printf("nCr = %d\n", c);
}

というプログラムなのですが、黒い四角の記号「■」が僕が埋めるべき空欄です。
以下が僕自身の回答ですが、ぜんぜんわかりません;;



#include <stdio.h>

    int factor(int i)
{
    int i;
    long p;
    p = 1L;
    for (i = 2; i <= n; i++) p = p * (long)i;
    ■;
}

void main(void)
{
    int n, r, c;
    printf("n = "); scanf("%d", &n);
    printf("r = "); scanf("%d", &r);
    c = (int)(factor(n) / factor(r) / factor(n-r));
    printf("nCr = %d\n", c);
}

ですが、正直なんでそういう風に埋めたのかもあまり分かっていません。
正しい答えがわかれば、そこから自分で調べて理解することができると思うので、
ぜひ正しい回答をお願いいたします。


2倍のポイントを手に入れた! 520ポイント を手に入れた。


Name: たかぎ [URL]  ..ハッカー(142,349ポイント)   Date: 2009/12/21(月) 17:20   No:44570     
Title: Re:C言語の初心者ですが    
まずはお約束ですので...


98ポイント を手に入れた。

Name: softya  ..比類無きプログラマー(71,123ポイント)   Date: 2009/12/21(月) 17:22   No:44572     
Title: Re:C言語の初心者ですが    
質問に答えるために幾つかお願いがあります。スムーズに回答するために必要な事柄ですのでぜひお願いします。
 ・ 使用している環境やコンパイラ(VisualC++2008ExpressEdition等)、自分が習っている言語の規格(CにもC89やC99など幾つか規格があります)を教えて下さい。
 ・ 自分はどこまで理解しているのか、学校ではどこまで習ったのか明確にして下さい。
 ・ ソースコードは< pre>と< /pre>のタグで囲んで下さい。
 詳しくはこの掲示板の使い方をご覧ください→ http://dixq.net/board/board.html


182ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(142,539ポイント)   Date: 2009/12/21(月) 17:31   No:44573     
Title: Re:C言語の初心者ですが    
> ぜひ正しい回答をお願いいたします。

何をしたいのかが分かりませんが、とりあえず正しいプログラムにしてみました。
#include <stdio.h> 

int main(void) { return 0; }
#define main hoge
#define n p
int factor() 
{ 
    int i; 
    long p; 
    p = 1L; 
    for (i = 2; i <= n; i++) p = p * (long)i; 
    return 1; 
} 

void main(void) 
{ 
    int n, r, c; 
    printf("n = "); scanf("%d", &n); 
    printf("r = "); scanf("%d", &r); 
    c = (int)(factor(n) / factor(r) / factor(n-r)); 
    printf("nCr = %d\n", c); 
} 

動作については、どうなるのが正しいのか不明ですので、関知していません。


190ポイント を手に入れた。

Name: むん  ..ぴよぴよ(815ポイント)   Date: 2009/12/21(月) 20:21   No:44596     
Title: Re:C言語の初心者ですが    
質問者さんは正しく質問を書いたほうがいいですよ。
これだけではなんなので、
#include <stdio.h> 

int factor(int 1L); 
{ 
    int i; 
    long p; 
    p = 1L; 
    for (i = 2; i <= n; i++) 
              p = p * (long)i; 
    return ■; 
} 

void main(void) 
{ 
    int n, r, c; 
    printf("n = "); scanf("%d", &n); 
    printf("r = "); scanf("%d", &r); 
    c = (int)(factor(n) / factor(r) / factor(n-r)); 
    printf("nCr = %d\n", c); 
} 



一つだけ■で囲んでいますが、そこは関数内で計算した結果を返せばいいだけなので
すぐにわかると思います。main文で関数に値を渡していることがわかるので、
factorの関数ではpに渡している値を代入していることがわかります。

全部教えるのはなんなので、あと一つは自分で考えてください。といっても
答えを教えているようなものですが、まぁあっているかはわかりませんが。


236ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,118,352ポイント)   Date: 2009/12/21(月) 20:36   No:44598     
Title: Re:C言語の初心者ですが    
例え話をします。以下の文章を読んで下さい。


目の桿体は光を、錐体は色を感知するもので、目に入る光によってその特性は変化する。桿体、錐体ともに一度化学反応をすると、再び反応可能な状態に復帰するまで一定の時間が必要である。


突然変な事を言ってすみません。
いきなり突拍子もない文章を読むと意味が理解できなかったのではないでしょうか?
国語力の高い人じゃないと、一度読んで、もう一度読み返してしまうのではないかと思います。

人間は脳に情報が入ってくると、その「仕分け」作業が完了しないと、記憶出来ず、結果として理解出来ないそうです。
ですから「これからこんなデータが来ますよ」と脳に信号を送っておかないと理解がスムーズにできないわけですね。

何か多い文章の冒頭にはよく「概要」とか「要旨」がくっついていると思いますが、
それは本体の情報を読まなくても理解させる為だけでなく、
これから読む人の脳にスムーズにデータが入るように用意されているものなんですね。

・・と長い前置きはこれ位にして・・。

要するに、これ位のソースコードは見たらわかるだろうと自分は思ったとしても、
「ソースコードの概要としてはこんな処理をするものです」と一言あるかないかで、
すごくこちら側の読めるスピードが変わります。
ですから、自分がしたい事は何で、ソースコードがある場合、そのソースコードの概要を一言添えて頂けるとありがたいです。

ではまずどこが解らないかを明確にしていきましょう。
もっと簡単なプログラムから考えてみます。

int abc( int n ){
    if( n==1 )
        return 2;
    else
        return 0;

}

int main(){
    printf("%d",abc(■));
    return 0;
}

このプログラムで「2」を表示させるには■に何をいれたらいいでしょうか?


756ポイント を手に入れた。

Name: さかまき  ..ぴよぴよ(164ポイント)   Date: 2009/12/22(火) 17:48   No:44666     
Title: Re:C言語の初心者ですが    
1番目の■(以後(1)) は関数factorの返値のタイプ。
2番目の■(以後(2)) は関数factorの引数(タイプと変数)。
3番目の■(以後(3)) は関数factorの返値。
を記述すればよいです。

(2)のタイプは簡単ですね。実際にfactorを使っている所をみればいいから。
(2)の変数はfactor内で使用されている変数で定義されていないものを探せばよい。
コンパイラが教えてくれるから実際はもっと簡単。
(3)が判れば(1)はおのずと決まってくるので、問題は(3)。
何をするプログラムかが明示的に示されていないので
何を返しても問題無い事になります。結果で割り算しているので、0は
まずいかなとは思いますが、そんな事はfactorさんには責任はないですね。

printf("nCr = %d\n", c); から、nCrを計算する為に必要な関数だと予想されるので
きっと、long pを返す関数なんだろうと予想されます。
という事で、答えが推測されますが、何をするプログラムかが明記されていないので
答えはいくつもありますね。


164ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(142,996ポイント)   Date: 2009/12/22(火) 19:09   No:44669     
Title: Re:C言語の初心者ですが    
ところでこの質問者さんは、熟練のプログラマーまで昇進した、常連の「初心者」さんでしょうか?
あるいは、"常連の"初心者さんの名を語る偽物でしょうか?


65ポイント を手に入れた。



Name: ななし  ..かけだし(1,834ポイント)   Date: 2009/12/22(火) 14:22   No:44655       
Title: オリジナルショートカット    
オリジナルショートカットを作成し、既存のショートカットに置き換えたいです。

例えば、ブラウザを立ち上げている状態で「ファイル→名前を付けて保存」をショートカットだと「Ctr+s」でできるのですが、
このショートカット処理をsキーをポンと押すと実行されるように変更するスクリプトを書きたいのですが、
書き方がイマイチわかりません。
環境はwindowsで、WindowsScriptでやっています。
よろしくお願いします。


115ポイント を手に入れた。


Name: Naohiro19   Date: 2009/12/25(金) 14:29   No:446551261718981     
Title: Re:オリジナルショートカット    
お答えしたいのですが、質問内容では詳しいことが分からず回答が困難です。
 「規約と注意事項」にある「よくわからない人はテンプレを」にあるテンプレートを使って詳細を教えてください。そうすればスムーズに回答を行えますので。
 http://dixq.net/board/board.html
 




Name: TRUE  ..ぴよぴよ(66ポイント)   Date: 2009/12/18(金) 03:58   No:44459       
Title: 変数などの命名方法について    
こんばんは。
C言語の質問というより、アンケート又は先輩方のアドバイスをもらう形になってしまいますが…

変数などの命名方法はどのようにすれば、管理がしやすいのでしょうか?
人それぞれだと思いますが、こうしたら分かりやすいなどの情報があればお願いします。

現在、C++で自分が意識して使っているものは

・カウンタなどはi,j,kと使っていく。
・クラスの命名はCをつける。
・定数は大文字のみで命名する。
・関数や引数は、動作が分かるような命名をする。

くらいです。よろしくお願いします。


66ポイント を手に入れた。


Name: TRUE  ..ぴよぴよ(79ポイント)   Date: 2009/12/18(金) 04:06   No:44460     
Title: Re:変数などの命名方法について    
追記

書き忘れです。
昔、別名で別の質問をした経験があるのですが、名前を忘れてしまいまして
現在、「TRUE」で質問してます。名前の複数使用が問題になっているようですので…
管理人様、すみません


13ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(141,418ポイント)   Date: 2009/12/18(金) 07:04   No:44461     
Title: Re:変数などの命名方法について    
クラスのメンバの場合、既存のクラスにあわせておかないとテンプレートの中で使えなくなります。
例えば、コンテナのメンバ関数は、begin, end, rbegin, rend, sizeなどの名前にすべきですし、メタ関数のメンバはvalueやtypeにすべきですね。


2倍のポイントを手に入れた! 194ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,116,310ポイント)   Date: 2009/12/18(金) 07:32   No:44463     
Title: Re:変数などの命名方法について    
> TRUEさん

こんにちは^^

カウンタの名前ですが、
何故 i,j と使う慣習があるんでしょうね。
数学的なところから来てるのかもしれませんが
for(j=0;j<10;j++){
for(i=0;i<10;i++){
if(a[j][i]==0){
}
}
}
とか書いてあったらフォントによっては見難くて仕方ない気がするんですよね・・。

些細なことではありますが、これが原因でバグを出してしまった経験もあるので、
二重カウンタにi,jを使わないというのもいいかもしれません。

また、命名規則についてですが、
その型が見てすぐわかるような付け方をする場合もあります。

int iValue;
double dAngle;

グローバル変数だったら

int giClockCounter;

のような感じだったりもします。

また、それが良いかどうかは別にして、「変数 命名規則」でぐぐったり
「ハンガリアン記法」でググったりして参考にしてみるのも良いかも知れません。

具体的な変数の命名規則であったり、プログラムの書き方であったるするものは
もしプログラマーになれば会社の規則がある場合があるので、
そんなに完全に自分のスタイルとして確立する必要はないと思いますが、
それを専門職としていない段階なら、人の良い所をついばむスタイルで大丈夫だと思います。


> 昔、別名で別の質問をした経験があるのですが、名前を忘れてしまいまして

ここで書いて良いのでしたら以前使われていた名前をお伝え出来ますが、
別にそこまでこだわらなくてもいいですよ。
トピ立てるたびに名前変えるとか、お礼や返事を書くのが面倒だから、と匿名性を利用する為に変えるような
悪質的な行為が問題であって、TRUEさんの場合は当てはまらないので。
今からでもお好きな名前を決めて頂いても全然大丈夫です。

常連の方でもたまに名前を変更される方もいらっしゃいますしね。


673ポイント を手に入れた。

Name: 山崎  ..プログラマー(32,808ポイント)   Date: 2009/12/18(金) 07:57   No:44468     
Title: Re:変数などの命名方法について    
おはようございます。

ちょっと前、(もしかしたら今もかもしれませんが)
ハンガリアン記法というのがトレンドだったようですね。
変数名の前に、その変数の役割や型をプリフィックスとして付けておく、という記法ですね。
今は廃れてきている、とどこかで聞きました(プロの現場の状況は知りませんけれど)。
もしご存じないのであれば、ハンガリアン記法を一度お調べになってみてはいかがでしょう。

私はチームではなく個人で開発しているので、コーディング規約はありませんが、
一応変数名を決めるうえでの方針というのはありますね。

TRUEさんのあげた項目は私も守るようにしています。
他には、「変数名は必要以上に略さない」というのが私の方針です。
後でコードを見た時に、どんな役割の変数なのかわからない、
というのはやはり避けるべきですからね。
一人で開発していますが、他人に見せるコードのつもりで書くようにしています。


204ポイント を手に入れた。

Name: バグ  ..ハッカー(180,590ポイント)   Date: 2009/12/18(金) 08:17   No:44469     
Title: Re:変数などの命名方法について    
>>管理人さん
iやjがループカウンタとして使われるようになったのは、正に管理人さんが身を持って経験したように見間違えやすいからだと聞いた事があります。
C言語のように基本的に変数の寿命がスコープ内で終了する場合はまだ発見しやすいのですが、BASICのように宣言なしでどこからでも参照できてしまう場合は不具合の発見が非常に困難になります。
そういう状況を避けるべく、見分けづらい文字はカウンタに限定して使おうと思ったのかもしれませんね。
少し補足すると、BASICでは変数名の長さに比例して処理が重くなったりしていましたので、単文字変数名が珍しくありませんでした。そういう時代背景も後押ししたのかもしれません。
当時は変数対応表なんてものを手書きで用意して、それを見ながら作業なんてことも普通にありました。今ではあまり考えられませんけどね(笑)


13ポイント を手に入れた。

Name: 御津凪 [URL]  ..ハッカー(133,978ポイント)   Date: 2009/12/18(金) 10:46   No:44475     
Title: Re:変数などの命名方法について    
私の場合はループ名でカウンタとして意味を持つような場合は、i, j, k, l (同時に回数を扱う場合は n, m を)
としてますが、
二次元、三次元を表すようなカウンタ変数の場合は x, y, z と意味を持たせますね。
他にもアルゴリズム等で左右の意味で l, r とすることもあります。

そのほかに、関数の引数には先頭に入出力の示す「in」「out」「io」をどれかをつけるようにしてたり、
静的変数名の先頭には s 、グローバル変数名の先頭には g を付け、ローカル変数名は何もつけずに小文字から、
クラスのメンバ変数の先頭には m を付けるが、構造体のメンバ変数には何もつけないといった変則的にしてたり、
関数、メンバ関数は語句ごとの先頭を大文字に、
内部でのみしか使用しない static 関数には小文字のみで語句ごとをアンダーバーで区切る、といった感じです。

私はこの通り我流なので、「これが良いよ」とはいえませんが、
きちんと変数の用途と所在、あと名前の区別があれば管理がしやすいでしょう。


最後に、それとは別になりますが、
グローバル変数が多くある時は一つの構造体に纏めていたりもしています。


501ポイント を手に入れた。

Name: softya  ..比類無きプログラマー(70,202ポイント)   Date: 2009/12/18(金) 10:56   No:44476     
Title: Re:変数などの命名方法について    
そもそもi,j,kを使い出したのはFORTRANだと思います。
FORTRANの暗黙の型宣言は、変数の頭文字で型が決まってしまうのですが、I,J,K,L,M,NがINTGER(C言語でint)その他がREAL(C言語でfloat)となってしまいます。なのでループ変数で簡単に使えるi,j,kを使い出したって話です。

ただ、単純なループならiで良いですが2重や3重のループならもっと意味のある名前にした方が良いと思います。特に同じ配列の添字が場所によりiだったりjだったりするのは、間違いのもとです。

あと気を付けているのは、
(1)ローカル変数、メンバ変数、引数は区別が付けれるように命名する。
(2)長すぎる名前は可読性の害になるが、短すぎる名前は自分にしか分からないので程々の長さを目指す。
あたりですかね。


10ポイント を手に入れた。

Name: non  ..比類無きプログラマー(84,403ポイント)   Date: 2009/12/18(金) 12:14   No:44480     
Title: Re:変数などの命名方法について    
>そもそもi,j,kを使い出したのはFORTRANだと思います。 
>FORTRANの暗黙の型宣言は、変数の頭文字で型が決まってしまうのですが、I,J,K,L,M,NがINTGER

私も、大学時代にFORTRANを習ったときにそう習いました。


2倍のポイントを手に入れた! 186ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(141,981ポイント)   Date: 2009/12/18(金) 17:25   No:44497     
Title: Re:変数などの命名方法について    
C++では、グローバル変数を使う必然性は皆無ですね。最低限、名前空間に収めればよいので。
メンバ変数は、メンバであることを明示したければ、this->をつければよいことです。
局所オブジェクトと関数の仮引数を区別する必要は特にないと思います。
代わりに、テンプレート仮引数を区別する方法はあったほうがよいでしょうね。


121ポイント を手に入れた。

Name: TRUE  ..ぴよぴよ(189ポイント)   Date: 2009/12/22(火) 03:01   No:44624 解決!     
Title: Re:変数などの命名方法について    
レスが大変遅くなってすみません。

みなさん、いろいろ工夫されてたりで参考になりました。
ハンガリアン記法なども調べてみたいと思います!

カウンタの変数にi,j,kなどが使われるようになったのはFORTRANの影響など
大変勉強になりました。

また質問などありましたら投稿したいと思いますのでよろしくお願いします。


110ポイント を手に入れた。



Name: 初心者ですいません  ..ぴよぴよ(57ポイント)   Date: 2009/12/21(月) 16:56   No:44567       
Title: 無題    
最大公約数の計算を"gcd"なしで作りたいのですが、( )の中身がわかりません。
教えてください。

#include <stdio.h>
void main(void)
{
    long a, b, r;
    printf("a = "); scanf("%ld", &a); /* aの入力 */
    printf("b = "); scanf("%ld", &b); /* bの入力 */
    if (a < b) {
     (              ) ;  /* aとbの交換 */
    }
    if (b != 0L) {
        while (          ) { /* 余りが0でない間は繰り返し */
            r =(      );        /* 余りをrに代入          */
            a = b;            /* 除数を次の被除数にする */
            b = r;            /* 余りを次の除数にする  */
        }
    }
    printf("GCD(a,b) = %ld\n", b);
}


57ポイント を手に入れた。


Name: たかぎ [URL]  ..ハッカー(142,251ポイント)   Date: 2009/12/21(月) 17:20   No:44569     
Title: Re:無題    
まずはお約束ですので...



70ポイント を手に入れた。

Name: softya  ..比類無きプログラマー(70,941ポイント)   Date: 2009/12/21(月) 17:20   No:44571     
Title: Re:無題    
質問に答えるために幾つかお願いがあります。スムーズに回答するために必要な事柄ですのでぜひお願いします。
 ・ 使用している環境やコンパイラ(VisualC++2008ExpressEdition等)、自分が習っている言語の規格(CにもC89やC99など幾つか規格があります)を教えて下さい。
 ・ 自分はどこまで理解しているのか、学校ではどこまで習ったのか明確に願います。
 ・ 自分が書いたソースプログラムはどこからどこまでなのか教えて下さい。
 ・ ソースコードは< pre>と< /pre>のタグで囲んで下さい。
 詳しくはこの掲示板の使い方をご覧ください→ http://dixq.net/board/board.html



73ポイント を手に入れた。

Name: たかぎ [URL]  ..ハッカー(142,582ポイント)   Date: 2009/12/21(月) 17:33   No:44574     
Title: Re:無題    
これは難度が高いですね。
現時点の情報だけでは、未定義の動作を取り除くことができそうにありません。


43ポイント を手に入れた。

Name: むん  ..かけだし(1,075ポイント)   Date: 2009/12/22(火) 00:06   No:44616     
Title: Re:無題    
aとbの交換くらいはさすがになにも考えてくともわかると思います。
whileもあまりを計算する変数は一つしかないので
それも考える必要もなくすぐにわかると思います。

問題の余りを求めるrはちょっと調べればわかると思いますが
ユークリッドの互除法で求めればよいのではないのでしょうか?


122ポイント を手に入れた。

Name: Dixq (管理人) [URL]  ..ウィザード(1,118,651ポイント)   Date: 2009/12/22(火) 00:10   No:44617     
Title: Re:無題    
とりあえず解るところからやってみませんか?

> aとbの交換くらいはさすがになにも考えてくともわかると思います。 

この辺からやってみましょう。
まず、両手にAとBのそれぞれ大きなケーキを持っているとしましょう。
ケーキは大きいので片手に二つ持てません。
クリームがつくので、体のどこかで支えて持ち変えるとかも出来ません。
その状態で、AとBのケーキの持ち手を変えるにはどうしたらいいでしょう?

ある答えが出てくると思います。
それをプログラムで表現するとどうなるでしょう?


また、お名前が一度しか使わなそうなお名前であるように感じられるのですが・・。
同じ名前を今後も使い続けて頂くようお願いしていますのでよろしくお願いします。


108ポイント を手に入れた。




 
[ 1 , ... ]
 
 
管理者画面   RSS   + Powered By 21style +