- 1 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/30(金) 21:01:32.89 ]
- C言語の入門者向け解説スレッドです。
★前スレ C言語なら俺に聞け(入門編)Part 99 toro.2ch.net/test/read.cgi/tech/1331786500/ ★過去スレ makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000 ★教えて欲しいのではなく宿題を丸投げしたいだけなら ↓宿題スレ↓へ行ってください。 C/C++の宿題片付けます 156代目 toro.2ch.net/test/read.cgi/tech/1328276597/ ★C++言語については避けてください。C++対応明記スレへどうぞ ★分からない事をなるべく詳しく書いて下さい。 ★ソースコードを晒すと答えやすくなるかもしれません。 # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること # サイズが大きい場合は宿題スレのアップローダ等を利用してください ★開発環境や動作環境も晒すと答えが早いかもしれません。 ★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。 長くなりそうなコードはcodepadに貼り付けてもいいでしょう codepad.org/
- 384 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 18:39:14.70 ]
- 問題はミニノート以外は妹の持ち物という事だが
最近スカイリムを買ってもらって夢中だから気づかないだろう
- 385 名前:330 mailto:sage [2012/04/12(木) 18:40:09.54 ]
- >>342
ええと、なんかがんばってたんだな。 たとえばSPが後置インクリメントである環境を用意するよね。 >>329は、マシン自体がそうなってるから、 それを複雑というのはやめてくれという主張だよね。 これがどれだけおかしな主張だったり例であるかがわからないの?
- 386 名前:片山博文MZボット ◆0lBZNi.Q7evd mailto:sage [2012/04/12(木) 18:40:19.55 ]
- Mac OS X 10.5.3以降必須って書いてあるぞ。
- 387 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 18:49:36.22 ]
- AndroidならLinuxでJavaでタダじゃないの
- 388 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 18:50:57.52 ]
- 何! OSも新しいのがいるのか
2万以下で買えるかな・・・
- 389 名前:デフォルトの名無しさん [2012/04/12(木) 18:51:17.98 ]
- >>385
方言が強くてわからへん、何言うとんねん
- 390 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 18:56:42.08 ]
- >>387
なんかさ アンドロイドのアプリは端末の使用がいっぱいあって開発がめんどくせえんだろ? どっかの会社が開発コストかかりすぎて儲からんってアンドロイドからは撤退してたじゃん
- 391 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 20:39:15.74 ]
- >>390
あれ、ネイティブコードをばりばりつかってるゲームだからじゃね?
- 392 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 21:48:04.92 ]
- あえてネイティブコードで書かないと性能が出ないってのも困りモンだな
- 393 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 23:22:15.10 ]
- あるshift-jisで書かれたテキストファイルを読み込み、
multibytetocharおよびwidechartomultibyteを使ってutf-8に変換して、 またファイルに書き出してます。 ですが、ファイルの末尾を書き出すと、その末尾の文字は正しく書き出されるのですが、 その後ろに数倍とぐらいゴミみたいなデータが書き込まれてしまいます。 これってどんな原因が考えられるでしょうか
- 394 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 23:31:27.58 ]
- >>393
マニュアル嫁
- 395 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 23:33:16.69 ]
- >>393
余分に書き出している。
- 396 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 23:33:42.25 ]
- > あるshift-jis
shift-jisにはいくつかの種類があんのか? それとも「shift-jisで書かれたとあるテキストファイル」なのか? 日本語くらいはしっかり使えアホ > 数倍とぐらいゴミみたいなデータ そのバイト列は具体的にどんなもんで いつも同じなのか それとも違うのか そんくらい書けよバカ
- 397 名前:デフォルトの名無しさん [2012/04/12(木) 23:49:04.22 ]
- などと意味不明な供述をしており
- 398 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 00:18:29.96 ]
- mallocで領域を確保するといいますが、確保しただけじゃ領域に書き込む事って不可能では?
実際 int *m; m=malloc〜〜だと ポインで与えられるので、目的の領域に数値を書き込めなくない? と思うのですが。
- 399 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/04/13(金) 00:20:07.91 ]
- >>398
なんでやね〜ん。 そんなことより、ただの typo だとわかっていても「ポインで与えられる」という言葉が妙にツボった。
- 400 名前:デフォルトの名無しさん [2012/04/13(金) 00:27:05.52 ]
- >>398
確保された領域の記憶保護については未規定ということか よく思いついたね、でっていう
- 401 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 01:13:28.26 ]
- >>398
この辺のいきさつは規格に何か書いてあったような記憶がある malloc()で確保した領域に書き込み出来る事が保証されてないのなら 多くのプログラムが書けなくなってしまうからな
- 402 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 01:30:58.60 ]
- なんだここ
随分上から目線のやつがいるんだな 俺よりレベル下のくせによ まあいい 明日また来るよ
- 403 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 01:34:20.52 ]
- だってchar *t;の場合tの指し示す領域に書き込みするにはstrcpyとか必要でしょう?
int *tの場合は、ポインタ経由で同じ領域に書き込めるのは何故かなと。
- 404 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 01:39:31.83 ]
- >>403
バカ発見 char *p; が既に領域確保済みなら *p = 'a'; と書き込み可能 あんたが言ってるのは文字列のコピーであって、全く意味が異なる
- 405 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 02:16:31.68 ]
- >>396
> shift-jisにはいくつかの種類があんのか? まるで「種類なんてないだろ?なんでこう取れる書き方をした?」とでも言いたそうだけど。
- 406 名前:デフォルトの名無しさん [2012/04/13(金) 02:31:00.75 ]
- Cの参考書で、分かり易いものがあったら教えて貰えませんか?
- 407 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 02:40:39.33 ]
- いまどのレベルなの
- 408 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 02:49:04.32 ]
- C実践プログラミング
- 409 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 13:54:19.18 ]
- 3000バイトぐらい確保したバッファの末尾部分だけを見たいんですが、
デバッガでブレークポイントで停止しても最初の100バイトぐらいしか見れません どうにかして末尾部分を見る方法ないっすか?
- 410 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 14:08:25.68 ]
- >>409
デバッガの使い方は他のスレで。 つーか、あんたがどんなデバッガ使っているかわからんのに答えろとでも?
- 411 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 14:29:08.14 ]
- 気がきかねーな
デバッグつったらVCしかねーだろ
- 412 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 14:55:10.94 ]
- 正解を見つける前に工夫して何とかすることができない限り未来は暗い
- 413 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 14:58:23.60 ]
- 工夫する前に過去事例をチャッチャと見つけられない限り未来は暗い
- 414 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/04/13(金) 15:01:09.78 ]
- >>411
なんでやね〜ん
- 415 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 15:01:37.08 ]
- つーかファイル出力するとか色々やり方はあるだろ
File* fp = fopen("dbg.txt", "wb"); for(int i=0; i<3000; i++) fputc(data[i], fp); fclose(fp); たった4行でできるのに馬鹿じゃね
- 416 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 15:12:57.09 ]
- バーロー
ファイルに出力するときにもう解読不可能な文字になってるから、 文字コードを見たいんだよ
- 417 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 15:15:38.41 ]
- バイナリエディタで開くかsprintfで16進に変換した跡で出力
- 418 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 15:25:37.92 ]
- fprintf("%02X " , data[i] & 0xff);
こんな感じでいいんじゃね?
- 419 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 16:24:16.48 ]
- >>416
じゃぁ、メモリみても意味なくね?
- 420 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 16:43:30.70 ]
- デバッガ名乗って>409ができないとかあり得ない
VCならウォッチにptr+2900, 100とかデバッグ→ウィンドウ→メモリとか
- 421 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 16:51:27.43 ]
- 名乗るほうのデバッガじゃないと思うよ
- 422 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 16:53:52.86 ]
- gdbなら全部見るオプションがあるね
- 423 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 17:15:03.00 ]
- だから、スレ違いなんだから相手にすんなよ。
- 424 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 17:35:51.40 ]
- 一週間前に買ったC言語入門編の本を読み終えそうなんだけど
次、どの本読めばええの…
- 425 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 17:50:53.20 ]
- バイナリエディタを忘れてた
ありがと
- 426 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 18:05:27.15 ]
- >424
コンパイラのマニュアル 他人の書いたソース
- 427 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 18:07:39.42 ]
- >>424
本屋でぺらぺらめくって、知ってることと知らないことが書いてある本を探す
- 428 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 18:14:03.87 ]
- >424
PC9801プログラマーズバイブル
- 429 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 18:28:56.86 ]
- C言語を256倍使う本
- 430 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 18:31:53.31 ]
- 堀紘一 著
「一番いいのはサラリーマン」 「サラリーマンなんか今すぐやめなさい」
- 431 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 18:34:43.16 ]
- >>424
Effective C++
- 432 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 18:35:24.54 ]
- >>431
いい本だがC++じゃん。
- 433 名前:406 [2012/04/13(金) 19:34:26.44 ]
- >407-408
ありがとうございました。繰り返しとか条件分岐は分かる程度です。
- 434 名前:424 mailto:sage [2012/04/13(金) 19:50:51.20 ]
- ふむ。サンクス
とりあえず本屋よってみる
- 435 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 19:51:42.87 ]
- ゴミデータが書き出される理由がマジわかんね
誰か助けてくれよ
- 436 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/04/13(金) 19:54:09.12 ]
- >>435
再現可能なコードを提出すること。
- 437 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 20:17:35.21 ]
- 末端と思っている箇所が末端として伝わらないファイル書き出しをしてるとエスパー
変換の過程で得られるであろうバイト数(or 文字数)を利用して fwrite() してるのか \0 終端を期待して fprintf() してるのか
- 438 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 20:36:07.37 ]
- 最後はstrlenを使ってバイト数を出して、
fwriteのバイナリモードで書き出してる。 fprintfって\0まで書き出してくれるっていう仕様だっけ? やってみる。
- 439 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 20:40:46.24 ]
- fprintfで書き出しても一緒だった
じゃあヌル文字の前に何故かゴミが入ってるってことか。 くそっ UTF-8変換の過程で末尾に変なゴミが入る原因って何だよ!! 末尾以外の文字は完璧に変換できてるっていうのに!!
- 440 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 20:40:54.21 ]
- pとqというリストをもらってpの後ろにqを連結するプログラムを作りたいのですがこれで実行するとpのリストしか表示されません
なぜこれではリストの連結ができないのでしょうか リストを表示するプログラムはこの中にあるのと同じような条件でやっています。 実行結果は p= 10 20 30,q= 40 50 というリストがあった場合 10 20 30 と出力されます struct cell *append(struct cell *p, struct cell *q) { struct cell *k, *h; h=(struct cell *)malloc(sizeof(struct cell)); k=(struct cell *)malloc(sizeof(struct cell)); k=p; h=k; while(p!=NULL) { printf("%d %d\n",p->value, k->value); p=p->next; k=k->next; } k=(struct cell *)malloc(sizeof(struct cell)); k=q; while(q!=NULL) { printf("%d %d\n",q->value, k->value); q=q->next; k=k->next; } return(h); }
- 441 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 21:16:45.78 ]
-
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ★ 本日13日(金)よる10時より 《人権救済機関設置法案反対ツイッターデモ》開催 ★ ツイッターしている人は、ハッシュタグに#人権救済機関設置法案反対#nhk24をつけて、この法案の 危険性、抗議の法案などをいっせいに呟きましょう。 ツイッターと連動している「NEWS WEB24」に取り上げてもらいましょう 。 ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■
- 442 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 21:38:14.71 ]
- >>440
リストpの後にqをつなげているように見えないけど?
- 443 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 21:48:46.55 ]
- >>440
こんな感じ? codepad.org/uvJYomYM
- 444 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 22:00:27.03 ]
- お漏らししてるw
- 445 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 22:24:20.27 ]
- そもそも引数で既存のリストふたつのアドレス受け取ってるのに、
なんであらたにmallocしてるのかがよくわからないんだけど こんな感じじゃいかんの? codepad.org/wRssci0L
- 446 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 22:33:33.53 ]
- >>445
うん、それ
- 447 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 22:42:46.73 ]
- >>439
Win32 の WideCharToMultiByte とか MutiByteToWhideChar 使ってるのか? これの戻り値は終端の \0 を含まない文字数を返すから 文字列として(つまり \0 で終わることを保障するように)扱いたいのならば 必要なバッファの大きさは 戻り値+1 であり 変換前に領域を 0 で埋めるか バッファ[戻り値] = 0 と終端を付加しないと その後の文字列処理(例えば strlen 等 \0 終端前提の関数)が成立しないぞ
- 448 名前: ◆QZaw55cn4c mailto:sage [2012/04/13(金) 23:10:35.52 ]
- >>447
win32api はそういうのが多いのかな? *(DWORD *)buff = N; n = SendMessage(hwndEdit, EM_GETLINE, i, (LPARAM)buff); InnerBuff[n] = 0; のセットに気がつくまで苦吟した。
- 449 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 23:23:07.08 ]
- >>448
文字を操作するのはほとんどそういうの 所々「文字数」だったり「バイト数」だったりで 動的確保時に要注意の奴があったようななかったような
- 450 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 01:12:41.72 ]
- >>447-449
それやってもダメだった。 なんかゴミが書き出されないときと書き出されるときがあるんだよな。 それぞれ読み込んでるファイルは違う。 コードはこんな感じ void Write(char *buf,FILE *fp) { int nsize; WCHAR *p16; char *p8; nsize= MultiByteToWideChar(CP_ACP,0,(LPCSTR)buf,-1,NULL,NULL); p16 = new WCHAR[nsize+1]; memset(p16,0,sizeof(nsize+1)); MultiByteToWideChar(CP_ACP,0,(LPCSTR)buf,-1,(LPWSTR)p16,nsize); nsize=WideCharToMultiByte(CP_UTF8,0,(LPCWSTR)p16,-1,NULL,0,NULL,NULL); p8=new char[nsize+1]; memset(p8,0,nsize+1); WideCharToMultiByte(CP_UTF8,0,(LPCWSTR)p16,-1,(LPSTR)p8,nsize,NULL,NULL); nsize=strlen((char*)p8); fwrite(p8,nsize,1,fp); delete [] p16; delete [] p8; }
- 451 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 01:16:44.89 ]
- sizeof(nsize+1)はただのnsize+1の間違い
もちろんこれでもだめ。 ゴミが出るときはあるファイルを読みこんで書き出すとゴミが発生する でも発生しないときのファイルの末尾は、 ゴミが出るときのファイルと一緒で改行コードで終わらせてる だから何が原因かマジでわからん
- 452 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 01:18:24.49 ]
- 24時間経ってようやくコードのお出ましかよ
一緒に出しときゃあ24時間も丸々ムダにせずにすんだのに
- 453 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 05:31:48.13 ]
- > memset(p16,0,sizeof(nsize+1));
ここは memset(p16,0,sizeof(WCHAR)*(nsize+1)); じゃないと全部ゼロクリアできないんじゃないの?
- 454 名前:451 mailto:sage [2012/04/14(土) 07:33:59.96 ]
- >>453
うん その通りだ でもそこ修正してもダメだった。 この関数を呼び出す前の、テンプレートファイルを読み込む部分のコードは、 fp=fopen(TEMPLATE1,"rb"); fseek(fp,0,SEEK_END); fgetpos(fp,&size); fseek(fp,0,SEEK_SET); basic = new char[(int)size]; memset(basic,0,(int)size); fread(basic,(int)size,1,fp); fclose(fp); こんな感じでバッファを確保して、 このバッファをWrite関数に渡してるんだがおかしくないよね?
- 455 名前:451 mailto:sage [2012/04/14(土) 07:41:26.13 ]
- ちなみにこのテンプレートファイルを読み込んで、
そのままUTF-8に変換せずに書き出してもゴミはなかった。 だからテンプレートファイルに最初からゴミが入ってるってことはないと思う。 よって、やっぱりさっきの変換関数のどこかがおかしいんだと思う
- 456 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 09:46:17.85 ]
- 一般的にファイルには、終端文字が記録されていないので、
basic = new char[(int)size+1]; memset(basic,0,(int)size+1); だな。
- 457 名前:451 mailto:sage [2012/04/14(土) 10:23:43.31 ]
- >>456
うおおおおおおおおおおおおおお!! これだ! やってみたらゴミ消えたよ!! マジありがとう!!! 基本のファイル読み込みの時点で間違ってたとは情けない ご迷惑をおかけしました
- 458 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 10:30:26.34 ]
- ベターCということで以後よろしゅうお願いします。
- 459 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 12:35:40.25 ]
- > 基本のファイル読み込みの時点で間違ってたとは情けない
ださっ
- 460 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 12:47:54.24 ]
- >>459
答えられなかったお前もレベル低いよ
- 461 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 12:51:31.43 ]
- >>456
basic = new char[size + 1]; basic[size] = 0;
- 462 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 14:10:45.36 ]
- >>456
細かいことだけどサイズがわかってるんだからmemset使うのは無駄な処理だね 末尾に'/0'を入れてやるだけでいい
- 463 名前:デフォルトの名無しさん [2012/04/14(土) 20:19:23.89 ]
- 細かいことだけどシングルクオートの中に2文字入れると効果は処理系定義だぞ
あんたどこの文化圏の人?
- 464 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 20:32:37.35 ]
- >>463
え・・・ 何・・・?
- 465 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 21:00:16.79 ]
- は?ヌル文字だろ?(威圧)
- 466 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 21:27:11.53 ]
- かみわりだとニャル子さん、さんかれあ、ふぁて
このあたりが再生数多いな
- 467 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 21:28:31.38 ]
- いきなりなんだ
とうとう狂ったか
- 468 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 22:02:40.50 ]
- ダウンロード違法化も決まったと言うのに
- 469 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 23:33:42.95 ]
- ふう
- 470 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 00:20:38.70 ]
- むにゃむにゃ
おやすみなさい
- 471 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 00:47:55.54 ]
- AB|C|D
AC|B|D AD|B|C A|BC|D A|BD|C A|B|CD 異なる4個を区別しない3箱に分けるにはスターリング数で上記のように6通りですがこれを列挙するアルゴリズムを考えてください。 出力は{{1100,0010,0001},{1010,0100,0001},{1001,0100,0010},{1000,0110,0001},{1000,0101,0010},{1000,0100,0011}} のように2進数4ビット3つ組みで、箱に入れる物のビットが立つようになってると良いです。順番はどうでもいいです。 実際は個数・箱数は入力して可変にしたいです。 2箱ならビット演算余裕で思いついたんですけどね
- 472 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 01:36:04.47 ]
- 思いついたの晒せよアホ
- 473 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 02:04:56.36 ]
- codepad.org/4AqJ2d5O
こんなのでいいの?
- 474 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 02:30:24.01 ]
- いいよ
- 475 名前: ◆st4kIyCS7. mailto:sage [2012/04/15(日) 11:12:18.20 ]
- codepad.org/pP8WEFFy
玉の数=箱の数+1で良ければ!
- 476 名前: ◆st4kIyCS7. mailto:sage [2012/04/15(日) 12:04:04.60 ]
- 箱の数+1=玉の数の場合、箱の数=m、玉の数=nとすると。
組み合わせの数は、n*(n−1)/2*1 例 4*3/2=6 箱の数+2=玉の数の場合、上にmを掛けた、m*n*(n−1)/2*1 例 3*4*3/2=3*6=18 箱の数+3=玉の数の場合、上にmを掛けた、m*m*n*(n−1)/2*1 例 3*3*4*3/2=3*3*6=54 箱の数+4=玉の数の場合、上にmを掛けた、m*m*m*n*(n−1)/2*1 例 3*3*3*4*3/2=3*3*3*6=162
- 477 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 13:15:13.51 ]
- できたけど codepad って使ったことないんだよな
ちょっと待って
- 478 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 13:28:09.34 ]
- int a[3][4] = {0}; ってできなかったっけ…
codepad でエラー取り切るのむずいもうちょっと待って
- 479 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 13:34:28.92 ]
- codepad.org/jswzTyVE
これでいいのかな。コメントに日本語って使って大丈夫かな? 微妙に C++ 混ざってるけど勘弁して。max / min って C だとどこに入ってたっけ…
- 480 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/04/15(日) 13:44:12.45 ]
- >>479
意外なことだが C には無い。 (少なくとも C99 には) 索引の当該ページ uploader.sakura.ne.jp/src/up94166.png
- 481 名前:C言語初心者 [2012/04/15(日) 15:53:16.31 ]
- 文字列str中の文字c1を文字c2に置きかえる関数substを作成したのですが、
出力させるとnullとなり、文字列が出力されません。 どこに間違えがあるのでしょうか。 codepad.org/fYMt6DlJ
- 482 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 15:55:20.62 ]
- >>481
subst の型と戻り値
- 483 名前:C言語初心者 [2012/04/15(日) 16:59:38.68 ]
- substをchar型にすればよいのですか??
あと戻り値はどのようにすればうまくいきますか??
- 484 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 17:24:20.62 ]
- char* subst(char *str, char c1, char c2){
char *p = str; while(*p){ if(*p == c1){ *p = c2; } p++; } return *str; }
|

|