[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 06/11 11:18 / Filesize : 195 KB / Number-of Response : 805
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C言語なら俺に聞け(入門篇) Part 21



1 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 06:24:18 ]
C言語の入門者向け解説スレです。
・C++言語はスレ違いです。
・分からない事をなるべく詳しく書いて下さい。
・ソースコードを晒すと答えやすくなるかもしれません。
・質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。

前スレ
C言語なら俺に聞け(入門篇) Part 20
pc11.2ch.net/test/read.cgi/tech/1192455273/

教えて欲しいのではなく丸投げしたいならこちらへ
C/C++の宿題を片付けます 99代目
pc11.2ch.net/test/read.cgi/tech/1194262698/

267 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 17:45:44 ]
>>258
ありがとうございました、そちらのほうにいってみます

268 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 18:31:36 ]
>>266
引数がunsigned short *Buffだとわかっているので、
*(Buff+1) += 0x12345678;
もunsigned shortで行われる。
(正しくはintに拡張されて計算されてshortに丸められる)

その結果がshortに収まらなくてオーバーフローしても、
他の領域には影響は及ぼさないよ。

269 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 18:43:07 ]
ちなみに、usWork[1]の値は、0x5678になる。

270 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 19:17:00 ]
なんか
ポインタじゃなくて配列の代わりみたいなもん、って教え方した方が
俺の場合はすっきりした><

でもポインタなんだよね。
ポインタなんて死ねばいいのに

271 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 19:38:38 ]
むしろポインタ以外は死んで欲しい。
全部ポインタでメモリ確保しなきゃ使えないようにすれば混乱しなくていいのに。

272 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 19:43:13 ]
関数の引数はx[]と書いても*xと書いても意味は同じだからね。
文字列(char*)の配列なんかだと、char *argv[]やchar **argvになってしまう。

[]付きのほうが理解しやすいよね。

273 名前:デフォルトの名無しさん [2007/11/13(火) 20:30:05 ]
すいません。

迷路でゴールを目指すプログラムを作りたいのですが、
左手法までたどり着き、その後がまったく分かりません。

どなたか、左手法の参考プログラムを教えていただけませんか?

ちなみに、Cを始めて3ヶ月です。

274 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 21:31:05 ]
>>273
進行方向というパラメータを持って、
左に壁があれば1歩直進(前が壁なら右回転)、
左に壁が無ければ左を向いて1歩直進。
これの繰り返しじゃないのかな。

int maze[100][100]={...}; /* 迷路。壁が1、通路が0 */
int x=1,y=1; /* 現在地 */
int direction=0; /* 向き */

while(x!=98 && y!=98)
{
if(existleft()){if(existfront()){turnright()}else{go()}}
else{turnleft();go();}
}


275 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 21:37:30 ]
すみません変な質問なのですが

tanak 170 60
satou 180 70
suzuki 162 55

onaka 192 80 (100行)

みたいなデータがあるのですが。
1行目読み込んで、任意の行(60行目とか)に飛ぶには
fseekでどうやるのでしょうか?

for文で回して、5行おきとか飛んだり、10行おきとかscanfで指定した分だけ飛んだり出来るような
ソースを最終的には考えているのですが、まずは指定した行だけ飛ぼうと思いまして



276 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 21:41:15 ]
>>275
>fseekで
そのデータじゃ無理

277 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 21:41:59 ]
嘘を教えるなよ

278 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 21:45:31 ]
文字列がどう入ってるかによるんじゃね?

279 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 21:45:41 ]
>>275
fseekはバイト単位で進んだり戻ったりする。データがテキストなら改行で数えたほうがラク。

280 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 21:48:01 ]
>>279
改行で数える、というのは具体的にはどうやればいいんでしょうか

281 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 21:50:00 ]
前に戻らないんなら、fgetsで読み捨てればいいんじゃないか。

282 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 22:00:06 ]
fgetsだと、文字列や数値を変数にもっていくのがよくわからなく
fseekで移動しfscanfで読み込むという作業をしようとしていました。



283 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 22:01:07 ]
>>282
sscanfでいいじゃね?

