1 :
学生さんは名前がない :
03/11/14 22:46 ID:t/BZsJx0 MFCって何だよボケ
2 :
うどん丸 ◆D.Udon9Xh2 :03/11/14 22:47 ID:QqfP77C4
return 0
#include<iostream>
4 :
無我様 :03/11/14 23:10 ID:XtCwoR53
printf("異常終了\n"); exit(1);
5 :
学生さんは名前がない :03/11/14 23:23 ID:JDd30fQV
char tyupatyupa[] = "ちゅぱちゅぱ\n"; while(1){ write(1,tyupatyupa,strlen(tyupatyupa)); }
charはどうしてもチャーと読んでしまう
7 :
学生さんは名前がない :03/11/14 23:27 ID:37hE2OxB
int i for(i=1;;i++){ printf("\a"); }
8 :
学生さんは名前がない :03/11/14 23:30 ID:/mo9bYWk
9 :
学生さんは名前がない :03/11/14 23:33 ID:vOUrwBqt
stdio→スタンダードIO スタジオ、ストディオじゃないぞー
FORTLANやCOBOLを使う人はいないのか
gets はもちろん(σ´∀`)σゲッツ!!だろ
12 :
学生さんは名前がない :03/11/14 23:41 ID:pG525CVf
>>10 FORTLAN使い(といってもまだ始めたばかりだが)ですがなにか?
13 :
無我様 :03/11/14 23:42 ID:XtCwoR53
だれかLISP使いは??
>>12 なぜFORTLANを始めたの?
研究室の過去の遺産とか?
LISP…Emacs-Lispぐらいしか見たことないという罠。
16 :
無我様 :03/11/14 23:44 ID:XtCwoR53
LISPって大昔に出来た言語の割には今でも研究室レベルで使われてるよね
17 :
学生さんは名前がない :03/11/14 23:57 ID:/mo9bYWk
CASL2でも始めようか
18 :
学生さんは名前がない :03/11/14 23:58 ID:JDd30fQV
CASL2て架空言語じゃなかった?
19 :
学生さんは名前がない :03/11/15 00:06 ID:3GL5mTVt
C++ できれば十分だろ?
20 :
学生さんは名前がない :03/11/15 00:09 ID:jdjh0rVj
21 :
学生さんは名前がない :03/11/15 00:12 ID:3GL5mTVt
JAVAって必要?
23 :
学生さんは名前がない :03/11/15 00:21 ID:jdjh0rVj
>>22 漏れ、プログラミング詳しくなくて分からないんだが
これから先、FORTLANを活用する機会があると思う?
>>23 どうなんでしょう・・・?
自分の置かれている環境下では「たぶんない」わけだが・・・
25 :
学生さんは名前がない :03/11/15 00:31 ID:jdjh0rVj
>>24 そうか。。。じゃあ取り敢えず、単位だけはなんとか確保するようにしよう。どうも
論理積ってなんだよボケ
28 :
从 ×〜×从 は〜 ◆Haaa3fxxxE :03/11/15 12:27 ID:w5M4IVAl
UNIX使わないでいいからEXCEL教えろよって思う。 文系なのにSE目指してんのかと。
うちの学科文系だけどSEが40%くらいだって教授が言ってた んなあほな・・・
hoge
>>28 うちの大学は両方やってる
院生はほとんどCでやってるけど
>>30 SEってレベル超低いよ。ちょっとパソコン知ってる香具師がSEになろうかなとか言えるんだからなぁ。
確かに就職きつい文系の方がSE志望が多いかも。
34 :
从 ×〜×从 は〜 ◆Haaa3fxxxE :03/11/16 01:57 ID:JYacbzNB
>>32 両方か.うちはCだった.
流体力学系の研究室行った友達は強制的にfortranに鞍替えになったけどなw
35 :
学生さんは名前がない :03/11/16 02:08 ID:CZnKLITi
>>33 SEもピンキリだろ
金融業が闇金から日銀まであるように
36 :
学生さんは名前がない :03/11/16 02:14 ID:d42mvwGR
C++とかパスカル教えて喜んでるアホ教官は氏ねよ 今後そんなもの使う機会なんて絶対無いのに エクセルの詳しい使い方とかUNIXのイロハとか教えてくれたほうが余程役に立つっての
37 :
学生さんは名前がない :03/11/16 13:58 ID:5KNa8ujc
>>36 教えてくれるだけありがたいと思えよ
授業でプログラミングなんてやらないところも多いんだし
38 :
学生さんは名前がない :03/11/16 14:22 ID:d42mvwGR
>>37 俺プログラミングなんてない方がよかった
絶対使わないような事に時間かけたくない
毎回レポート出すし、いつも講義時間30分オーバーだし、なんかウザいし
39 :
学生さんは名前がない :03/11/16 14:27 ID:muFPonoH
>>38 漏れも。
基本的にオーバーワークなんだよな…。
すごいたくさん自分の時間割かないと課題が完成しない。
もうやってらんない
40 :
学生さんは名前がない :03/11/16 15:20 ID:CZnKLITi
UNIXのイロハにはC++はなくてもCは含まれると思われ。 それにシェルスクリプトとかも含まれて来ると思われ
41 :
学生さんは名前がない :03/11/16 15:52 ID:9BqL9/1M
Excelなんか習わなくても使えるだろうが・・・
ヘルプ見たり入門書読んだりネットで調べたり。
なんで大学で、そんな事務処理実習をやらなきゃいけないんだよ。
やりたければ中年親父と混ざってパソコン教室にでも通え。
別にプログラムを書く仕事に就かなくても、
コンピュータの動作の理解を深めるには有意義だろ。
>>23 数値計算では未だにFortranで書かれたライブラリが使われている。
http://www.netlib.org/lapack/ まぁ、Cで使えるようにラップしたライブラリがあるから、
Fortran知らなくても使えるけどね。
42 :
顔偏差値15 :03/11/16 15:58 ID:AHWFX39z
プログラミングって名詞だよね?
43 :
学生さんは名前がない :03/11/16 15:59 ID:sOVwlLLr
エクセルっておいおい 文系の人向けだろ
45 :
学生さんは名前がない :03/11/16 16:06 ID:dcCQRAA+
プログラムなんてヲタが独学でやってりゃいいんだよ
47 :
学生さんは名前がない :03/11/16 16:08 ID:dcCQRAA+
動作の理解なんてどうでもいい、エクセルよりもっと役に立たん それしかとりえのないヲタは専門学校でも行ってろw
htmlってプログラミングに入るのか?
てかプログラミング初心者は何をやればいいんだ。。。?
50 :
学生さんは名前がない :03/11/16 16:12 ID:CZnKLITi
一度でいいから逝ってみたい エクセル教えるドキュソ大学 歌丸です
ヲタが必死必死w
>>47 アプリの使いかたしか知らないやつは、
ちょっとトラブルが起きただけでパニックになって
周囲を巻き込んで生産性落とすし、応用も利かないし、
何でもできる魔法の箱だと思っているから、
無茶な要求を低予算でしてくるし。
趣味で使うやつは別にいいけど、
仕事で使う気なら、ちょっとは理解しておいて欲しいな。
55 :
从 ×〜×从 は〜 ◆Haaa3fxxxE :03/11/16 21:37 ID:KZgsXVQm
56 :
学生さんは名前がない :03/11/17 05:30 ID:TGCDaq4m
うーん、四苦八苦っていうフレーズがイイねぇ〜
MicrosoftFoundationClass
59 :
学生さんは名前がない :03/11/17 21:12 ID:TGCDaq4m
OmaeraitteYoshi
C#って使うことあるの?
C言語で奇数nと実数xを入力し、 y=1-x^3/3!+x~5/5!-x^7/7!・・・・・・(-1)^((n-1)/2)*x^n/n! を計算するプログラムを作成せよ。 (ただし数学関数は使用しない) '´⌒⌒、ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ i レノノリ) リ うちの学科こんなのばっかりです。 ∫ l ノ ゚ ヮ゚ノl < 旦 ' つ_/ ̄/ 三 | ̄ ̄ ̄ ̄ ̄ ̄ ̄| \___________ | |
>>61 sin・・・とおもったら数学関数だめか。
ガンガレ〜
63 :
上総 ◆x8rJ1SmGNI :03/11/17 21:26 ID:z1oMt68/
'´⌒⌒、ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ i レノノリ) リ ↑ ∫ l ノ;゚ ヮ゚ノl < ・・・・・できまっつぇん。 旦 ' つ_/ ̄/ 三 | ̄ ̄ ̄ ̄ ̄ ̄ ̄| \___________ | |
う〜ん・・・ 与式は M=n/2として M 1-Σ{(-1)^m}*X^(2m+1)/(2m+1)! m って考えたら?
あ、Mは整数ね。ずれてるのは気にしないw
M 1+Σ{(-1)^m}*X^(2m+1)/(2m+1)! m だな。(まだ間違いありそうな悪寒・・・)
67 :
上総 ◆x8rJ1SmGNI :03/11/17 21:50 ID:z1oMt68/
>ID:TGCDaq4m '´⌒⌒、ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ i レノノリ) リ がんばってみます。 ∫ l ノ ゚ ヮ゚ノl ( ・`ァ < ・・・・・というか家じゃできないんです。 旦 ' つ_/ ̄/(J,,) | ̄ ̄ ̄ ̄ ̄ ̄ ̄| \___________ | |
>>69 (((1)))
{ ゚w゚ } <のーみそこねこねコンパイル。
ノ[へ ]ノ
>
__(^^) <ばよえーん!
/__ \
| | | |
(_) (__)
┏━━┓
┃━┏┃
┃ ┛┃ <どうしてつぶれたんだ・・・
┗━━┛
73 :
从 ×〜×从 は〜 ◆Haaa3fxxxE :03/11/17 22:16 ID:X20D0KBr
>>61 まずは奇数の階乗を返す関数を作ることから始めたらどうだろうか?
74 :
上総 ◆x8rJ1SmGNI :03/11/17 22:18 ID:z1oMt68/
>从 ×〜×从 は〜 ◆Haaa3fxxxE '´⌒⌒、ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ i レノノリ) リ 奇数の階乗を返す関数はできたんですが、 ∫ l ノ ゚ ヮ゚ノl < (−1)を交互に出す部分でつまってます。 旦 ' つ_/ ̄/ 三 | ̄ ̄ ̄ ̄ ̄ ̄ ̄| \___________ | |
75 :
上総 ◆x8rJ1SmGNI :03/11/17 22:20 ID:z1oMt68/
>ID:TGCDaq4m '´⌒⌒、ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ i レノノリ) リ 学校の演習室にこもってやります。 ∫ l ノ ゚ ヮ゚ノl < お願いしますからLAN中継アンテナ 旦 ' つ_/ ̄/ 三 さっさと立ててください。 | ̄ ̄ ̄ ̄ ̄ ̄ ̄| \___________ | | イエカラLANニハイレタララクナノニ
76 :
从 ×〜×从 は〜 ◆Haaa3fxxxE :03/11/17 22:23 ID:X20D0KBr
>>74 数学関数使っちゃダメってことはpowは使えないってことか・・・
だったら,今度は(-1)のn乗を返す関数を作ればいいのでは?
77 :
上総 ◆x8rJ1SmGNI :03/11/17 22:25 ID:z1oMt68/
'´⌒⌒、ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ i レノノリ) リ そこで詰まってるんです。 ∫ l ノ ゚ ヮ゚ノl < ifで場合わけするとややこしくなりますし。 旦 ' つ_/ ̄/ 三 | ̄ ̄ ̄ ̄ ̄ ̄ ̄| \___________ | |
78 :
从 ×〜×从 は〜 ◆Haaa3fxxxE :03/11/17 22:31 ID:X20D0KBr
こんなんじゃダメかな?超適当に作ったけどw 動作確認もしてないw double power(double n) { double a; double i; a = 1; for(i = 1; i <= n; i++) { a = a * (-1); } return a; }
これでええんでない? int hugou(int n){ if(n%2==1) return -1; else return 1 ; }
80 :
上総 ◆x8rJ1SmGNI :03/11/17 22:59 ID:z1oMt68/
>从 ×〜×从 は〜 ◆Haaa3fxxxE 数学関数つかっちゃだめなんです。 >ID:TGCDaq4m すいません範囲外のコマンドです・・・
81 :
从 ×〜×从 は〜 ◆Haaa3fxxxE :03/11/17 23:00 ID:X20D0KBr
82 :
从 ×〜×从 は〜 ◆Haaa3fxxxE :03/11/17 23:06 ID:X20D0KBr
たぶん
>>78 はstdio.hだけで動くと思うけどなぁ・・・
>>80 そうなのか。。 でも応援しておりますです。はい。
double x,y=1,dy=1; int i,j,n; for(i=3;i<=n;i+=4){ for(j=1;j<=i;j++){ dy*=x/j; } y+=-dy; dy=1; } for(i=5;i<=n;i+=4){ for(j=1;j<=i;j++){ dy*=x/j; } y+=dy; dy=1; } で一応動いたけど・・・
85 :
上総 ◆x8rJ1SmGNI :03/11/17 23:20 ID:z1oMt68/
'´⌒⌒、ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ Σi レノノリ) リ ∫ l ノ;゚ ヮ゚ノl < powerがpow()に見えました・・・・。 旦 ' つ_/ ̄/ 三 すいません。 | ̄ ̄ ̄ ̄ ̄ ̄ ̄| \___________ | |
86 :
从 ×〜×从 は〜 ◆Haaa3fxxxE :03/11/17 23:27 ID:X20D0KBr
>>85 そんな気がしてたw
がんがれ〜
あと,xのn乗を返す関数も必要になってくるから,それも作らないとね.
もし
>>78 が正しければ,
>>78 をちょいと変えれば簡単にできるかも.・.・
>>61 sinだったら初項はxだと思うんだけど
ちなみに初項xだとしたとき
double func( int n , double x )
{
int i;
double value,temp;
if( (n%2) == 0 )
return 0;
value = x;
temp = x;
for( i = 3 ; i <= n ; i += 2 )
{
temp = temp * x * x * (-1) / ( i -1 ) / i ;
value += temp;
}
return value;
}
でできると思う
88 :
上総 ◆x8rJ1SmGNI :03/11/17 23:51 ID:z1oMt68/
'´⌒⌒、ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ i レノノリ) リ 学校からみれますのでやってみます。 ∫ l ノ ゚ ヮ゚ノl < ありがとうございました。 旦 ' つ_/ ̄/ 三 ・・・書き込むにはポート規制なんとかしないと。 | ̄ ̄ ̄ ̄ ̄ ̄ ̄| \___________ | |
>>87 ウマー。等差数列とみなすか。
おそらく理解できないと思われ。
初心者にとって一番いやな教え方だなw
#include<stdio.h> double y(double x, int n); int main() { double x=3.14159/6; int n=10; printf("y(%f,%d)=%f",x,n,y(x,n)); } double y(double x, int n) { double sum,kou; int i; sum=1; kou=x; for(i=1;i<=(n-1)/2;i++){ kou*=(-1)*x*x/(2*i*(2*i+1)); sum+=kou; } return sum; } /* とりあえず骨格だけ ミスもある予感 */
…ほとんど
>>87 で既出だったようだ。
無念。不貞寝する
94 :
从 ×〜×从 は〜 ◆Haaa3fxxxE :03/11/18 00:17 ID:kyrrcoLL
やっぱ作り方は人それぞれだねぇ・・・ 教授曰く,この手のプログラミングの演習は解答が何パタ〜ンかに分かれるらしい. ちゃんと自分で作った奴と,人のをコピーした奴. まぁこれは他のレポ〜トにも言えることだけど.
从 ×〜×从 は〜 ◆Haaa3fxxxE この「は〜」をみるととても憂鬱になってくるのですが、仕様ですか?
96 :
从 -_-从 は〜 ◆Haaa3fxxxE :03/11/18 00:24 ID:kyrrcoLL
昔はこれだった
悲しみのコテハン。
保守っとこう.何気にこのスレ好き.
sick hackする。
100 :
从 ×〜×从 は〜 ◆Haaa3fxxxE :03/11/18 21:40 ID:kZF0j2DX
ageてみようか・・
101 :
学生さんは名前がない :03/11/18 21:41 ID:Z1VMoMA6
cd c-prog
emacs test.c
103 :
上総 ◆x8rJ1SmGNI :03/11/18 21:49 ID:WzFgcb7p
>102 '´⌒⌒、ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ i レノノリ) リ エディタはemacsつかってます。 ∫ l ノ ゚ ヮ゚ノl < これってうWinxpでもうごきましたっけ? 旦 ' つ_/ ̄/ 三 | ̄ ̄ ̄ ̄ ̄ ̄ ̄| \___________ | | イロワケデキルカラベンリ
うこくんじゃね?x-emacsだっけ? 漏れはmeadow だけどね。
106 :
上総 ◆x8rJ1SmGNI :03/11/18 21:55 ID:WzFgcb7p
>104 '´⌒⌒、ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ i レノノリ) リ ∫ l ノ ゚ ヮ゚ノl < 授業で使うのはemacsなんです。 旦 ' つ_/ ̄/ 三 | ̄ ̄ ̄ ̄ ̄ ̄ ̄| \___________ | |
>>106 基本的にほとんど同じだよ。
操作、機能ともにほとんどおなじ。
じゃあ学校ではFreeBSDかなんか?
108 :
無我様 :03/11/18 23:27 ID:L7QUOsL5
meadow+夜鳥でTEX書いてる・・・
>>106 NT Emacsというのがあったはず…。
cygwinについてくるのもあるし…。
でも素直にMeadowを使えばよい気がする。
110 :
学生さんは名前がない :03/11/19 00:02 ID:bhx52COA
>>109 だね。
cygwinのXで動かすemacsは重すぎて使い物にならないと思う。
俺の設定が悪いだけかもしれないけど。
Meadowが無難。
まぁ、最近俺はeclipseでほとんどやっているけど。
eclipse+CDT+mingwでC/C++もOK。
111 :
学生さんは名前がない :03/11/19 00:04 ID:GZBJHKow
授業でc言語やってるけどわけわかめです。素人からはじめるいい参考書ないでしょうか?
>>111 C言語によるプログラミング(基礎編)
独習C
あたりかな。
番兵によるソートってほんとに速度あがる?
114 :
学生さんは名前がない :03/11/19 00:18 ID:bhx52COA
>>111 「プログラミング言語C 第2版」
くらいかなぁ、C言語の本でいい本だと思ったのは。
というより、これ以外は今手元にない。
C++の本は何冊かあるんだけど。
115 :
学生さんは名前がない :03/11/19 00:31 ID:1F5N0x4R
>>114 それは初心者が読むには難しくない?
ある程度理解してる人がリファレンスとして使うにはすごくいい本だと思うけど。
117 :
学生さんは名前がない :03/11/19 00:59 ID:bhx52COA
>>113 番兵使う場合って、普通は比較演算の回数が減るから
多少は速くなるはず。
データ個数がある程度多くないと実感はできないかもね。
>>115 入門用に勧められるのは無いよ・・・
1.プログラミング言語C++ 第3版
2.Effective C++
3.More Effective C++
4.CプログラマのためのC++エッセンシャル
5.GNU C++プログラミング標準講座
1は本気でC++やる人は必須だと思う。
Cでは
>>114 がバイブルだけど、それを真似して書かれたもの。
2、3は中級者以上向け。
4は読みやすいけど、なんか物足りない。
5はLinuxでC++プログラミングをする人にはお勧め。
周辺のツールとかライブラリとかについても、少し載っている。
118 :
从 ×〜×从 は〜 ◆Haaa3fxxxE :03/11/19 00:59 ID:sY7icryE
meadowは昔入れたけど,結局使わなくなってアンインスコしてしまった. もう一回インスコしようかな・・?
119 :
# :03/11/19 01:00 ID:Xgj6Zjej
tesut
>>116 俺もこの本はかなり後になってから買ったから、
これで入門したわけじゃないし、通読もしていない。
けど、入門したときにこれが手元にあれば良かったと思う。
中学のときに適当な入門書で始めたんだけど、
それのタイトルとか覚えてないんだよね。
あまり良い本じゃなかったことだけは覚えている。
K&R は載ってるプログラムがおもしろいんだよね。 「Cの宣言が読みづらいので、読みやすく出力」とか。
やっとゼミのプログラミ出来た。 比較文を代入文にしてたり、変数名間違えたり、変なとこでミスりすぎだ。
123 :
学生さんは名前がない :03/11/20 00:35 ID:dGSDEyLI
麻奈のやさしいC++は読みやすくていいぞ。
126 :
学生さんは名前がない :03/11/23 21:15 ID:ncar+M81
10行中に必ず一個ミスがある罠 んで、保存していないときに限って窓が落ちる
おそらく、プログラムを勉強した人のほとんどは、文法は理解できてもプログラムは書けないですよ。もうだめぽ
>>127 プログラムの勉強はプログラムを書くことだと思う。
129 :
从 ×〜×从 は〜 ◆Haaa3fxxxE :03/11/23 23:28 ID:UB52Q4+D
>>128 同意.本読んで勉強するより実際にプログラムを書いた方が良い.
変数名考えるときが一番悩む。
131 :
情報学科 :03/11/24 00:06 ID:GBGp7B48
プログラミングで将来飯食っていけるだろうか・・・ 適性テストとかやるとプログラマーに向いていると言われるが・・・
>>131 できればプログラマーはやめたほうがいいらしい
一日中パソコンに向き合って鬱状態になるらしい
マ板とか行くとそれはまあ悲惨そうだしな・・・
135 :
学生さんは名前がない :03/11/24 00:48 ID:PQtuGUNB
>>130 たしかに悩む
俺の先輩に関数名を今まで付き合った女の名前にした猛者がいた
一日中2ch見るのなら楽勝なんだがな…
137 :
学生さんは名前がない :03/11/24 01:55 ID:gwtqhesA
エラー処理は必ずいれること。
138 :
学生さんは名前がない :03/11/24 10:32 ID:/VISr0/p
>>135 猛者というか馬鹿だな。
まぁ、ネタでやったんだと思うけど。
仕事でそんなコード書きやがったら、俺はキレるね。
139 :
学生さんは名前がない :03/11/24 10:39 ID:S+HMjyO4
俺の知り合いはプログラムを組むのかなんかようわからんけど月40万くらいかせいでたな 凄いと思った。多分大学でTOPレベルの知識があると思う。教授に教えてるくらいだし。C++だったかな。あんまり知らないけど
140 :
学生さんは名前がない :03/11/24 10:43 ID:u6g9a+Ij
>>139 数学や物理とかと違ってプログラミングは教授だからってできるってもんじゃないぞ。
141 :
学生さんは名前がない :03/11/24 10:56 ID:/VISr0/p
>>139 俺も大学が忙しくない月はそのくらい稼ぐけど、
周りのやつと比べて、それほど飛びぬけて知識があるとは思わない。
特定の分野の知識だけあればやれるよ。
ほとんど同じ仕事だから。
>>140 むしろ、研究者って苦手な人が多いかも。
プログラミング言語の研究者とかは別だが。
大学のプログラミング授業ってプログラマーになるためのもんじゃないよな。 嫌々勉強してプログラマーになれるなんて甘いもんじゃないし。 単位だけ取って適当なところに就職さえできればいいと 思ってる香具師が多い時点でプログラマー育成は不可能だしさ。 机上の理論とかハード系の学科ならいいかもしれないけど、 それ以外の最近流行りのメディアとか情報とか付くプログラミング授業を 積極的に取り入れてる学科は何がしたいんだろう。
プログラマーなんて根性さえあれば誰でもなれる。 肉体労働だしな。
アッハッハ
急いでる時は関数の名前を日本語にします あとで見られると恥ずかしい…
Javaかよ
たとえば koyuutiとかkurasutaとか…
eigenvalueがkoyuutiと書かれてたら面食らうかも知れん…
151 :
学生さんは名前がない :03/11/24 23:59 ID:rK2Wn7VH
プログラム全然分からんのだけど。 Cでソース書いた後、どうやってコンパイルするの? 上手くできない。 マジレスしてください。
>>151 質問の意味がよく分からないんだけど、コンパイラを持ってないってこと?
エラーが出てコンパイルできないってこと?
コンパイラを持ってんなら コマンドプロンプトからやったりする。 俺はVC++もってるから、ボタン一個でできる。
コンパイラーが無いんだろ?
155 :
学生さんは名前がない :03/11/25 00:24 ID:T+GltB0j
151です。 はい、コンパイラ無いです(つД`) それからぶっちゃけソースは何に書けばいいんですか? microsoftC++使ってるんですが、新規作成でC/C++ヘッダーファイルとかC++ソースファイルとかいっぱいあって・・・ それとも使い方間違ってますかね?? 講義続けて休んじゃってチンプンカンプンです(つД`)
「猫でもわかるプログラミング」にでも行ってみれ…
157 :
学生さんは名前がない :03/11/25 00:59 ID:T+GltB0j
>>156 何となくやれそうです。
どうもありがとうございます。
よーし、頑張るぞ!
プログラムスレって復活する度にレベルが変わるよね。オモシロイ。
159 :
学生さんは名前がない :03/11/26 11:50 ID:AU4Io5b9
>>158 そして、1000まで行かずに落ちるよね。
というわけで、保守。
このスレの人ってCとC++どっちが好き?
Dかな
162 :
学生さんは名前がない :03/11/26 18:41 ID:AU4Io5b9
>>160 C++のほうが便利だな。
つうか、C++はCを含んでいるから、
比較にならん気がする。
C++とJavaの比較のほうがやりやすい。
>>162 そういう意味じゃなくって
なんかcin,coutはしっくり来ないとかそういうこと.
まあどうでもいいんだけどね.
とりあえず俺はjava嫌い派
久しぶりにCで書いたつもりがC++だったりしてコンパイラに怒られたり。 JAVAはライブラリの保守が煩雑で嫌い。
165 :
学生さんは名前がない :03/11/27 00:42 ID:lE1xU5Ds
Javaは楽だと思うけどね。いろんな意味で。 特にあれだけ標準ライブラリがあるのが。 けど言語の思想的にはC++のほうが、俺は好き。 JavaがC++みたいに複雑になると、Javaの良さが無くなるけど、 せめてtemplateくらいは無いと、Collectionが使いづらい。
>>166 JDK1.5から導入されるって話は聞いた事あるんだけど、
確定なのかな?
今は、
ArrayList/*<String>*/ list = new ArrayList();
と書くようにしているけど。
けど、やっぱりPrimitive型には対応してくれないみたいだ。
Javaのそういうところが嫌いだ。
169 :
学生さんは名前がない :03/11/27 21:43 ID:h/l6EYZu
Cもろくに理解してないのに、Linuxのデバドラいじって、 最近はマルチスレッド・プロセスなプログラムを書くハメに。 カーネルに食い込んじゃえばなんでも出来るから便利だけどすぐあぼーん。 卒論かけるかな。
170 :
学生さんは名前がない :03/11/28 18:53 ID:F1zDTcVS
>>168 パッチってearly accessだろうが。
仕事でそんなものを勝手に使うわけにはいかないんだよ。
バイトだけど、遊びでやっているわけじゃないんでね。
early accessで既に使えるからといって、
次期バージョンで正式にサポートされるとは限らんでしょ。
まぁ、可能性はかなり高いけど。
171 :
从 ×〜×从 は〜 ◆Haaa3fxxxE :03/11/29 02:33 ID:+3wS1Wvl
深夜にageてみる
>>160 僕はCですね.
coutとかしっくりこないw
>>160 C のほうが好き。
C++ はでかいし複雑すぎる。
Java は悪くはないけど、言語仕様がきつめなのと、ライブラリがでかいのが嫌。
>>160 C++。
クラス便利だから。
coutがしっくり来ないのは同意なので、printfも使えるようにしてる。
>>172 Javaのライブラリ、便利だと思うけどね。
調べるのと自分で作るの、どっちが楽かってことか。
Javaの言語仕様がきついのは、プログラマを信用していないから。
C++はプログラマが優秀であると信用して、何でもさせてくれる。
だから、下手なやつがC++で書くと、とんでもないことになる。
>>173 #include <cstdio>
using namespace std;
ってやれば普通に使えるから、つい使っちゃうよね。
真のC++使いから見れば邪道なんだろうけど、
マニピュレータ面倒くさい。
↓boost::formatとか書いたらウンコ
ブーストフォーマット
みんなCとかばっかなのか? VBの人とかいないのか……?
178 :
172 :03/11/30 17:10 ID:FDAooI0h
>>174 Java だとコード書いてるのか、クラス探してるのかって感じで、あんまり楽
しくないんだよね。
プログラマを信用してない仕様もあって、「オシゴト」って感じが強い。
179 :
从 ×〜×从 は〜 ◆Haaa3fxxxE :03/12/01 02:20 ID:8ER8kIFa
皆さんはやはり情報科学系の学生ですか?
180 :
学生さんは名前がない :03/12/01 02:57 ID:KlcmVjUp
超音波センサとか赤外線のセンサを、いつか作ってみたいなぁ。。
法学科だけどプログラミング極めたい。
>>179 電気電子です
プログラムは使える程度は習得しないとな
>>181-183 レスさんくす.
ちょっと聞いてみたかったw
僕は機械系です.Cやってます.用途は主に科学技術計算.
185 :
学生さんは名前がない :03/12/02 01:27 ID:4MSBS15g
age
今期のスレはプロいからまた今度来る。
188 :
学生さんは名前がない :03/12/02 21:40 ID:WRdpQrmI
みなさん凄いですね。 憧れます!!!!
190 :
学生さんは名前がない :03/12/02 22:04 ID:4MSBS15g
ガウス法のプログラムを作成しなければならないのですが #include <stdio.h> #define n3 /* 連立一次 n 元方程式 */ main() { int i,j,k; double a[n] [n+1]={ {3,2,1,10},{2,5,2,18},{1,4,1,12} }; double d; この先をどなたかやってくれませんでしょうか?変数は何でもかまいません
この先っていうか・・・一から全部じゃん。
192 :
学生さんは名前がない :03/12/03 02:50 ID:kekKZ6Sr
APIとクラスライブラリの違いがわからん・・・ どっちも関数の集合体でしょ?
193 :
学生さんは名前がない :03/12/03 03:27 ID:FknuzxLf
クラスライブラリはクラスの集合体
194 :
学生さんは名前がない :03/12/03 06:06 ID:kem05D/d
>>190 俺のPCの中とか研究室のHDDの中とか探せば、
昔課題で作ったやつがあると思うけど、面倒くさい。
LU分解とかピボット付きLU分解とかもあると思う。
ガウスの消去法なんて、連立一次方程式解くプログラムの中で
一番簡単なんだから、自分でやれ。
もっとも、実際に連立一次方程式解かないといけないときは、
そんな方法使わないけど。
>>192 >>193 Javaの場合は、APIもクラスの集合だな。
APIってのは、処理系がアプリケーションのプログラミングのために
用意している窓口。Application Program Interface
Win32APIといったら、Windowsがプログラマに公開している関数群のこと。
JavaAPIと言ったら、Java Runtime Environmentが標準で用意している
クラス群のこと。
APIをラップして作られた、より高機能な関数群・クラス群を
関数ライブラリ・クラスライブラリなどと呼ぶ。
197 :
学生さんは名前がない :03/12/03 12:39 ID:FknuzxLf
>>195 APIをラップしないクラスライブラリ・関数ライブラリなどいくらでもある
Win32APIが提供するのは関数だけじゃない
>APIってのは、処理系がアプリケーションのプログラミングのために
処理系じゃなくてプラットフォームだな
>>195 >>197 クラスライブラリも関数群も、APIの一種じゃないか?
どっちも Application Programming Interface なんだから。
それともシステムコールの意味で API って言ってる?
199 :
学生さんは名前がない :03/12/03 23:05 ID:kem05D/d
>>197 > APIをラップしないクラスライブラリ・関数ライブラリなどいくらでもある
確かに。
APIとライブラリの関係をわかりやすく説明しようと思ってああ書いたけど、
正確じゃなかったな。
> Win32APIが提供するのは関数だけじゃない
クラスって含まれていたっけ?構造体は有ったけど。
まぁ、そういうデータ型も含めてAPIか。
>>198 > クラスライブラリも関数群も、APIの一種じゃないか?
> どっちも Application Programming Interface なんだから。
Appication ProgramがOS等にアクセスするためのInterfaceだから、
一般的なライブラリとは異なる。
行列演算ライブラリのCLAPACKなどを、APIとは呼ばないだろ?
ところで、ProgramとProgramming、どっちが正しいんだろ?
検索したら、両方あるんだよな。
>>196 ありがとうございます。いま一年なのですがC言語嫌いです・・・機械工学科なのですが・・
春休みに勉強したいと思います
201 :
学生さんは名前がない :03/12/04 00:49 ID:rKLnnRfz
Application Programming Interface じゃないか? Application Program Interface じゃ意味が通じないと思う
202 :
学生さんは名前がない :03/12/04 04:35 ID:VYCQNNc1
204 :
198 :03/12/04 17:48 ID:Z/tNy/9d
>>204 OS「等」って書いた通り、OS限定ではないよ。
>>197 がプラットホームって言っているけど、
それで合っているんだと思う。
プラットホームの定義が人によって違ったりするけど。
ただ、明らかにAPIとは呼べないライブラリも存在するわけで。
ライブラリのほうが広い概念なんじゃないか。
('A`) ナントナクboostでもいじってみようと思った
プログラミングは何からはじめたらいいんだ?
208 :
学生さんは名前がない :03/12/04 19:46 ID:VYCQNNc1
久しぶりに来たけど、惜しげもなく無知を披露して
突っ込まれてキレていた専門神はまだいたのか。
boostもいいけど、もっと基本的なことを学んだ方がいいよ。
>>204 UNIXだとPOSIXが有名か。
GNOMEのgtkはライブラリ的な意味合いが強そう。
>>205 ライブラリってのは誰かさんが書いたルーチン群だよ。
209 :
学生さんは名前がない :03/12/07 00:58 ID:dpb7HFMQ
boost::spirit変態的プログラミング
210 :
学生さんは名前がない :03/12/07 01:02 ID:RV9MqeM3
>>207 とりあえず日経の
プログラムはなぜ動くのか
コンピュータはなぜ動くのか
を読むことから始めれば?
211 :
学生さんは名前がない :03/12/07 01:08 ID:dpb7HFMQ
へローワールドしか書けません
213 :
学生さんは名前がない :03/12/07 13:35 ID:X15qioNc
ちょっとCの質問。 freadって改行文字読み込まないの?
そのくらい関数リファレンス見るなり 実際にプログラム書いてためしてみるなりすれば すぐ分かることだろうに
そんなこというとスレがまた落ちます・・・
じゃあ∩(゚∀゚∩)age
つ|lex/yacc|
223 :
学生さんは名前がない :03/12/07 23:11 ID:lRfDEgQh
>>207 Visual Basicから始めたら?
224 :
从 ×〜×从 は〜 ◆Haaa3fxxxE :03/12/08 02:00 ID:2WkaUvZd
>>223 何が目的かに依るんじゃないのかな?
言語には分野による向き不向きはあるからねぇ・・・
数値計算だったらfortranやC,ネットワークだったらjavaかな・・・?
漏れもあまり詳しいことはわからない.Cしか書けないし.
225 :
从 ×〜×从 は〜 ◆Haaa3fxxxE :03/12/08 02:00 ID:2WkaUvZd
>>221 しょぼいというか、凶悪だな。
まぁ、アイデアとしては面白いと思うが、実用で使う気にはなれん。
演算子の本来の意味と大きく外れるようなオーバーロードは
やっちゃいけないだろ。
lexマンセ。コンパイラつくりたくなる。
boost::spiritは確かに変態。でもそんな変態が好きです。 漏れも通信処理を通信相手のオブジェクトと通信データを 演算子で結ぶことで書く変態ですから。 でもコンパイラ作りはやっぱlex/yaccか
229 :
学生さんは名前がない :03/12/08 19:36 ID:Xd7Pkw34
>>228 socket soc(HOST, PORT);
ostream os = soc.get_ostream();
os << "asdfasdf";
こんな感じ?
通信のプログラムほとんどやったことないから適当だけど、
このくらいなら通常の用途だと思う。
変なことをやるやつがいるから、Javaでは演算子オーバーロードが仕様に含まれていない。
Stringだけは、利便性を考えて+が使えるようになっているけど。
Dはオーバーロードできるよ。 C++より賢く。
>>229 そんなところ
iostreamのそれを真似た感じで
Javaは言語仕様を厳しくしてプログラマの自由な発想を
奪っているというイメージがあるね。usigned型すらないんだから...
232 :
学生さんは名前がない :03/12/08 22:15 ID:Xd7Pkw34
>>231 別にunsignedくらい無くても困らんだろ。
基本的に、メモリは無限にあるものと考えるのがJava。
凡人が自由な発想で作ったプログラムは、
他人にとっては糞コード。
チーム全員が作法を守ってくれるなら、
Javaを使う意味は半減する。
Javaを使う意味 バカでもモノを作れる っていうね
バカでもプログラマになれる時代にC++は合わないんだろうな。 JavaとかVBとかが輝いてる。
時代に合わなくても必要性は根強い C++ってOO対応の高級マクロアセンブラだべ? C++無しで低レベルレイヤのプログラムを書くのは不可能に近い
>>235 本当に低レベルだと C のほうがいい。
C++ より C のほうがゆるいから。
>>234 > バカでもプログラマになれる時代
この表現は適切じゃないだろ。
「バカでもプログラマとして使わないといけない時代」だな。
急激に需要が膨らんだから、プログラマを量産しなければいけなくなった。
C++をある程度のレベルで使えるまでに教育するより、
JavaやVBを教えたほうが、即席プログラマを作りやすい。
それと、Webアプリケーションの需要が多いことも、Javaがもてはやされる理由のひとつ。
そこらへんは、ただの標準規格なのか企業の後押しがあるかの違いもかなり大きい。
238 :
学生さんは名前がない :03/12/10 03:42 ID:TZgyDLGK
>>237 あとあれだな。
脱・汎用機,脱・メインフレームの過程でまずソフトウェアを
移行してその後ハードウェアをPCに更新するために,
ハードウェア依存のないJAVAがもてはやされる理由だろうな。
239 :
学生さんは名前がない :03/12/10 03:53 ID:5/cuVqKp
時代について行かないとね。
ぜんぜん四苦八苦してるように見えないのですが…
>>240 あー
ここの連中のかわりにオレが
Perl/CGIで
ファイル開いて書き込むのを試すだけで2時間かかったり( 行末の ; が無かった
みごとに七転八倒してるから大丈夫
242 :
レフ子 :03/12/10 05:02 ID:FiN7s1zb
プログラムのコツはパクることよ。パクリパクリでそこそこのプログラムはつくれるわよ
あぅー、今日中にCGI変更しなきゃいけないー。マンドクセ。 風邪ひいてる時はプログラムなんて見たくもね。
244 :
从 ×〜×从 は〜 ◆Haaa3fxxxE :03/12/13 01:33 ID:DzWwvufI
age
245 :
学生さんは名前がない :03/12/13 02:20 ID:iJ6zbWcK
資料が皆無でデータの流れがわからず試行錯誤しないと作れないうえ、 debugger無しな環境でprogramを作成中wwwwwっうぇ
>>246 debugger なんていらねえよ、printf
puts相当は作ったからwwwwwsprintf使ってprintfっぽいことやってるぜwwwwwっうぇ OSバカだから関数ポインタNULLにしといたらwww勝手に落ちやがってんのwwwwwwっうぇ
249 :
学生さんは名前がない :03/12/13 21:20 ID:0RY6X58E
>>247 stdout じゃなく stderr に出力しろよ
つーか原因底其処じゃねーしwwwwww をれ池沼wwwwwっうぇ
それは 必然で偶然の出会いでした
初めて触れたその手も言葉も 氷みたいに冷たかった
見送るしかできなかった背中が切ない
お願い 振り向いて この手に触れて
私はあなたを溶かす 温もりになりたい……
'⌒ヽ
. /^X´⌒`Xヘ /^〈〉゙⌒'〈〉ヘ
i i lノリ))))〉i i i i(((((ノ)) i i Clover Heart's −クローバーハーツ−
| | リl.^ヮ゚∩l | | li∩゚ヮ^lリ | | ジャンル:対視点型恋愛コミュニケーションAVG
.ノノ⊂)廾!ノノ. ノノ ヽ!廾(⊃ノ 価格(税別):8800円
" く/_|j〉 " く/_|j〉 好評発売中!!
(_/ l_) . ヽし'
実況:
http://vip.bbspink.com/test/read.cgi/hgame/1071084913/
hoge サービスは次のエラーのため開始できませんでした: 指定されたサービスは無効であるか、または有効なデバイスが関連付けられていないため、開始できません。 _| ̄|○
253 :
学生さんは名前がない :03/12/17 23:24 ID:7innim66
よくわかんないけど 一般的にUNIXとWindowsでC言語の開発環境って違うんだよね? UNIXのPCで使えた関数(stdlib.hのsrandom関数)がWindowsの環境じゃ使えなあい。 UNIX満足に使いこなせないからつい家のwindowsのPC使いがち、、、、、
254 :
学生さんは名前がない :03/12/18 02:48 ID:0FhDiaI9
遠足は家に帰るまでが遠足ですよ。 プログラミングは説明・考察を書き終えるまでがプログラミングですよ。
Cで配列を使ってデータを小さい順にソートするプログラムって簡単にできませんか?
>>254 大抵その説明は自分にしかわからないのだけどね。
>>255 配列の要素数を超えるデータ数だと簡単とは言い切れなくなる。
258 :
学生さんは名前がない :03/12/18 04:41 ID:Nbuc64RE
>>255 ヒープソートとかバブルソートあたりでぐぐれ。
個人的には単純な割にパフォーマンスのいいヒープソートが好きだ。
>>257 >配列の要素数を超えるデータ数だと簡単とは言い切れなくなる。
意味不明、要素数を超えるデータなんか入るわけないじゃん。
と思ったけど240あたりから読んでみると「wwwwwっうぇ」だらけ。
なるほど、そういうキャラですか。
>>258 純C言語で配列の動的確保を行う必要があるからそう言ったんでないの?
260 :
学生さんは名前がない :03/12/18 05:17 ID:g+TcvdDv
まぁなにはともあれ◆yhYuri7mb.こいつは嫌い
>>253 srandom は BSD 4.3 準拠。
srand なら Windows にもあると思う。
255がヒネクレている場合を想定しての257なんだけどなー。
データの与えられ方と量に指定が無い以上、
配列のsize < データのsize
となることも有り得るわけで。
>>258 お前しつこいよ
確保可能なメモリ < データのsize と書くべきだったか。 例えばふつ〜のWindowsを、ふつ〜に使っていると、 一つのproccess当たり2[GB]を超えるメモリは確保できないしね。
265 :
学生さんは名前がない :03/12/18 20:44 ID:rQNw96PF
触らぬ神にたたりなし。なむなむ・・・。
ホトケ ホットケ カミ カカワルナ・・・
268 :
258 :03/12/18 21:06 ID:rO7EhrL5
知障というより白痴だな。 しつこいって意味を知らないし。
つまるところ専門神は「俺はファイルソートのプログラムが組めるんだぞ、凄いだろ」と
をれSUGEEEEEEEwwwwwwっうぇ とでも書いておけば喜ぶのかね?
もうNGワードに登録したから好きに書いていいよ。
273 :
学生さんは名前がない :03/12/18 21:27 ID:Cbh3XJZb
俺もあぼーんにしておいた。
>>272 、
>>273 なんでもかんでもNGワードに入れるのは負けなんだよ!!
気に入らなくても心を通わせる努力をしろ!!
俺はROMだけだが、専門神('A`) ◆yhYuri7mbさんは好きだ。
漏れの中では◆yhYuri7mb.==帝京なめんな
なんでこんなに専門神('A`)が叩かれてるのか。。
神を名乗ってるからだろ
固定を集中攻撃って禁止じゃなかったっけ?
気に入らない香具師はスルーしておけ。
>>276 俺が嫌いな理由は、攻撃的なのと知ったかぶりするから。
すぐ絡んでくるし、一見詳しいようだけど的はずれな発言多し。
つうか、ファイルソートはFile I/Oの関数の使い方さえ覚えれば容易に書けるようになるけどね メモリ上に一度に確保できないほどの大容量のデータを、どっから読み込んでくるかって ファイルからなわけで、そんなんどのみちFile I/O関連解ってないとプログラム書けないわけで
>>278 1 攻撃的
2 知ったかぶりする
3 すぐ絡んでくる
4 一見詳しいようだけど的はずれ
2〜4はとりあえず置いといて、ここでは大して攻撃的ではないつもりなんだがな。
283 :
学生さんは名前がない :03/12/21 06:40 ID:JEmRIzk7
>>261 rand,srandはいろいろ問題があるから、
random,srandomが作られたんじゃなかったっけ?
まぁ、random系も問題があるみたいだけど。
http://www001.upp.so-net.ne.jp/isaku/rand.html もし気にしないなら、全部rand,srandに置き換えてしまえばVC++とかBC++でも使えるはず。
どうしてもrandom系を使わなきゃいけないなら、
CygwinなりMinGWなりを入れてしまって、gcc使えば問題なし。
>>258 ANSI標準にqsort関数があるでしょ。比較関数さえ書けば、ソートアルゴリズムを書く必要は無い。
クイックソートで良ければの話だけど。
ファイルソートって、ある程度までメモリ上でソートして、
その後ファイル使ってマージソートすれば良いのかな?
それなら簡単だね。
IDがVBAだから来てみた。
乱数は面倒くさいからMersenne Twisterを使ってる。
C++でクラスにしてあるから、インスタンス作るだけで初期化も適当に行って
結構便利に使えている。
UNIX系列なら/dev/random/を叩くのが手っ取り早そう。
ソートみたいな基本的なことで頭を悩ませるのは建設的じゃないから
>>283 の言うようにqsort()でも使った方がいいのは同意。
C++ならSTLのsort()があって、こっちはqsort()よりだいぶ速い。
qsortが遅い理由は大小比較のために自作の関数をコールしてるからだと思うけど STLならインライン展開されるからね。
あと、古いバージョンのsrand()、rand()は下位ビットがランダムじゃないという 問題があったからsrandom(), random()が作られたんだっけ。 最近のGCCはどっちも同じ実装になってるんじゃないの? Linuxのman引くとrand() % n は使わずに int( double( rand() ) * n / RAND_MAX ) 使えとか書いてあるけど、まああくまで古いバージョン使う場合ね。 特に気を遣う必要なし。 偏りがあるかどうか自分でモンテカルロ法使って分布調べてみたら? 俺はVC++使ってるが、標準のrand()でも、下位ビットの分布に特に偏りは 感じられなかった。
ググれば見つかるけどな、C++ Class版
>>286 余りを使うのは危険かも知れないよ。
仮にRAND_MAX=16として、rand() % 10といったことをすると
1〜6までの出る確率が多くなってしまう。
というのも、1〜6が出るのは、元々1〜6が出た場合と
11〜16が出た場合が両方とも該当する。
0からだった
俺もミスしてた。後者の式は int( double( rand() ) * n / (double(RAND_MAX) + 1.0) ) だったかな。 まあ0〜15だとするか。 0, 1 →0 2, 3 →1 4 →2 5, 6 →3 7 →4 8, 9 →5 10, 11→6 12 →7 13, 14→8 15 →9 どのみち偏るわけで。 VC++ の場合RAND_MAXは32767で、0〜32767までの疑似乱数が作られることになる。 mod 10の場合、理論上、0〜7がそれぞれ平均3277/32768、8〜9がそれぞれ平均3276/32768 の確率で出ることになるけど、実用上はこれくらいでも問題ないし、もしこれが気になるなら 32760〜32767が出たら切り捨てて読み直せば良いだけの話。 それに、mod 16とか理論上偏りが出ない筈のケースでも、偏りが出ないとも言えない。 あくまで「疑似」乱数に過ぎないので。
しゃるに対抗するすくりぷとつくろうぜ。ってか、作れ。
で、剰余を使うとどの程度危険が増すんだろうね? Pfalzgrafくらい丁寧に書けば煽りは来ないのかね?
295 :
学生さんは名前がない :03/12/24 01:54 ID:58E3h2cj
>>292 >VC++ の場合RAND_MAXは32767で
んじゃあ、30000で割った余りだったらどうだろう?
疑似とはいっても、できることなら全て等しい
1/RAND_MAXの確率で現れて欲しいと期待して使っているが、
0〜2767が出る確率は2/RAND_MAXになる。
RAND_MAXに対して十分小さい数ならいいんだけど。
296 :
学生さんは名前がない :03/12/24 02:23 ID:jDa32ba9
>>295 >>292 の内容理解できているか?
modじゃなく上位ビットを使う方法にしたところで、
RAND_MAXに近い数の乱数を発生しようとすれば、
1/RAND_MAXの確率で現れる数字と2/RAND_MAXで表れる数字に分かれる。
それが連続しているか、292みたいに全体に分布しているかの違いはあるけど。
RAND_MAXに近い乱数を使いたければ、
複数の乱数を組み合わせれば良いのか。
>>296 理解できてるよ。
>RAND_MAXに近い乱数を使いたければ、
>複数の乱数を組み合わせれば良いのか。
たぶんこれが妥当だろうね。
32bitを2つ繋げれば擬似的に64bitの乱数になるから
その上でmodとれば比較的きれいな乱数になるはず。
>>297 32767は16bitだから、二つ合わせて32bitだな。
今ならほとんどの環境でintで扱えるね。
俺なら、30001より大きければ、再度乱数を生成するようなコーディングにするけど なんかデメリットあるか? 16bitの乱数二つから、偏りの無い32bitの乱数を作ろうと思ったら どうしたらいいの? そんなに簡単に作れるものだとは思わないんだけど。
300 :
299 :03/12/24 10:35 ID:Vdg+fkIm
スマソ。 片方を16bitシフトして、和算すればいいだけですね。
0〜32767なら、16bitじゃなくて15bitだけどね
もし組み合わせるなら、こうだね。
rand() << 15 + rand()
それと
http://www001.upp.so-net.ne.jp/isaku/rand.html ここに疑似乱数の仕様のうんちくが書いてあるけど、VC++のにもいろいろ問題があるらしいし
RAND_MAXのサイズは処理系にも依存する。
もし使えねぇと思うならメルセンヌ・ツイスター使っておけば良いんでないの?
いま知られてる中では最良の疑似乱数生成アルゴリズムだし。
ただ、VC++やGCCのよりは重い。
つ|Mathematica|
303 :
学生さんは名前がない :03/12/25 03:03 ID:hk1I4GOE
>>301 既にMersenne TwisterをC++でラップしたのを使ってるよ。
ソートとか乱数とか研究するには深いのかも知れないけど
基本的な事柄で頭を悩ませるのはあまり得策だとは思わない。
大学生が疑似乱数に悶々するスレ
305 :
学生さんは名前がない :03/12/25 19:06 ID:eKFTJvwH
>>303 まぁ、実用を考えた場合、それが正解だろうね。
既存のライブラリをうまく使う技術って、結構重要。
ただ、そこまで気を使わないでrandでもいい場合もあるわけで。
そこらへんは、何を作るかによるわな。
シミュレーションとかだと乱数の性質にきをつかうわなぁ。
307 :
学生さんは名前がない :03/12/25 22:48 ID:g452ep1x
>>306 やっぱ、シミュレーション言語とか使うんですか?
308 :
306 :03/12/25 23:28 ID:EzA+JP34
java=shit!
RubyのrandはMT使ってるらしい。 何も考えずにrand(10)とかやれば0〜9の乱数作ってくれますよ。
311 :
学生さんは名前がない :03/12/27 23:02 ID:eBz8NWOJ
Visual Basic語れる奴いるか?
あー来期から習うわソレ
来年就職なんだが、 入社後しばらくはCとC++の研修をやるらしい。鬱
今からcだけでも独学しとくといいと思う。
315 :
学生さんは名前がない :03/12/29 01:52 ID:12fW8mZk
どの程度どういうことを勉強したらロボット選手権で優勝するようなロボットを動かせるようなプログラムが書けるのでしょうか。 電子工作とかも必要なんでしょうが、プログラムとしても複雑そうだと思っているのですが。 どなたか経験者の方とかいませんか。
>>315 まず、CPUとして何を使うかを決めなされ。PIC、AVR、H8などなど。
電子工作はじめてならPIC、AVRなんかの1チップマイコンがいいと思う。
でも、ある程度の規模、速度の回路になるとH8とか使うかな。
実際、大会でてるロボはH8が多いかも。
まぁ、大会優勝って結構大変だし、まずは簡単なライントレーサから作ってみるといいよ。
AVRだとgcc使えるし、H8もC言語使える。
組み込み系のプログラミングもなかなか(・∀・)イイよ!
とりあえず保守
ActionScript使いはいらっしゃらないか
Boost使ってる奴いねー?
322 :
学生さんは名前がない :04/01/06 01:24 ID:z4svHb4J
>>321 Interface2月号に、ちょっとだけ記事が出ているね。
使ってみようかとも思ったが、メンドクセェ。
いずれ使い勝手のいいものは標準ライブラリにマージされるだろうし。
それにしても、Interfaceってもっとハードウェアよりの雑誌だったと思うんだけど、
最近、ソフトよりの記事が多くなった気がしない?
>>321 昔、BCBで使おうとして挫折した・・・。
325 :
学生さんは名前がない :04/01/06 07:44 ID:6RPx/rvC
難しいんだよプログラミングは
C言語ってどれくらいで覚えられるの?
覚えるだけなら1週間でいい。
328 :
学生さんは名前がない :04/01/07 18:37 ID:8ls6v887
>>320 亀ですけど、まかーじゃないですよ。
Lingoに手を出そうか迷ってます。
ActionScriptはFlash用のスクリプト言語だろ マクのはAppleScript
AppleScriptってまだ健在なのかな。
332 :
学生さんは名前がない :04/01/09 04:26 ID:7G6RsNbp
>>325 俺に取っちゃ、英作文のほうが難しい。
いや、日本語作文すらプログラミングより難しい。
333 :
学生さんは名前がない :04/01/09 04:33 ID:HKZbdw6u
ぬるぽ
ガッ
335 :
学生さんは名前がない :04/01/09 14:39 ID:MOQgls1G
>>331 健在、つーか弱小プラットフォームだからってすぐに衰退すると思うのは
世界中どこへ行っても英語でOKと考えるアメリカ人と大差ない。
336 :
学生さんは名前がない :04/01/09 15:53 ID:92Sg0/c2
筑波大の登くんみたいな天才になってみたかったなぁ。 SoftEtherマジ便利。
>>336 筑波大に入ってたのか
あの年で本だしてるしすごいな
338 :
学生さんは名前がない :04/01/09 19:02 ID:X339XuSp
ActiveScriptって聞かなくなったな、と。
>>338 何か書いていたっけ?
ここ二年ほど何もしていなかったと記憶しているけど。
ActiveScriptってWSHのことか? ウィルスの実行環境としてまだまだ健在だろー?ww
>>340 何か違う気もするが、私も詳しいことは知らない。
>>338 本を出すといったらやねうらおはすごいのかどうかわからない。
342 :
学生さんは名前がない :04/01/11 05:40 ID:rjJAGZ/d
>>337 どんな本出しているかとおもっって検索してみたら、
全部ムック本か?しかもI/O・・・
まぁ、それでもあの歳で原稿依頼が来ること自体すごいが。
「XP 時代の VC++ プログラミング」ってのがあったから、
XPみたいな開発プロセスも理解しているのかと思ったら、
WindowsXPのXPかよ。紛らわしい。
343 :
学生さんは名前がない :04/01/11 06:14 ID:e7WSOM0k
>>342 俺には原稿依頼なんか来ないけど、実力があれば結構書かせてくれるらしい。
ホームページで充実したプログラミング講座でもやっていたり
Cマガあたりの常連になるとか、2chで名前が頻繁に挙がって
あちこちからリンク貼られるようになれば可能性はある。
日本語で手に入らない情報をうまくまとめておいたりするといいみたい。
SoftEtherの開発といい実力はもちろん、目のつけ所がいいんだろう。
HTTPSにEthernetフレームを載せるのは俺には思いつかなかったが
アイディアと時間と実力があれば他の人でも作れただろうし。
344 :
ホシュ :04/01/14 13:12 ID:3M37n5Va
四苦八苦してますがなにか?
345 :
age :04/01/15 16:30 ID:XIAN383n
七転八倒してますがなにか?
346 :
学生さんは名前がない :04/01/15 16:40 ID:XIAN383n
347 :
学生さんは名前がない :04/01/15 22:18 ID:x9L3wO1q
ソース書くエディタ何使ってる? 俺は、VCもってるけど、いちいちプロジェクト作るの邪魔だから 秀丸+bcc。 あと、C言語の参考書、何回も読み終えたんで、win32API使ったwindowsプログラム はじめたんだけど、窓出すだけであれだけ書かないといけないとは・・・・・ Javaとかにしたほうがいいかな。
348 :
学生さんは名前がない :04/01/15 22:29 ID:WQf+jXyW
ちょっとした実験みたいなのなら、雑用プロジェクトを作ってある。 それを開いてソースを全部消して新しく書いている。 残しておく価値がある場合はそれをコピーしてどっかに置いておく。 C++使っているならウィンドウクラスを探してきて使う。 たいてい、new CWindow();だけで出てくるんじゃないかな。 Javaは悪くない選択肢だと思うが、ウィンドウのことだけなら 適当なライブラリを探してきた方がいいんではないか。 学校の研究なんかのプログラムを書くときにWin32に依存したコードは 俺はあんまり乗り気ではないのでJavaを使うことが多い。
今更ながら自分のパソにCygwinを発見。 LinuxのコマンドウィンドウをWinで使えるものらしい・・・エミュナノカ?_| ̄|○ Cをコンパイルしてくれんのかなコレ・・・
350 :
無我様 :04/01/15 22:50 ID:GU3zPv4V
>>349 cのコンパイルできるよcygwinで、コマンドは
% gcc ファイル名
でやるとa,exeっていうファイルが出来る
実行ファイルの名前変えたいなら
% gcc ファイル名 -o 実行ファイル名
で変えられたはず
351 :
学生さんは名前がない :04/01/15 22:51 ID:AqhOSdR3
>>347 俺はJavaもC++も、最近はEclipse使っている。
Eclipse+CDT+MinGWでC++対応の無料IDEの出来上がり。
研究ではウィンドウ出すプログラムなんか作らないので、
これを家のWindowsと研究室のLinuxに入れておけば、変更なしでソースを共有できる。
一応VC++も持っているけど、あまり使わないなぁ。昔はemacs系を使っていたし。
> あと、C言語の参考書、何回も読み終えたんで、win32API使ったwindowsプログラム
> はじめたんだけど、窓出すだけであれだけ書かないといけないとは・・・・・
> Javaとかにしたほうがいいかな。
単純なGUI作るだけならJavaが楽だけど、ちょっと凝ったものを作ろうとすると、
かなり苦戦します。
ウインドウ出す部分なんかほとんど共通なんだから、
一回書いちゃえば使いまわせるでしょ?
まぁ、VC持っているなら、おとなしくVC使ったほうが無難。
>>348 >たいてい、new CWindow();だけで出てくるんじゃないかな。
それ、ATLのクラスでしょ?
Win32APIだと、ウインドウ表示させるのに100行近く書かなきゃいけなかったと思う。
>350 (*゚ロ゚)ホ・(*゚ロ゚)ホーーッ!! やってみるぞ。
353 :
学生さんは名前がない :04/01/15 23:05 ID:AqhOSdR3
>>350 gccのパッケージがインストールされていればね。
cygwinのsetupのデフォルトでは、確か入らないでしょ。
まぁ、デフォルトのまま入れる人も少ないと思うが。
> % gcc ファイル名 -o 実行ファイル名
> で変えられたはず
注意しなきゃいけないのは、普通のgccは
% gcc b -o b
とすると、bという実行可能ファイルを出力するが、
cygwinのgccはb.exeを作る。-o b.exeとしてもb.exeを出力する。
これのおかげで、Linuxと同じMakefileが使えん。
まぁ、Linux上でも.exe付けるようにすれば良い話だけど。
>>353 訂正
% gcc b -o b では無く
% gcc b.c -o b ね。
学校じゃぁエディタにemacs使ってるから WinでCygwinとemacs使って学校とおなじ環境にしようと思うんだけど、 emacsのインストがむずかすぃ・・・。
356 :
学生さんは名前がない :04/01/15 23:30 ID:mhCZkAvx
>>349 エミュレータじゃないよ
Windows用のPOSIX環境
357 :
学生さんは名前がない :04/01/15 23:34 ID:WQf+jXyW
>>351 >>たいてい、new CWindow();だけで出てくるんじゃないかな。
>それ、ATLのクラスでしょ?
いや、なんでもいい。
やねうらおのクラスでも何でも気に入ったのを探せば。
>>351 Eclipseイイよね
ただ学校ではemacsなんだよな・・・
JavaのGUIって作るの苦戦するの?
あんまり作ったことない俺が言うのもなんだが
MFCやWinAPIだけで作るよりは楽なんじゃないかな。
そのうちGUIエディタも使いやすくなるだろうし
-mno-cygwinオプション使えば、cygwinに依存しないバイナリ吐けるし 俺はVC++7.1をUnmanagedメインで使ってるけど あと、GUIもFOXとかwxWindowsとか使えば有る程度ソース共通化できるよ EmacsっていうかMeadowは自動インデントが便利なんでたまに使う。 タブ文字幅4、スタイルはStroustrupで。 でもやっぱVisual Studioのインテリセンスが便利。
>>357 MFCだな。
ATLの拡張クラスであるWTLにもCWindowはあるから、あながち間違いでもないんだが。
361 :
学生さんは名前がない :04/01/16 01:31 ID:g4cbc3nC
>>358 Javaであんまり複雑なGUIを組んだことはないが
RADツールもあるし、普通のGUIなら難しくもなさそう。
Swingは最新のWindowsの豊富なGUIパーツには劣るかも知れないけど
そこそこ魅力的なツールだと思う。
AWTだと結構寂しいか。
>>360 だから何でもいいってば。
好きなの探せ、俺はあんまり依存関係のないクラスライブラリが好き。
スマートポインタだけぶっこ抜いて使うとか。
まあ、触った感じではRuby/Tkが一番簡単だったな スマートポインタはBoostやLokiのでええんちゃうかな
CやC++でスマートポインタなんて古いよ。 C,C++用のGCライブラリがたくさんあるんだからそれ使えよ。
とりあえずCWindowImplなら使ったことはある wxWindows、Windows用ってspinだのsliderだのの範囲が デフォで16bit-signedっていうのがなんだかなーと思ってみたり
365 :
学生さんは名前がない :04/01/16 07:06 ID:iw0O/9Td
>>361 > Javaであんまり複雑なGUIを組んだことはないが
> RADツールもあるし、普通のGUIなら難しくもなさそう。
JavaはLayoutのあまり融通がきかない。
絶対位置指定のLayoutManagerも標準で無いからね。
まぁ、絶対位置指定ならLayoutManagerなんかいらないだろって話もあるけど。
それと、RADツールのGUIエディタ使うと、それのライブラリに依存しちゃうことが多いから
あまり好きじゃない。EclipseのSWTなんかはすごく良いんだけどねぇ。
JTableでちょっと変わったテーブル作って、マウスやキーボードの
イベント処理しようとすると、結構はまる。あと、キーボードフォーカスの制御。
そのほか、少しでも変わったことをしようとするとJavaDocや市販の参考書じゃ不十分で、
自分でAPIのソースを読む羽目になる。
>>363 新しいとか古いとかの問題じゃないと思うが。
GCなんか使うほどの規模でもない場合とか、
パフォーマンス的にGCを使いたくない場合とかもあるだろうし。
適材適所で使い分ける。
どんな新しく便利なものでも、メリットとデメリットがあることを忘れちゃいかん。
367 :
学生さんは名前がない :04/01/20 06:33 ID:caOjUZoO
あげてみる
368 :
学生さんは名前がない :04/01/20 09:24 ID:+FZayV85
おまいらほんとに大学生? おれ今卒研でグラフアルゴリズムのプログラム書いてる
370 :
学生さんは名前がない :04/01/20 17:59 ID:1UFpuLv/
IDがFPU(Floating-point Processing Unit)
371 :
学生さんは名前がない :04/01/20 20:24 ID:caOjUZoO
>>368 最短路探索とかか?
プログラミングはそんなに難しくないだろ。
研究のメインは数学的な理論だろうし。
2万桁くらいのアッカーマン関数を求めるプログラムを作りたいんだが・・・。
373 :
学生さんは名前がない :04/01/20 22:42 ID:1UFpuLv/
求めるだけならひたすら計算させる。 アッカーマン関数については詳しくないのだが、 非再帰系に変換できれば計算は速くなるのだろうが、 できるのかな。
(define (ack m n) (cond ((not (and (integer? m) (integer? n))) (display "Error!")) ((= m 0) (+ n 1)) ((= n 0) (ack (- m 1) 1)) (else (ack (- m 1) (ack m (- n 1)))))) とりあえず定義通りSchemeで作ってはみたが試しに(ack 5 5)計算しただけでエライ事になった…
375 :
学生さんは名前がない :04/01/20 23:00 ID:1UFpuLv/
つか、ack( 4, 4 )でもいい加減死ぬ。 調べてみるとうまい計算方法はないらしいね。
376 :
学生さんは名前がない :04/01/20 23:24 ID:1UFpuLv/
コンパイラが根を上げた。 3,3まではできたけど。 template< int n, int m > struct Ack; template< int y > struct Ack< 0, y > { enum{ result = y + 1 }; }; template< int x > struct Ack< x, 0 > { enum{ result = Ack< x - 1, 1 >::result }; }; template< int x, int y > struct Ack { enum{ result = Ack< x - 1, Ack< x, y - 1>::result >::result }; }; int main() { int result = Ack< 4, 4 >::result; printf( "result = %d¥n", result ); return 0; } エラー: テンプレートが複雑すぎるか再帰が多すぎます。 HelloWorld.cp 行 751 enum{ result = Ack< x - 1, Ack< x, y - 1>::result >::result };
377 :
学生さんは名前がない :04/01/20 23:43 ID:L2qYa96p
378 :
学生さんは名前がない :04/01/20 23:50 ID:L2qYa96p
379 :
学生さんは名前がない :04/01/20 23:55 ID:1UFpuLv/
ack(3,0) = 5 ack(3,1) = 13 ack(3,2) = 29 ack(3,3) = 61 ack(3,4) = 125 ack(3,5) = 253 ack(3,6) = 509 以上から ack(3,x) = 2^(x+3) - 3って予想ができた(n<=10までは確認)。 んでack(4,1)を計算しようと思ったらack(4,0) = ack(3,1) = 13 だからack(4,1) = ack(3,ack(4,0)) = ack(3,13) = 2^13 -3 (多分)。 ってことはack(5,0) = ack(4,1)だからack(5,1) = ack(4,(ack(5,0)) = ack(4, 2^13 -3) … ack(5,1)だけでもこれなのにack(5,5)なんかをたった700MHzのCPUで計算しようとした俺が馬鹿だった_| ̄|○
訂正 ×2^13 -3 ○2^16-3 どちらにしろかなり無謀だったんだな。
多倍長?
ack(4,4)でスタックオーバーフローで死んだ。
384 :
学生さんは名前がない :04/01/21 00:39 ID:CRN/QDSD
Schemeは再帰コールはループに展開してくれるんだっけ? つか、prologだとどーなりますか?
386 :
学生さんは名前がない :04/01/21 01:52 ID:dMzYgHO9
>>383 小さい数から徐々に計算してテーブル化しちゃうのは?
#!/usr/bin/ruby def ack(m, n) if m == 0 n + 1 elsif n == 0 ack(m-1, 1) else ack(m-1, ack(m, n-1)) end end puts ack(4, 4) 結果は C:\Documents and Settings\Administrator\デスクトップ>ruby ack.rb C:/Documents and Settings/Administrator/デスクトップ/ack.rb:9:in `ack': stack level too deep (SystemStackError) from C:/Documents and Settings/Administrator/デスクトップ/ack.rb:9:in `ack' from C:/Documents and Settings/Administrator/デスクトップ/ack.rb:9:in `ack' from C:/Documents and Settings/Administrator/デスクトップ/ack.rb:9:in `ack' from C:/Documents and Settings/Administrator/デスクトップ/ack.rb:9:in `ack' from C:/Documents and Settings/Administrator/デスクトップ/ack.rb:9:in `ack' from C:/Documents and Settings/Administrator/デスクトップ/ack.rb:9:in `ack' from C:/Documents and Settings/Administrator/デスクトップ/ack.rb:9:in `ack' from C:/Documents and Settings/Administrator/デスクトップ/ack.rb:9:in `ack' ... 722 levels... from C:/Documents and Settings/Administrator/デスクトップ/ack.rb:9:in `ack' from C:/Documents and Settings/Administrator/デスクトップ/ack.rb:9:in `ack' from C:/Documents and Settings/Administrator/デスクトップ/ack.rb:9:in `ack' from C:/Documents and Settings/Administrator/デスクトップ/ack.rb:13
388 :
学生さんは名前がない :04/01/21 02:15 ID:dMzYgHO9
とりあえずMuPAD ack := proc(m, n) local MAXDEPTH; begin MAXDEPTH := 2^31-1; if m = 0 then return(n+1); elif n = 0 then return(ack(m-1, 1)); else return(ack(m-1, ack(m, n-1))); end_if; end_proc: 計算回数 m=1 n+2 m=2 n*2+3 m=3 (Σ2^(n+2))+5 ('A`)
390 :
学生さんは名前がない :04/01/21 07:01 ID:u+OVLxRu
tgifってwindowに移植されてないんだっけ?
391 :
学生さんは名前がない :04/01/21 07:12 ID:dMzYgHO9
Cygwin+Xで動くバイナリなら見た事ある気がするが勘違いかもしれない。
XfigならGtk+ for Win32使って移植されてたと思うが、日本語が通らなかったような気が。
つか、EPS吐けるフリーのドローソフトならいくらでもあるし。
ttp://www.mayura.com/
393 :
学生さんは名前がない :04/01/23 09:15 ID:HeQwLw8q
age
394 :
学生さんは名前がない :04/01/23 23:51 ID:utlVB7v3
long longがサポートされてる無料のコンパイラってあります?
395 :
学生さんは名前がない :04/01/24 00:13 ID:EtpYWNSz
gcc されてなくても、C++で演算子をオーバーロードしてやって 適当な整数クラスを作ってやればできるんじゃないかと。
フツーに __int64 で定義されてないかな、と printf系関数も "%Ld" で通ると思うよ。
>>395 そこまでしなくても、誰かが既に作っているだろ。
検索すりゃ、すぐに見つかるんじゃない?
399 :
学生さんは名前がない :04/01/26 12:08 ID:k/MOVkIH
>>397 ID惜しいな。
このスレでC++なんてID出したら、神だと思う。
>>399 のIDが微妙に
アセンブラの命令っぽい<MOV
401 :
学生さんは名前がない :04/01/26 13:13 ID:k/MOVkIH
面白かったから張ってみる。8とか110とかも泣ける。
♪♪♪♪プログラマ的替歌♪♪♪♪
http://pc.2ch.net/test/read.cgi/prog/1051145555/l50 46 名前:仕様書無しさん 投稿日:03/06/06 02:13
http://life2.2ch.net/test/read.cgi/kankon/1038667066/で見つけたが 、英語読めん+プログラムよくわからん
Write in C ("Let it Be")
When I find my code in tons of trouble, Friends and colleagues come to me,
Speaking words of wisdom: "Write in C."
As the deadline fast approaches, And bugs are all that I can see,
Somewhere, someone whispers: "Write in C."
Write in C, Write in C, Write in C, oh, Write in C.
LOGO's dead and buried, Write in C.
I used to write a lot of FORTRAN, For science it worked flawlessly.
Try using it for graphics! Write in C.
If you've just spent nearly 30 hours, Debugging some assembly,
Soon you will be glad to Write in C.
Write in C, Write in C, Write in C, yeah, Write in C.
BASIC's not the answer. Write in C.
Write in C, Write in C Write in C, oh, Write in C.
Pascal won't quite cut it. Write in C.
プログラミングか……。 Winのプログラムは作る気になれんな。なんか面倒な気がして。 最近はもっぱらperlスクリプトしかいじってない。 あ、あとプログラミングとは呼びたくないけれど、Mathematicaは使ってるなw
403 :
学生さんは名前がない :04/01/26 16:58 ID:N3DJ00fQ
Mathematicaだって十分プログラミングだと思う。 PerlよりRubyに興味がある今日この頃。
404 :
学生さんは名前がない :04/01/26 16:59 ID:SX09yIM6
ポインタとか全く意味分からん
405 :
学生さんは名前がない :04/01/26 20:37 ID:xr25D3/Z
ポインタのしくみは分かるんだが、どういうときに活用すると便利なの?
406 :
从 -Å-从 はぁ・・・ ◆Haaa3fxxxE :04/01/26 20:47 ID:rvrRjTRy
基本情報処理の受験料払ってきた
基本情報技術者か
408 :
学生さんは名前がない :04/01/27 02:14 ID:Lo0vxx8b
>>405 引数の参照渡し、メモリの動的確保・・・
便利というか、まともなプログラム書きたいなら必要。
>>406 >>407 正確には、基本情報処理技術者
情報処理技術者試験合格証書 基本情報技術者試験 第FE−2002−04−*****号 ** ** 昭和5*年**月**日生 上記の者は情報処理の促進に関する 法律第6条の規定により実施した上記の 国家試験に合格したことを証する 平成14年5月28日 経済産業大臣 平沼赳夫
408の他にも 関数ポインタだとか int型に化けさせるときだとかにも使う。 というか、一口にポインタって言っても 確かに概念としては一つなんだけど 応用の種類が大量にあるから、ややこしいんだろうなぁ。 Cでポインタがわかってれば、その他の言語の参照の理解 が楽になると思う。ポインタの使い方の一種だからね。
411 :
408 :04/01/27 05:41 ID:Lo0vxx8b
>>409 あ、今検索したらそうだった。
俺の勘違いでした。ごめん。
412 :
学生さんは名前がない :04/01/27 09:11 ID:B4iA7h02
C++使って良いなら、
>>405 のリンク先にあるような書き方をして
ポインタを使わないほうが良い場合もあるね。
けど、ポインタを理解したうえでC++の機能を使って隠蔽するのと、
理解できないから使わずに(使えずに)、C++の機能に頼るのでは、
かなり違うだろうな。
後者はろくなことにはならない。
414 :
学生さんは名前がない :04/01/27 23:13 ID:9TazUPGw
そうかな、std::stringなんかは積極的に使うべき機能だと思うけど。 裏で演算子オーバーロードやコピーコンストラクタが働いているのを教えずに これ、C言語の機能なんだよ、と大うそついてもさほど有害ではないと思う。
415 :
学生さんは名前がない :04/01/27 23:14 ID:RaNPd68g
CとC++って何が違うの?
416 :
学生さんは名前がない :04/01/27 23:22 ID:9TazUPGw
歴史的にはC言語ができて、それを強化してC++ができた。 なんだけど、C99という最新のC言語の規格があったり 細かいところは俺もよく分からない。 C++ > C言語といってもさほどウソにならないと思う。
>>414 せめて、「C++の機能なんだよ」って言うべきだと思うぞ。
まぁ、確かにstd::stringは積極的に使うべきだな。char*を使うメリットはほとんど無いし、
そもそもC++が登場した当時から個々に作られていたものが、標準化されただけだしね。
ただ、それで大丈夫なのは入門書をちょっとかじってみるかなってレベルまで。
418 :
学生さんは名前がない :04/01/27 23:27 ID:9TazUPGw
>>417 それがねえ、C++というと拒否反応示す奴が身近にいるもんで。
オブジェクト指向なんかいらねー、とか。
せめてstd::stringくらい使えばいいのに、と思うんだけど。
419 :
学生さんは名前がない :04/01/27 23:30 ID:RaNPd68g
>>416 サンクス。
漏れ、来年度からロボット系の研究室に入ることになったんだけど、
C言語さっぱりわからんのよね。
かなりヤバイのよ。
だからこの春休みに必死に勉強しなきゃならんのだが、就活もあるのよね。
かなりヤバイのよ。
このままじゃ卒業できないのよ。
420 :
学生さんは名前がない :04/01/27 23:34 ID:9TazUPGw
組み込み系だとC++のコンパイラがないこともあるね。 それどころか、C言語のサブセットだったりして。 プログラミングの勉強はひたすらサンプルコードを写すのがいいと思う。 そのうち手が覚える。 その際、お勧めとしてはC言語をいったん離れること。 Cのサンプルってつまんないのが多いんだよね。 で、何がいいかといえばJavaかなあ。
>>416 C++の最初の名前は、「C with classes」。
つまり、Cでクラスを扱えるようにして
オブジェクト指向言語の概念を導入して拡張されたもの。
その際に、Cと互換性を持たせたために、歪な部分もある。
C++はCを完全に含んでいるからC++だけあれば十分なんだけど、
一応Cのみの仕様も残っていて、オブジェクト指向以外の部分で
便利そうなところをC++から持ってきて改訂したりしている。
422 :
学生さんは名前がない :04/01/27 23:42 ID:RaNPd68g
>>420 写すのか・・・しかしわがままは言ってられないからな。
Javaもさっぱり。
ベーシックもさっぱり。
プログラミングはさっぱりわからん!
423 :
学生さんは名前がない :04/01/27 23:44 ID:FY1q5rUZ
>>418 そういう人には、頑張ってポインタを正しく使ってくださいとしか言えないな。
C++使ったからって、オブジェクト指向で組まなきゃいけないって決まりはないのにねぇ。
>>420 組み込みJavaでロボット制御ってのもできるから、
いっそ、うまく教授を言いくるめてCと決別してみるとか。
424 :
学生さんは名前がない :04/01/27 23:47 ID:9TazUPGw
>>421 詳しいねー
あと、Objective-Cという別進化したやつもある。
こっちも初期の頃はC言語のコンパイラをそのまま使ったけど
いまではgccあたりでもコンパイルできる。
>>422 コピペだと手が覚えないから駄目。
425 :
学生さんは名前がない :04/01/27 23:49 ID:9TazUPGw
>>423 そいつ、俺よりプログラミング暦は長く、
アセンブラとか低級なのは俺より強いんだけど、
いかんせん新しい概念を頑なに受け入れない。
C言語使うときも古いコーディングするし。
426 :
学生さんは名前がない :04/01/28 00:02 ID:h0LXziv8
>>425 学生のうちは良いけど、社会に出たら苦労するぞ、そいつ。
プログラミングやらない職種か研究者にでもなるなら別だけど。
Cの古いコーディングって、もしかしてこんなの?
int foo(bar)
int bar;
{
.....
return(0);
}
「プログラミング言語C第2版」では新しい形式で紹介されているから、
少なくとも1989年の時点で既に切り替わっている。
普通の大学生なら、小学校低学年あたりでCを勉強していなきゃ
こうは書かないぞ。
まあstd::vectorとstd:string位は使うべきだね
428 :
学生さんは名前がない :04/01/28 00:49 ID:q3F/jCzw
>>426 いや、K&RではなくANSI C世代なんだけど。
あと社会人1年目(俺はまだ4年だけど)で
さすがに会社のソフトを書くのは責任重大だから新しいマナー覚えろって言っておいた。
一応やるって言ってたけど、さて。
>>427 std::vectorはいまいちうま味が分からない。
むしろ、listやmap、setあたりをよく使う。
429 :
学生さんは名前がない :04/01/28 00:52 ID:0T1wOo/s
入門書が終わったら、実践(応用)編かポインタ編のどちらにいけばいいでしょうか?
430 :
学生さんは名前がない :04/01/28 00:57 ID:q3F/jCzw
まずコードをたくさん書くべきだと俺は思う。 でも、初心者じゃ自力ではコードは書けないから、 誰かの書いたサンプルコードを自分の手で入力するのを勧めるのだが、 その際、Cって面白みのないコードが多いから、Javaあたりがいいかな、 とさっき書いた。 Cって何かのライブラリを使わない(標準だけ)だと ネットワークもグラフィックもないから無味乾燥。 それで集中力が持続する人だったらいいんだけど。
431 :
学生さんは名前がない :04/01/28 01:01 ID:0T1wOo/s
>>430 コード??
難しいですね 文が。
すいません 勉強不足で・・・
432 :
学生さんは名前がない :04/01/28 01:04 ID:q3F/jCzw
433 :
学生さんは名前がない :04/01/28 01:10 ID:0T1wOo/s
>>432 すいません いろいろと。
こういうのを探して、自分で打ち込んで勉強していくわけですか
かなり難しそうですね。やっていけるか不安ですね・・・
434 :
学生さんは名前がない :04/01/28 01:17 ID:q3F/jCzw
435 :
学生さんは名前がない :04/01/28 01:19 ID:0T1wOo/s
ありがとうございます。 とにかく やってみます。 やはり なれることが大事なようですね
436 :
学生さんは名前がない :04/01/28 01:25 ID:nQZUwspc
>>431 コーディング→プログラムを書くこと
コード≒プログラム
という解釈でいい。
437 :
学生さんは名前がない :04/01/28 01:26 ID:q3F/jCzw
438 :
学生さんは名前がない :04/01/28 01:27 ID:nQ/b1gEu
>>428 std::vectorはランダムアクセスができるっしょ。
>>439 動的にサイズを変更しなければ普通の配列と大差ないから、
そういう意味で、うま味がわからないってことじゃない?
サイズ変更以外にも、いろいろ便利なところがあるんだけどね。
俺はプログラムの目的上、vectorよりvalarrayを多用するな。
本当に速いのか確認していないけど。
つうか、数値計算に使うならLapack++なりliboctaveなりを使うべきか。
441 :
学生さんは名前がない :04/01/28 14:59 ID:exBC2zv+
あんまり使い込んでいないせいもあるのでしょうが、 std::vectorで便利だと思うのは、範囲外アクセスで例外を投げるAt()くらい。 そうでなければ普通の配列で済ませることの方が多いです。 よーわからんのですが、vectorって、push_back()で追加していっても面白くないですよね。 配列なんだからまとめて放り込みたい。 イメージとしては、fread()みたいに配列渡すとまとめてファイルを読み込むとか。 それをvectorでしようとすると、&vec[0]みたいな感じでポインタを取り出しますが もちろん範囲外アクセスは落ちますので、事前に、なんだっけ reserve()だっけ、resize()だっけ、なにかでサイズを指定しないといけない。 これでは固定配列と何が違うんだ、と。
442 :
学生さんは名前がない :04/01/28 15:11 ID:or6ow9AC
>>441 はぁ?動的に要素を追加できるのがvectorの良さだろうが
お前馬鹿デスカ?
443 :
学生さんは名前がない :04/01/28 15:13 ID:exBC2zv+
445 :
学生さんは名前がない :04/01/28 20:27 ID:2G0n9x7M
>>442 vectorで何も考えずにpush_backを多用しちゃ駄目だよ。
push_backが内部で何やっているか考えたら、それくらいわかるでしょ?
push_backするたびに配列の確保をしなおしてるわけじゃないんだろうけどね。
>>441 >イメージとしては、fread()みたいに配列渡すとまとめてファイルを読み込むとか。
push_back使って、そういう関数自分で書けば良いじゃん。
まぁ、resize()できるだけでも、普通の配列より便利だと思うけどね。
それとも「これくらいあれば十分だろう」って感じで、巨大な固定配列を準備しておく人?
newで動的配列を作っても、これは自分でdeleteしなければならない。
それに、配列を関数に渡すときに、従来はデータの個数も渡さなければいけなかったが、
vectorはその必要がない。size()で取得できるから。
vectorと固定配列を比較すること自体間違い。やるなら動的配列と比較しろ。
配列と同じように使えることを重視して設計されているから、vectorを使う理由が理解できないのもわかるが、
速度とメモリ効率への要求がよほどシビアな場合以外は、動的配列に固執する理由もない。
446 :
学生さんは名前がない :04/01/28 23:39 ID:exBC2zv+
>>445 丁寧なレスありがとう。
最初に「固定配列」って言葉を出したのは俺自身なんだけど、
この場合の固定って別にstaticな配列って意味じゃなくて、
動的に確保した配列もこの範疇のつもり、不注意ですまない。
これが誤解の原因かも。
巨大な自動変数はスタックを圧迫するから作らない。
その場しのぎでもnewして、一緒にでdeleteを書いておく(忘れないように)。
使い回す場合でリークの心配があるときもスマートポインタに食わせるとか
何かのクラスが使うんだったらデストラクタで責任もって解体するとかすれば大抵は大丈夫。
メモリリークの駆逐方法は色々あるから。
ほとんどの場合は必要な配列のサイズはあらかじめ分かる。
ファイルを読み込む場合にしても、文字列にしても。
UTF8だったら文字数×3バイトあれば大抵は事足りる。
だから事前に調査してnewする。
これはstd::vectorでもresize()しなきゃいけない点は同じ。
動的配列を渡すときに一緒にサイズを渡さなきゃいけないのは知ってる。
vectorがsize()で問い合わせることができることも知ってる。
これは便利かも知れないね。
あと、vectorは配列のラッパだから、リサイズや移動が起こらないように配慮すれば、
動的配列とやらと比べてパフォーマンスは悪くないよ。
operator[]も例外を投げない実装(前述の通りそれを期待するならAt()がある)だし、
一度コンテナを作って、あとは読むだけの用途ならlistやsetに比べて速いのはメリット。
447 :
学生さんは名前がない :04/01/29 00:20 ID:+7XErqpb
>>446 > その場しのぎでもnewして、一緒にでdeleteを書いておく(忘れないように)。
> 使い回す場合でリークの心配があるときもスマートポインタに食わせるとか
> 何かのクラスが使うんだったらデストラクタで責任もって解体するとかすれば大抵は大丈夫。
そこまでするなら、std::vector使ったほうが楽だしコードも短くなると思うんだが。
結局は同じことをやっているわけだし。配列に固執する理由がわからん。
書かなきゃバグは生まれない。
> メモリリークの駆逐方法は色々あるから。
その一つとして、標準で用意されているのが、std::vector
> あと、vectorは配列のラッパだから、リサイズや移動が起こらないように配慮すれば、
> 動的配列とやらと比べてパフォーマンスは悪くないよ。
確かにそうだね。コンパイラのオプションで、inline展開を禁止しない限り。
gccだと
reference
operator[](size_type __n) { return *(begin() + __n); }
だからinline展開されて、*(_M_start + _n)で、普通のポインタ演算か。
448 :
学生さんは名前がない :04/01/29 01:21 ID:VsfRT7JL
>>447 別に固執しているわけじゃないんだが、vectorのうま味がいまいち分からない。
stringやlistなら迷わずSTLを使う。
ソフ開の願書ないかなと思って本屋に行ったついでにプログラミング関係の本のコーナーをチラッと見た。 独習C、独習C++のそれぞれ第3版が出てたんだね
450 :
学生さんは名前がない :04/01/29 01:29 ID:VsfRT7JL
ソフ開はネットで申し込める。 去年のテクニカルエンジニア(ネットワーク)はそれで失敗したけど。 いつでも申し込めると思っていたら締め切りが早くなってた。
クレジットカード持ってないから
452 :
学生さんは名前がない :04/01/29 03:03 ID:+7XErqpb
>>448 微々たるものでも、配列より便利なところがあるのはわかるでしょ?
deleteしなくていいとか要素数の管理が楽とか。
delete一つ書くくらい大したことじゃないが、少しでもコードを減らして楽ができるなら、
そうするべきだと思うぞ。規模が大きくなれば、じわじわと効いてくる。
書かなきゃバグは生まれない。コードは短ければ短いほうが良い。
まぁ、慣れ親しんだ方法を使ったほうがミスしないっていうような
それなりの経験を積んだ人なら、好きにすれば良いけどね。一人で書くなら。
しかしそこまで行っていない人は、vectorを使うようにすべきだと思うな。
>>449 独習Javaも確か第3版になっているよね?
独習C/C++の著者、ハーバート・シルトのWindows95プログラミングの本持っているけど、
あれはわかりやすくて良かった。独習シリーズはどうなんだろ?
いまさら買う気は無いが、最初に買ったC++の本が初心者向きじゃないから、
人にどの本が良いか聞かれたときに、答えに困る。
453 :
学生さんは名前がない :04/01/29 12:25 ID:J0fLBXGp
>>452 質問なんだけど、vectorの要素のアクセスって普通はどうするの?
結局、vector使っても &vec[0]とやってポインタを得てゴリゴリやっちゃうんだけど。
他にoperator[]や、At()、イテレータも知っているけど
配列を何に使うかを考えるとポインタが一番手っ取り早い。
中には
>>442 みたいに「動的に要素を追加できる」と入門書で読んで
分かった気になっている香ばしいヤシもいるみたいだけど、
実際のコードでどのように使われているかが分からない。
454 :
学生さんは名前がない :04/01/29 12:30 ID:J0fLBXGp
>>452 >ハーバート・シルト
余談だけど、STLの本は彼の本を使った。
そのあとでvectorの使い道を知りたくてEffective STLを買った。
Effective C++は名著だと思うけど、STLの方は立ち読みでもよさそう。
Effective STLも良くできてると思うよ。 More Effective C++はなんかどうでもいい話が多かったけど。
456 :
学生さんは名前がない :04/01/29 12:51 ID:J0fLBXGp
Moreは必要なときに図書館で借りてくるくらい、 手元に置いておきたいとまでは思わなかった。 何が書いてあったか、あんまり記憶にないけど、 例外を実際にどう投げるのか、スマートポインタ、 2次元配列クラスを1次元配列にすり替える、あたりは役に立った。 例外の投げ方って難しいんだよね。 例えばコンストラクタで例外を投げるとデストラクタが呼ばれない。 じゃあどうすんのって話になるけど、そういう説明のある本は大切。
例外ならExceptional C++の方が良く分かるよ。 最適化ならEfficient C++読んだ方が良いし。 スマートポインタはBoostやlokiに付いてるの使えば良いだけだし。 Moreは遅延評価にせよ例外にせよ中途半端。
458 :
学生さんは名前がない :04/01/29 13:16 ID:J0fLBXGp
Exceptional C++は立ち読みしかないなあ。 きちんと通して読んでおくべきだとはかねがね思っていたけど 考えてみれば、言語関係の本はご無沙汰。 本棚見てみると、最近買った本といえばネットワークプログラミングとか 電子メールプロトコル、ゲーム関係(Gemsとか)ばっか。
459 :
学生さんは名前がない :04/01/29 17:22 ID:ezd17Lh0
>>453 普通に配列として使っているよ。特にオブジェクトのポインタの配列とか。
T **objs;より、vector<*T> objs;のほうが、配列としての意味が明確でしょ?
要素のアクセスにはoperator[]を使っている。at()は使わないな。
iteratorもあまり使わない。
&vec[0]とやるよりはvec.begin()とやるべきだと思うけど。
たぶん同じようなものが帰ってくるはずだし。
vectorは便利さというより、初級・中級の人のミスを減らすためのものだと思う。
int *vec;と書かれて後で配列をnewするよりも、
vector<int> vec;と書かれていたほうが、初心者にとっては読みやすい。
>書籍
プログラミング言語C++、Effective C++、More Effective C++
は持っているけど通読はしていないな。
こいつら3冊本棚に並べておくと、なかなか見栄えは良い。
ExceptionalとSTLとEfficientも欲しいな。
あと、ISOの標準企画書。
460 :
学生さんは名前がない :04/01/29 17:37 ID:J0fLBXGp
茶々ですまないが
>>459 >&vec[0]とやるよりはvec.begin()とやるべきだと思うけど。
どっちでもいいと思うけど、Effective STLによると
よからぬ場所に出入りしていると、あてにならない人物に出くわし
&v[0]の代わりにv.begin()を使うことができると言われるかも知れない。
beginはvectorへの反復子を返し、
反復子は実際にはポインタであるためだ(と、その悪人はいうだろう)。
(中略)
&v[0]の代わりにv.begin()を使うように勧める人たちとつきあっているなら、
交友関係を考え直す必要がある。
ってな事が書いてあるから、人前では&v[0]と書くことにしている。
メイヤーズマンセーな人に何と言われるかわからんし。
先頭要素のポインタを受け取るAPIに渡す時に&vec[0]を使わずに、vec.begin()とかやるバカの事書いてるのであって、 先頭要素のイテレータが欲しい時にvec.begin()とやるのは全く問題無い。
463 :
学生さんは名前がない :04/01/29 18:36 ID:J0fLBXGp
>>462 そりゃ、begin()は先頭のイテレータを返すものだから、
イテレータが欲しいときに使うのは問題あるまいよ。
つうわけで、自分で書いておいて何なんだが、 >&vec[0]とやるよりはvec.begin()とやるべきだと思うけど。 >たぶん同じようなものが帰ってくるはずだし。 は、あほな意見だと言うことで・・・ 確かに純粋にポインタが欲しいときは&vec[0]とすべきだね。 ただ、自分でポインタをインクリメントしてアクセスするコードを書くなら、 イテレータ使ったほうが良いんじゃない、って言いたかっただけ。 ポインタを要求する関数にイテレータ渡しちゃいかんわな。
>確かに純粋にポインタが欲しいときは&vec[0]とすべきだね。 「すべき」じゃなくて「しなきゃ絶対駄目」 そんな所で実装依のバグ作ってどうする。
466 :
学生さんは名前がない :04/01/29 19:42 ID:J0fLBXGp
まあ、重箱の隅をつつくようなことを書いてすまなかったと思うけど、 公の場所で書くときは仕様と実装の違いは気にした方がいいかも。 と言うと以前俺が書いた「自動変数はスタックに」も実装なんだよね。 たしかC言語の仕様書を探してもそういう記述はないはず。 でも、素直に実装したらスタックに置くのが自然なので そうじゃないコンパイラなんて見たことがない。
More〜の訳は激しくクソです
468 :
学生さんは名前がない :04/01/29 20:52 ID:TxPXv0TV
訳が酷い本は結構あるけど、Moreのそれは有名だね。 amazonでも散々書かれてる。 英語が得意だったら原書で読めとまで言う人もいる。
469 :
学生さんは名前がない :04/01/29 23:48 ID:oX8vTyFw
「やさしいC」って本を読み始めたんですが、、、AUTOEXEC.BATでもう挫折です。。。 初めの設定自体ができません・・・プログラム以前の問題っす。。。。
470 :
学生さんは名前がない :04/01/29 23:52 ID:LzpYWDwh
>>469 autoexec.batが出てくるあたり、かなり古い本のような気がする……。
FreeBSDインスコすればそんな設定しなくてもC言語が自由に使えるぞ(・∀・)
472 :
学生さんは名前がない :04/01/30 00:24 ID:2SkYRr0A
>>470 レスありがとうございます。。。ま、まじっすか!
>>471 な、なんでしょうかそれは(・∀・)(期待ワクワク)?
473 :
学生さんは名前がない :04/01/30 00:30 ID:PUq7TtTp
>>472 大人しく、Visual C++を学割で買ってきた方が幸せだと思う。
ある程度パソコンに強いのなら、Borland C++とか
好きなものをダウンロードしてきて設定すればいいんだが。
474 :
学生さんは名前がない :04/01/30 00:32 ID:33UiULtI
>>472 少なくとも、Windowsがメジャーになる以前の本だろ。
藻前がWindowsXPを使っているのなら、設定の部分は全く役に立たないと思われ。
>>471 いや、
>>472 には無理だと思うw
475 :
学生さんは名前がない :04/01/30 00:37 ID:rrn7c+/a
476 :
学生さんは名前がない :04/01/30 00:45 ID:RstsDXIS
俺
>>475 の初版持ってるけどAUTOEXEC.BATなんて単語どこにあるんだ?
Windows9x系ならAUTOEXEC.BATに環境変数書くでしょ普通 NTや2000以降はレジストリに追加する形になったけど それでもバッチファイルの知識は必要だと思うけどね。 複数のコンパイラ共存させたりとか。
Linuxでもええやん 更に言えばCygwinでもOK
480 :
476 :04/01/30 01:13 ID:lkT5JljY
>>477 9x系でも環境変数、どこかのダイアログで設定できなかったっけ?
レジストリに書くんじゃなくて、autoexec.batが勝手に編集されるだけだったと思うけど。
完全に手書きしなきゃいけなかったのは3.1までだった気がする。
必要なのはバッチファイルの知識というより、コマンドラインの知識だな。
環境変数、コマンドサーチパス・・・
>>479 cygwinはともかく、LinuxかFreeBSDかってのは好みというか流派というか・・・
ただ単に
>>478 がFreeBSDユーザーなだけだろう。どっちでも良い。
さらに言えばNetBSDでも・・・
個人的にはSCOの問題でLinuxがきな臭いので、FreeBSD推奨。
>>481 msconfigだったっけ?
でも弄ってるのはやっぱりAUTOEXEC.BATだったり
483 :
学生さんは名前がない :04/01/30 01:23 ID:PUq7TtTp
>>481 >個人的にはSCOの問題でLinuxがきな臭いので、FreeBSD推奨。
SCOなんか無視。
最近ではBSDにまでイチャモンつけているし。
>>483 俺もSCOが勝つとは思っていないし、個人にまで請求してくるのは
まだまだ先だろうから、使っていても問題ないとは思うけど、気分的な問題。
Linuxで企業と個人に対して決着がつくまでは、FreeBSDは安全だろう。
たぶんLinuxでSCO敗退するだろうから、BSDはずっと安全。
・・・だったら良いなぁ
485 :
学生さんは名前がない :04/01/30 01:38 ID:PUq7TtTp
だいぶ前からだけど、LinuxとBSDでは方向性が変わった気がする。 BSD ・PC-98に移植されていたせいか、日本では古参が結構使ってる ・あんまり商業ベースで参加してないため、デスクトップ環境が地味な感じ Linux ・ディストリビューションたくさん、それによって使い勝手も変わる。 あるディストリビューションでイマイチでも乗り換えると印象変わることも。 ・華やか、ほっといてもGNOMEとか起動するのが多い ・ポストWindowsを狙っている感じがする 個人的な感想だと、BSDの方が玄人、Linuxはミーハー、 というと語弊があるけど、そんな感じだ。
>>485 > BSD
> ・PC-98に移植されていたせいか、日本では古参が結構使ってる
それはあるなぁ。
俺も最初に手を出したPC-UNIXはFreeBSD(98)だもん。
つうか、つい最近まで動いていた。
いい加減部屋が狭くて邪魔になったから捨てたけど。
> ・あんまり商業ベースで参加してないため、デスクトップ環境が地味な感じ
GNOME入れちゃえばLinuxと大差ないと思うが。
インストールでグラフィカルログインの指定できたかどうかは忘れた。
ただ、グラフィカルな設定ツールがLinuxに比べて少ないから、
敷居が高いのは確かか。
Linuxのliloのパラメータでどっちにもなったと思うが テキストログインして x とタイプするのがそんなにめんどくさいかねぇ?
>>487 RedHat系ならランレベル5で起動すれば、グラフィカル。
デフォルト変えたければ/etc/inittabだったかな。
FreeBSDは/etc/ttysを書き換える。
どっちにしろ、Windowsしか使ったことの無い初心者にはつらいんじゃないの?
>テキストログインして x とタイプするのがそんなにめんどくさいかねぇ?
慣れって言うのは怖いものでね、Windowsにどっぷりつかっちゃっていると、
それすら億劫になっちゃうわけで。
489 :
学生さんは名前がない :04/01/30 03:01 ID:33UiULtI
>>488 DOSで育ってUNIXにあこがれ続けた俺は、いまだに大学のWS端末にログインするのが楽しみだぞw
おかげで、DOSプロンプトに降りたときに思わず ls と打ってしまう自分が……
>>489 > おかげで、DOSプロンプトに降りたときに思わず ls と打ってしまう自分が……
そういうのはあるね。
けど,俺のWindowsはMinGW入れてbinにパス通しちゃっているから,
DOSプロンプトでも普通にlsが使える。結構便利。
emacs使っているときにESC :wqで保存終了させようとしたり,
Word使っているときにC-x C-sで保存しようとしたり・・・
大学2年までPCを持ってなくて、 大学1年で初めて(本格的に)触ったコンピュータが大学のUNIXだったから 2年生でPC買ったときはWindowsに戸惑った覚えがある。
492 :
学生さんは名前がない :04/01/30 07:02 ID:PUq7TtTp
>>486 >GNOME入れちゃえばLinuxと大差ないと思うが。
同じGNOME on Linuxにしても、
ディストリビューションによって結構違う気がするのは俺だけ?
頑張ってredhatとか大手ディストリビューションと同じものを
BSDでも揃えればいいんだろうけど、それは案外面倒だ。
>485 数が多いってだけでミーハー 数が少ないってだけで玄人 って考えるのは、今後のためにも直しておいたほうがいいと思うぞ。
494 :
学生さんは名前がない :04/01/30 18:21 ID:f1cv+IkS
>>493 そりゃ読解力に問題があるんでないの?
PC-98に早くから移植されていたのがFreeBSDの注目すべき点。
それに対してLinuxは日本で普及したのはもう少し後。
そのうえ、商業ベースになり初心者の割合もかなり多い。
雑誌の特集を見てもLinuxで年賀状とか、Windowsの代替を目的とした特集も多い。
495 :
学生さんは名前がない :04/01/30 20:42 ID:f1cv+IkS
496 :
学生さんは名前がない :04/01/30 20:53 ID:f1cv+IkS
497 :
学生さんは名前がない :04/01/31 02:20 ID:EoOwpk/t
>>495 俺が知らないだけかも知れんが、有名な人なの?
有名な人の書評だから信用できるってわけじゃないけど、
少なくともどんな素性の人物なのか、プロフィールくらいは無いと
あまり参考にならんと思う。日記全部読み返すのは面倒だし。
> 今の僕のレベルでは
ってのが、どのレベルなのかと。まぁ、かなり高いだろうとは想像できるけど。
>>495 引用するなら
>Effective C++
>Exceptional C++ が例題と解説でビシっと説明した内容を、冗長な文章で書き直した みたいに見える。
>Exceptional C++
>問題/解答形式で、C++ プログラマが陥りがちな罠について解説した 本。
>Efficient C++
>C++ で以下に効率的な(高速な)プログラムを書くかの方法を述べた 本。
とでもするのが妥当。
499 :
学生さんは名前がない :04/01/31 11:32 ID:kOqhXHa6
>>497 結構有名だがしょせんはプログラマ(しかも学生)だから知らなくても無理はない。
>プロフィールくらいは無いと
xKanonとかいうソフトが有名、関連スレも別板には建ってる。
他者のノベルゲームをxKanonで走らせるトランスレータも何本か出してる。
現在東大の院生、学部も東大だったらしい。
理系だが、めちゃ本を読むのがすごいと思う、よく時間あるなと。
だけどエロゲヲタっぽい。
日記関連では結構有名のようで、他の日記でもよく取り上げられる。
>どのレベルなのかと。まぁ、かなり高いだろうとは想像できるけど。
2chってレベルがよくわからなくて、自分の代表作を晒す人って少ない気がする。
だから、このスレでどの辺とかそういう言い方は無理だけど
学生レベルではかなり高いと思う。
Java使いが500げと
501 :
学生さんは名前がない :04/02/01 00:40 ID:dF6cO7nQ
2ちゃん板対抗バトロワで生活軍をのし上げよう! がウザいんだが、なんとか撃退できないものか。 so-netに本家のページを作っているけど、 そいつらが関与しているとしたら、プログラムでアタックして 転送量あげまくり、廃止に追い込むのは乱暴だろうね。
↓バトロワのコピペ
>>501 こんな感じか?
#!/usr/bin/perl -w
use strict;
use Socket;
my $count = 0;
my $host = 'www.redbit.ne.jp';
my $file = '/~yasu/br/brlist.cgi';
my $port = getservbyname('http', 'tcp');
my $iaddr = inet_aton($host) or die "$host は存在しないホストです。\n";
for (;;){
my $sock_addr = pack_sockaddr_in($port, $iaddr) ;
if (socket(SOCKET, PF_INET, SOCK_STREAM, 0)
and connect(SOCKET, $sock_addr)) {
select(SOCKET); $|=1; select(STDOUT);
print SOCKET "GET $file HTTP/1.0\r\n";
print SOCKET "\r\n";
}
}
505 :
学生さんは名前がない :04/02/01 18:50 ID:17Z4UTwc
>>504 そんな感じ。
あとの問題はコピペ荒しが本家の差し金か確かめることと
その確認ができたらプログラムをばらまくことか。
下手すりゃ捕まるから、やめとけ。
507 :
学生さんは名前がない :04/02/01 22:32 ID:C1OtXhHc
前にSCOを集中攻撃したウィルスの亜種を作る方が良いかな。 こっちだったら足がつかない、と思う。
>>504 そんなプログラムを平然とカキコするな。
プログラミングできてもモラルが欠ける奴はただのアホだぞ。
>>507 SYN Floodの類?
Rawソケット弄らないといけないし、NAT越しだとSourceIPが修正されちゃうし
それだと、特定のページを攻撃するんじゃなくて、Webサーバそのものの攻撃になっちゃうんじゃん?
そっちのほうが問題になるでしょ。
>>508 ループ付けなきゃ何の変哲もないPerl製HTTPクライアントなんだけどね。
>>510 >ループ付けなきゃ何の変哲もないPerl製HTTPクライアントなんだけどね。
そんなことは関係ない。
明らかに攻撃目的のものを、簡単に作れるからという理由で
公開して良いというわけじゃないだろう?しかもURLつきで。
自分の行動の影響というものを、少しは考えて行動しなさい。
影響力があると考えてるティミはコードが読めてないと見た。 かの「F5アタック」と同等のものですよ。 少なくとも、1人や2人で連続リロードしたところで攻撃は成立せんし。 まあ、初心者にPerlの実行環境をインストールしろとか言うよりは、 IEの窓開いてF5キーをセロテープで止めとけと言った方が手っ取り早いだろうし、 そっちのほうがある意味では効率的。 まあ、この方法じゃどのみち組織的にやんなきゃ攻撃は成立しないし、 逆に組織力さえあればどんなショボイ攻撃方法で鯖は落とせる。 攻撃になりうるかなり得ないかは、使う人の問題なわけで。 少なくとも、F5長押しよりも効率のいい攻撃方法を提供するものでは無いと思ってます。
バカ丸出しだね
>>512 正直、無限ループでGETリクエスト飛ばしている、程度しか読めてないけどね。
Perlなんかやったことねぇし。
これ、レスポンス返ってくるの待っているわけじゃあるまい?
だったらF5長押しよりは効果あると思うぞ。
515 :
学生さんは名前がない :04/02/02 06:48 ID:RNg+CzEC
http://www.kt.rim.or.jp/~ksk/wskfaq-ja/advanced.html#maxsockets Winsock使う限りはコネクション数の上限はレジストリのMax Connectionsの値に依存するわけで、
一概には言えないのだが、IEではなくPerlを使うことによってその上限を超えることができるなんて
ことはないわけで、F5押しやろうが、スクリプトかまそうが、ソケットライブラリやOSの処理能力の
限界を超えてHTTP要求することは不可能。
自前の鯖で実験してみればわかるが、一般的な環境のマシンでは、
>>504 みたいなスクリプト使おうが
F5押そうが、「攻撃力」としてみたらそうそう変わらない。1人や2人の攻撃じゃどうしようもない。
ただ、リロード時の再描画の負荷を考慮すれば、IE+F5よりはスクリプトでやったほうが
自分のマシンへの負担は小さくて済むかもね。
あと、CGIの場合は、毎回動的にページを生成するからキャッシュがきかないし、プログラム起動の
オーバーヘッドがあるから、鯖がショボいマシン使ってた場合に軽く逝っちゃう可能性も、あるにはある。
517 :
514 :04/02/03 00:24 ID:xoXMh7b0
>>516 F5だとキーリピートの間隔があるから、スクリプトのほうが効果あると思ったんだけど、
そう言われてみれば確かに大差ないか。無知さらして、すまんね。
田代砲なんかはそこらへん回避しているんだろうな。
けど、攻撃を教唆するような書き込みは、やはりどうかと思うぞ。
同調する人間が少なかったから、良かったが。
荒し依頼で削除対象にはならないかな。
518 :
学生さんは名前がない :04/02/03 21:06 ID:6KEDRAwZ
殺伐としているから、和やかなレスを。 IDがDraw
519 :
( ・∀・)∩ ウンコビ━━ム ◆UNKO2Bx6Ww :
04/02/03 21:07 ID:D43IJyuu ビジュアルベーシックならやったことあるけど それでもいっぱいいっぱいだった。うんこうんこうんこうんこ