284 名前:デフォルトの名無しさん [2007/11/13(火) 22:07:36 ]
C言語で簡単なプログラムを作りたいんですが・・・

 ビット位置------入力ポート--------
 0 ・・・ SW1 ON:0 OFF:1
 1 ・・・ SW2 ON:0 OFF:1
 2 ・・・ SW3 ON:0 OFF:1 
 3 ・・・ SW4 ON:0 OFF:1 ・・・ モータ回転 右:1 左:0
 4 ・・・ 未使用 ・・・ 0 1
 5 ・・・ 光SW 明:0 暗:1


285 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 22:08:09 ]
毎行fscanfしなくても、n行読み飛ばすなら、
for(i=0;i<n;i++)fgets(buff,buff_size,fp);
でいいんじゃないかってこと。



286 名前:デフォルトの名無しさん [2007/11/13(火) 22:09:36 ]


main()
{
int cnt, data;
outport (3,0) /* モータを止める
outport (4,0)
printf ("SW××を押してください\n");
while (1) { /* 無条件に繰り返す
data = inport (1) /* inport関数からdataを受け取る
if (data==××) /* SW××が押された状態か
break; /* 繰り返しから抜け出る
}
outport (××, ××); /* モータを動作させる
for (cnt=1 ; cnt<100 ; cnt++); /* 暫く待つ
outport (3,0); /* モータを止める
outport (4,0);
}
 注:××はSWの番号やモータの右左のポートが入る



287 名前:デフォルトの名無しさん [2007/11/13(火) 22:11:06 ]

上の条件やプログラムを参考にして
「SW1がONの時モータが右回転、
SW2がONの時モータが左回転、
SW3,4がONの時モータを止める、
光SWを暗くするとプログラム終了。」
というプログラムを教えて欲しいです。
他に何か必要な条件などがあったら教えてください。

288 名前:デフォルトの名無しさん [2007/11/13(火) 22:11:59 ]
連投失礼しました


289 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 22:15:41 ]
SW1とSW2がONになったらどうするんだ?
SW1とSW3がONになったらどうするんだ?

290 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 22:17:01 ]
for文で待つとかwww

291 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 22:19:11 ]
0 = ON、1 = OFFが気になって夜も眠れない。

292 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 22:33:05 ]
>>291
モーターならドライバにFETとかが入るので、負論理は普通にありえる。

>>287
電気・電子板がいいとおもうぞ。
science6.2ch.net/denki/

293 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 22:36:14 ]
あ、スイッチもか。
スイッチならプルアップして、押下時に接地で負論理ってのは多いな。


294 名前:デフォルトの名無しさん [2007/11/13(火) 22:47:50 ]
SWが2つ以上ONにして動作するのはSW3,4のみにしてそれ以外は動作しないものとします


295 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 23:00:42 ]
mbga.jp/AFmbb.S6kw4dbb1f/
モバゲーやっちゃお
ケータイでね



296 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 23:05:15 ]
>>294
>>284を見る限りビットで制御するようだが、outport()とinport()の引数は整数なのか?

297 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 23:15:43 ]
整数です


298 名前:デフォルトの名無しさん [2007/11/13(火) 23:18:03 ]
readとfreadやっぱりreadの方が早いんですか?
おしえてえろい人

299 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 23:26:45 ]
>>297
outport()の第2引数はなんなの?
SW3とSW4が押されたとき、inport()でどうやって受け取るの?inport()を2回呼ぶの?
つーかそもそもinport()は実行すると入力があるまで待つの?
ハードの仕様も分からんし、不明な点が多すぎるよ。

300 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 23:27:47 ]
>>298
readって何?

301 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 23:38:46 ]
>>298
気にするな。お前が使えば、どっちでもそう変わりはしない。

302 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 00:05:03 ]
readvのほうがもっとはやい。
mmapならさらにはやいかもしれない。

303 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 01:17:22 ]
シスコと標準ファンクシャンヌの区別くらいできろよ。

304 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 19:57:03 ]
ユーザーに5桁の整数を入力してもらい、除算演算子と剰余演算子を使用して
それが回文かどうか判定するにはどうすればいいですか。


305 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 19:58:45 ]
配列に文字列で取得させて、
んで5ケタなら[0]と[4] [2]と[3]を比べてどっちも一致なら回文。



306 名前:デフォルトの名無しさん [2007/11/14(水) 19:59:32 ]
C言語の自主勉強の仕方教えてください!
今は一応入門の本を買って手取り足とりでプログラムを組んでる最中です


307 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 19:59:59 ]
それを続ければいいじゃないの。

308 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 20:01:54 ]
>>306
基礎を学んだら適当に自分でソースかいて実際コンパイルの繰り返し。
ボーリングのスコア計算とか組めるようになってようやく超初心者卒業じゃないかな。

309 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 20:06:51 ]
>>306
独習Cだな。
あれを眠くならずに飽きもせずに最後まで練習問題こなせたら構文は卒業だよ。

とネタはさておき、何のためにCを勉強するかじゃないのか?
学校とか情報処理試験のためならそのレベルで十分だし、
何か作りたいソフトがあるなら、調べながらでも実際に作ってみればいい。
Cに限らずアルゴリズムやAPI、通信手順など学ぶものはいくつも出てくるから。

310 名前:デフォルトの名無しさん [2007/11/14(水) 20:08:31 ]
そうですか〜
今一応簡単なのをしてるんですが楽しいです、本のまねをしてるだけですが
最初は仕組みを重点的に勉強した方がいいですか!?


311 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 20:13:56 ]
例えば
int main(void)
から始まるけど、このvoidってなんだい?とか説明できるようになるともっと面白くなるよ。
構造も大事だけど意味も知ったほうがなおよし

312 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 21:06:21 ]
>>310
ポインタと構造体の使いかたは理解しといたほうがいいと思うな
ソースが汚い人は大抵、構造体の使いかたが下手だよ

Cの本はあとあと読まないものが多いから、市立図書館を活用するのが一番のコツだと思う

313 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 21:15:12 ]
市立限定かよw

314 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 21:17:39 ]
区立図書館はダメですか?

315 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 21:17:54 ]
村のオラはどうしたら><



316 名前:312 [2007/11/14(水) 21:18:45 ]
ごめん、なんでもいいよorz

317 名前:デフォルトの名無しさん [2007/11/14(水) 21:23:43 ]
文系が得意な僕はプログラム系の仕事は向いていませんか?
ちなみにパソコンを触ることは大好きです

318 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 21:28:59 ]
プログラミングに理系の素養は多少はあった方がいいが、
クライアントとの意思疎通やドキュメントの作成など、
文系の方が有利といえる内容も多いので、
理系だ文系だというのは関係ない。

胸を張って「俺は体育会系だ」と言ってやれ。

319 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 21:36:49 ]
文系理系でどうこう言うやつって、血液型で性格をどうこう言うやつと同レベルだろ。

320 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 21:56:04 ]
整数の各桁の値を、配列もポインタも使わずに、
また文字(列)としても扱わずに、四則演算だけで求める方法を
教えてください。

たとえば、123234と入力されたら、
num1 == 1;
num2 == 2;
num3 == 3;
num4 == 2;
num5 == 3;
num6 == 4
という風に取得したいのです。


321 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 22:23:02 ]
>>320
% も使ったらいかんの?

num1 = n - (n / 10 * 10);
n /= 10;
num2 = n - (n / 10 * 10);
n /= 10;
num3 = n - (n / 10 * 10);
n /= 10;




322 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 22:24:20 ]
あ、%は使ってもいいです。
むしろ%と/を使って取得する方法が知りたいのです。

323 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 22:28:48 ]
num1 = n / 1 % 10
num2 = n / 10 % 10
num3 = n / 100 % 10
num4 = n / 1000 % 10
num5 = n / 10000 % 10

>>320 とは逆順だけど

324 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 22:33:53 ]
>>323
ありがとうございます

325 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 23:04:57 ]
ソースを読んでC言語を勉強したいのですが、お勧めのソースはありますでしょうか。



326 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 23:10:47 ]
ない

327 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 23:40:27 ]
>>319
世の中大概のことは非線形で
理系はそのことを理解していてなおかつ計算を楽にするために線形で近似する。
もちろん近似だからそれに限界があるのも知っている。
だが文系は最初から線形だ。
所詮は近似でしかない計算をバカはどこまでも頼みにしてバカでない者は経験で適当に我流の修正を加えていく。
計算が不完全なのを知っていて理論を新しく作ることも出来ないから理論を講じること自体を頭から否定して自分の経験に依存する。
物事のとらえかたに根本的な差があるのさ。

328 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 23:58:06 ]
>>325
ttp://www.ioccc.org/


329 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 00:00:53 ]
anderson.c がお薦め。

330 名前:デフォルトの名無しさん [2007/11/15(木) 11:43:39 ]
聞きます!

変数Aに変数Bの特定ビットを読み込みたいのですが、
専用の命令はありますか?

変数Bの 01010101の 一番右の「1」だけ、とか 
右から4番目の「0」だけとか読みたいのです。

「>>」 と 「<<」でずらすのが一番処理が早いでしょうか?

331 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 11:45:56 ]
まあ普通はシフトするかな。
ビットフィールド使うこともあるけど。

332 名前:デフォルトの名無しさん [2007/11/15(木) 11:46:42 ]
A = (B >> n) & 1

333 名前:デフォルトの名無しさん [2007/11/15(木) 11:47:51 ]
bitset <100> B;

A = B[52];

334 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 13:12:16 ]
ありがとうございます!
&演算子ありましたね。スマートです。
bitset勉強が必要です。精進します。どもども。

335 名前:デフォルトの名無しさん [2007/11/15(木) 13:25:10 ]
#include <stdio.h>

int count_a(char *);

int main ( void){
char str[]="Hello !! I am Computer.";

printf("%s \n",str);
printf("aを%d個含みます\n", count_a(?));

return 0;
}

int count_a(?){
?
}
文字列strに含まれる'a'の個数を戻り値とする関数count_aを作成せよ。
?の部分がわからないです



336 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 13:34:31 ]
#include <stdio.h>
int count_a(char *);

int main ( void){
char str[]="Hello !! I am Computer.";

printf("%s \n",str);
printf("aを%d個含みます\n", count_a(str));

return 0;
}

int count_a(char* str){
 int count;
  for( count = 0;*str != '\0'; str++)
   if(*str == 'a')
    count++;
 return count;
}

337 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 13:47:26 ]
きめえ! わざわざ自動varにコピーすんなボケ。


338 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 13:51:34 ]
コピーってどこの事ですか?

339 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 13:52:35 ]
自動var?


340 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 14:01:32 ]
ワロタ

341 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 14:06:46 ]
ちょっとクールにきめてみたぜ
ナウい略語を使ってるオレかっこよすぎだぜ

という心の声が

342 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 14:08:17 ]
自動var……
auto variableのことか?

343 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 14:11:20 ]
>char str[]="Hello !! I am Computer.";
 
たぶんこれのことだろうか?

344 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 14:36:00 ]
char* str="Hello !! I am Computer.";
こうしろって事かな?


345 名前:デフォルトの名無しさん [2007/11/15(木) 14:41:25 ]
C言語ってどう勉強したらいい?



346 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 14:55:17 ]
C言語っていつ勉強したらいい?

347 名前:デフォルトの名無しさん [2007/11/15(木) 15:02:51 ]
>>345
WisdomSoftのページの内容を全部解るくらいなら
あとはポインタ関連。それとANSIの関数(よく使うやつを主に)
を覚えておいた方が楽。
ついでに、基本的なアルゴリズムとデータ構造。
まぁ、気楽にね〜

348 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 15:46:37 ]
自分で欲しいと思うものがあるなら、それを作ってみるのがいい。
オレは昔友達とチャットがしたくて、コマンドラインベースのチャットソフトを作ったのが初めてのC。
必要にせまられて取り組むのとなんとなくでは、やる気も吸収スピードもまるで違うからね。
ソースはLinuxならSRPMとか、GNUライブラリあたりで大量に読める。
WindowsベースはほとんどC++かVBかDelphiだから、最近のはあまり役に立たないかもな。
WinAPIなんかdefineしまくってて、一見Cと思えないようなことしてるし。

349 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 16:20:52 ]
作るのが比較的簡単で使って便利なものは今は大概フリーソフトやオープンソースになってるからね
必要に迫られること自体あんまりなさそう

350 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 16:30:18 ]
>>349
そういうフリーソフトの「ここがこうだったらなぁ」を実現する為に作る時はあるよ。

351 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 16:36:41 ]
>>350
実は既に実装済みで単にオプションの設定を知らないだけだった

ということがままあるわけで

352 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 16:38:32 ]
既に存在するなら、それのマネでいいと思うよ。なにしろ興味を引く題材であることが大事。
よく本に載ってるアドレス帳みたいなの作れと言われても、いらねーと思ったらやる気起きないし。
趣味の範囲で取り組むならそれが一番。仕事だとそうもいかないけどね。
ただしコピペは厳禁な。全く身に付かないから時間の無駄。

353 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 16:48:17 ]
>>352
そうやって必死に身に着けた知識が
既成の優れたライブラリの前では何の役にも立たないと知ったときに
努力は無駄ではなかったと必死に自分に言い訳するのさ

努力が無駄ではなかったと言えるのは結果を出した者だけだ

354 名前:デフォルトの名無しさん [2007/11/15(木) 16:51:20 ]
コピペはマジで何も身に付かんね〜
猫でものホームページ見ながらSDK勉強しようとして
サンプルソースそのまま打ち込んだは良いが
何がどうなってるのかわけわからないままでいたもんだ
やっぱ初心者はウザイほどコメント付けるクセ
つけないと身に付かんね

355 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 16:52:50 ]
>>353
キミは目的を勘違いしてないか?世界一優れたライブラリを作るのが目的なの?



356 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 16:54:56 ]
>>351
いいんじゃねーの?
フルスクラッチできたら独自拡張できるんだし。

357 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 16:55:23 ]
ああ修正しながら使うのはむしろいいことかもな
この処理どうなってんだろーとかへーこうやるんだー
ってちらっとでも見て感心することも大事

358 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 16:57:06 ]
「どうしてこんなにつらいのボクだけ?」被害者意識に侵される
他人がひどくうらやましい そんな自分に
腹立つ毎日 手に負えない相乗効果

何をとまどうの ボクは今? なんでもありの人生の中で
ひとりよがりの悩みなど ほうり投げたら笑えよMOVE ON,MOVE ON, NOW

MOVE ON, MOVE ON

You're too young まだお若いのに疲れて 世界を全部見てきたよに
リタイヤするのもけっこう渋いと 呟いて
半端な同情買うのだけはやめよう

なにをびびってるの キミは今? でかいチャンスを目の前にして
なんてことはないよね何事も 楽しい者勝ち 動けりゃ MOVE ON,MOVE ON,NOW

寝て暮らすのも 街を捨てるのも 恋に溺れるも このボクの自由

何をとまどうの ボクは今? なんでもありの人生の中で
ひとりよがりの悩みなど ほうり投げたら 醜態を見せよう
がむしゃらな日々は報われる思いやり無きはバチ当たり
時の流れさえついてくる 自分で進みゃついてくる MOVE ON,MOVE ON,BABY

359 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 17:04:03 ]
あとはアレだ、しょーもない単一機能のテストプログラムでもちゃんとコメント付けること。
そしてそのソースは消さずにきちんとメンテすること。自作のソースが溜まっていくと、後で必ず役に立つ。

360 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 17:09:11 ]
そうやってゴミに埋もれて生きてゆくのね…

361 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 17:18:12 ]
STLが標準じゃなかった頃、
C++始めたら自作の文字列クラスを作るのが通過儀礼だったな。

不定長で来る文字列をどう受ければいいのか、
バッファを越えたら大きなバッファを確保してコピーするのか、
リストで繋げてみるか、可変長配列(これも自作)に収納するかとか、
自分の知っている知識でともかく実装してみて動くものを作った。

さらにアルゴリズムの本や他人のソースを見て、
思いもよらなかった方法を発見して試して、
自分の作ったものの完成度が高まるのは純粋に楽しいし、
そういう試行錯誤した経験は無駄にはならないよ。

362 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 17:21:32 ]
他の言語のあの関数使えたらな〜で似たものを作るとか

363 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 17:34:26 ]
>>362
最近は、Cの時はついついbits/stl_algo.hを見て書いてしまうw

364 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 18:18:27 ]
無駄にはならないと言うのは
若者に時間を無駄にさせて自分たちが追い越されまいとする年寄りの方便

で何かマシなことやろうとすると結局プラットフォームに依存してるんだよね

365 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 18:29:51 ]
>>364
無駄にならない方法をぜひ教えてくれ。



366 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 18:31:23 ]
>>365
2ch に充てる時間を半分にする

367 名前:364 mailto:sage [2007/11/15(木) 18:35:18 ]
>>365
>>364>>361に対する皮肉のつもりなんだが






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<195KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef