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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 20:41:54 ]
C言語の*入門者*向け解説スレッドです。
初心者、初級者の方は他の質問スレのほうが良いかもしれません。

教えて欲しいのではなく宿題を丸投げしたいだけなら
↓宿題スレ↓へ行ってください。
C/C++の宿題片付けます 130代目
pc12.2ch.net/test/read.cgi/tech/1250204272/

・C++言語はスレ違いです。
・分からない事をなるべく詳しく書いて下さい。
・ソースコードを晒すと答えやすくなるかもしれません。
  # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること
  # サイズが大きい場合は宿題スレのアップローダ等を利用してください
・開発環境や動作環境も晒すと答えが早いかもしれません。
・質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。

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

過去スレ
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

276 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 18:52:19 ]
argvの内容を一つずつ取り出して評価していけばいいのでは?

277 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 18:58:26 ]
>>276
今までそのようにしていたんですけど、getopt() を使う方が見た目も
すっきりしてわかりやすいので使ってみようと思いました。

BCCになかったので、何か代替のものがあるのかと思って質問しました。


278 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 19:12:15 ]
getopt()は非標準

279 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 19:51:22 ]
posixにあるのに?

280 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 20:26:40 ]
posixはposix

281 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 21:52:13 ]
CHAR_BITSってcharのbit数ですよね?
charが8bitでintは12bitといった処理系も世の中にはあるらしいんですが、この場合1byteのbit数っていうのは何bitなんでしょうか?
そもそもこのintは2byte?それとも1.5byte?

282 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 21:57:39 ]
intは最低16ビットなければいけない
いや、16ビットというふうに決まっているわけではないが、
少なくとも -32767 〜 +32767 の値を表現できなければならないので、
16ビット以上なければおかしい

283 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 22:33:53 ]
int main(void)
{
char buf[LINE_BUF];
char buf2[LINE_BUF];
char *log[10];
char *log2[10];
FILE *fp = fopen("a.txt", "r");
FILE *fp2 = fopen("b.txt", "r");

while(fgets(buf, sizeof buf, fp))
{
//printf("bufだよ%s",buf);
//printf("%s", log[0]);
while(fgets(buf2, sizeof buf2, fp2))
{
//printf("buf2だよ%s",buf2);
if(strncmp(buf,buf2,3)==0)
{
break;
}
else if(strncmp(buf,buf2,3)>0)
{
printf("%s",buf);
break;
}
}
}
fclose(fp);
return 0;
}


284 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 22:40:21 ]
int main(void)
{
char buf[LINE_BUF];
char buf2[LINE_BUF];
char *log[10];
char *log2[10];

FILE *fp = fopen("a.txt", "r");
FILE *fp2 = fopen("b.txt", "r");

while(fgets(buf, sizeof buf, fp))//NULLが返ってくるまで・・・
{
while(fgets(buf2, sizeof buf2, fp2))//NULLが返ってくるまで・・・
{
if(strncmp(buf,buf2,3)==0)//先頭から3文字が一致したらbreak
{
break;
}
else if(strncmp(buf,buf2,3)>0)//a.txtの行の値のほうが大きくなった=つまりb.txtにはもう存在しないため抜き出す
{
printf("%s",buf);
break;
}
}
   }
fclose(fp);
return 0;
}
ファイルは降順にソートされています。
a.txtにあってb.txtない行を抜き出すプログラムのつもりですが、当然正常に処理されていません。
2重目のwhile文で、抜けるたびに行を先頭から見るいくにはどうしたらよいでしょうか?(今のプログラムだと抜けるたびに次の行へ移動してしまいます)




285 名前:284 mailto:sage [2009/10/12(月) 22:41:42 ]
見やすくそろえたつもりですが、左揃えになってますね。。。

286 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 22:47:39 ]
>>285
Tabは削除されます
スペースはデータ上は残りますがブラウザの仕様で表示されません
長いソースを詠みやすい状態で貼り付ける時は別の方法を使うしかありません

287 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 23:00:40 ]
codepad.org/
ここ使えば問題ないさ

288 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 23:15:31 ]
>>286
そうでしたか。
1つ目のwhileの{の終わりがfcloseの上です。
2つ目のwhileの中にほとんどの処理が入っています。
見にくいと思いますが解読お願いします。。

289 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 23:31:42 ]
>>284
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

#define LINE_BUF 1024

int main(void)
{
char buf[LINE_BUF];
char buf2[LINE_BUF]="";

FILE *fp = fopen("a.txt", "r");
FILE *fp2 = fopen("b.txt", "r");
if(fp==NULL || fp2==NULL) exit(1);
while(fgets(buf, sizeof buf, fp))
{
if(feof(fp2) || strncmp(buf, buf2, 3)<0)
{
printf("%s",buf);
}
else
{
while(fgets(buf2, sizeof buf2, fp2) && strncmp(buf, buf2, 3)>=0)
;
}
}
fclose(fp);
fclose(fp2);
return 0;
}

290 名前:284 mailto:sage [2009/10/12(月) 23:40:08 ]
>>289
インデントのないコードは読まない事にしている

291 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 23:41:46 ]
>>290
ちょっと面白かったw
専ブラでポップアップ表示しな

292 名前:288 mailto:sage [2009/10/12(月) 23:47:37 ]
>>289
細かい部分も修正ありがとうございます。
実行してみたのですが、a.txtの先頭行以外がすべて表示されるプログラムとなっています。。。


293 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 23:47:42 ]
2chブラウザ開発しているやつって暇なの?
エラー処理も満足に実装できない糞APIなのに、どうして頑張っちゃうの?
ドカタ根性ってやつ?

294 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 23:58:17 ]
>>292
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

#define LINE_BUF 1024

int main(void)
{
char buf[LINE_BUF];
char buf2[LINE_BUF];

FILE *fp = fopen("a.txt", "r");
FILE *fp2 = fopen("b.txt", "r");
if(fp==NULL || fp2==NULL) exit(1);
fgets(buf2, sizeof buf2, fp2); // 追加
while(fgets(buf, sizeof buf, fp))
{
if(feof(fp2) || strncmp(buf, buf2, 3)>0) // 不等号の向きを変えた
{
printf("%s",buf);
}
else
{
while(fgets(buf2, sizeof buf2, fp2) && strncmp(buf, buf2, 3)<=0) // 不等号の向きを変えた
;
}
}
fclose(fp);
fclose(fp2);
return 0;
}



295 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 00:00:19 ]
>>294
完璧です!神!

296 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 01:35:07 ]
暗黙の型変換される訳ね―だろksg

297 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 02:22:59 ]
アンカーつけろよ

298 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 02:36:36 ]
Turbo C++ 1.01 のパッケのなかに getopt.c があるからそれ使えば?


299 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 02:50:09 ]
インデントが1桁ってありえないわー
最低でも2桁だろう

300 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 03:00:52 ]
インデントは8桁が正統

301 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 03:06:28 ]
はい、またインデントは何桁がいいかが始まりましたが、
雑談は雑談スレでお願いします

302 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 03:22:17 ]
そうそう。
今インデントを決める大事な話をしてるんだから、雑談なんかで邪魔するんじゃないぞ。

303 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 03:30:26 ]
4タブや2タブは、画面の幅が640しかなかった時代の苦肉の策。
今は1920もあるんだから8タブに戻すべき。

304 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 03:39:38 ]
変数名なども長くなる傾向にあるから、いくら画面の幅が広くてもあまりソースの幅が広がると単純に読みづらくなる
ソースだけでなくプロパティウィンドウやデバッグ出力など色々なペインも並べなくちゃならないし
5-10-15…が適当



305 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 03:52:44 ]
4桁が正義。
それだけ行っとく。

306 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 08:38:23 ]
デフォルト8桁、お好みで4桁

307 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 14:41:34 ]
>>305
インデントに使うキャラクタをいろいろ混在させないことだけが正義だろw

308 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 14:52:37 ]
たしかに、半角スペースとハードタブが入り混じったソースを見るとイラっと来るわ
それでもインデントが整ってればまだいいんだけど(エディタのマクロでハードタブに一括置換すればいいから)、
たまに半角スペースが1個足りなかったり多かったりする行とかあるのな

309 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 15:06:10 ]
タブの手前に紛れ込んでるスペースがクソw

310 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 15:08:23 ]
整形ツール使えよ

311 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 16:11:57 ]
>>308
ネットからコピペするとそうなりやすい。。
俺はそういうの気になるから一つ一つ既存のコードにあわせて修正してるけどな。

312 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 16:14:51 ]
>>308
そのマクロ公開してください><

313 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 18:16:44 ]
>>312
自分で作ったわけじゃない
どっかで公開されてたのを拾っただけ

314 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 18:32:21 ]
>>312
エディタが何かも判らずクレクレ言うような奴には
つ彡テイッ! [map T 1G!Gunexpand -a -t 4^V^M]



315 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 18:39:01 ]
昔は GNU indent とか使って整形したこともあったけど
今はxyzzy上でワンキーで自分好みに整形するだけだな。読むときは。

316 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 18:45:47 ]
indentは微妙に好みの設定にできないから嫌。

317 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 18:52:42 ]
・n x { ごとに、行頭からisgraph()が真になるまでの0個以上の半角スペースおよびタブを、n x 1個のタブに置き換える。
・{ ごとに、n++する。
・} ごとに、n--する。

っていう整形ツールでも作ればいいじゃない。

318 名前:デフォルトの名無しさん [2009/10/13(火) 18:55:45 ]
で } が多すぎた瞬間に自爆とか、楽しそう

319 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 19:14:47 ]
タブ厨氏ね

320 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 19:30:08 ]
注意していても誤字脱字が多くて困っています。
少なくする方法を知りませんか?

321 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 19:32:30 ]
>>320
tabつかえ

322 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 19:38:21 ]
>>317
printf("{");

まぁ、gg=Gとかですませる。

>>321
いや、そこはなんかちが、、、
tabでキーワード補完しろという意味じゃないよね?

323 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 19:39:07 ]
ちょっとスレチかもしれんが、みんなは「自分だけが使う小物ツール」とかよく作るほう?
自分がC初心者の頃は、学習を兼ねて例え同じようなものがフリーであっても作ってみたりしてた。

324 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 19:45:39 ]
>>323
作るよ。
問題解決のためにふつーにプログラミングできるようになって一人前。



325 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 19:48:35 ]
自分だけの環境を構築するなら、プログラミング必須だろ。

326 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 19:55:48 ]
>>321
偶然だけど、俺はShift-TABにdabbrev-expandを割り当ててる。
実際には、範囲選択中は別動作になるように、
wiki.livedoor.jp/kogo77/d/xyzzy%A4%CE%C0%DF%C4%EA
にしてるけど。

IDEの方が、意味を考えながら補完してくれるという意味でずっと便利なんだけど
同じキーを繰り返すだけで選択できて、かつ他のキーを使わずに確定して
そのまま先の入力に進めるのがなかなか。

327 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 06:28:52 ]
float型の配列のソート方法が分からなくて困っています.

配列の数は9個で,降順,昇順どちらでも構いません.
中身は,float f_hairetu[9] = {145.20, 55.32, 33.20, 55.55, 348.99, 12.01, 1.29, 88.29, 0.98} などのデータが入っています.


328 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 07:52:05 ]
qsortつかえば

329 名前:デフォルトの名無しさん [2009/10/14(水) 08:14:38 ]
ソースファイルから、
 define、グローバル変数、関数名
などなどの情報を抜き出して一覧化してくれるフリーソフトがありましたら教えてください。


330 名前:デフォルトの名無しさん [2009/10/14(水) 08:34:12 ]
doxygen

331 名前:327 mailto:sage [2009/10/14(水) 09:18:10 ]
>>328
ありがとうございます。qsort関数は、検索してint型のソートなら良さげなサンプルが見つかったのですが、float型のものは見つからず仕様も良く分からなくて困っています。

332 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 09:57:31 ]
int compare(const void *p1, const void *p2) |
 float f1 = *(float *)p1, f2 = *(float *)p2;
 if (f1 == f2)
  return 0;
 return f1 > f2 ? -1:1;
}
int main() {
 float data[] = { ... };
 qsort(data, sizeof(data)/sizeof(data[0]), sizeof(data[0]), compare);
 ...
}

333 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 10:01:23 ]
まあそれだとNaNが含まれてるときソートできないな


334 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 10:04:10 ]
NaNとかなる



335 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 10:17:48 ]
NaNってC言語の比較内で判定できるのか

336 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 10:31:07 ]
C99ならできる

337 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 10:36:07 ]
C99なら △
C99では ○
C99においては ◎

338 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 10:45:48 ]
>int型のソートなら良さげなサンプル
2項を引き算してたりしてw

339 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 11:05:31 ]
>>337
それは意味が変わっているだろ。

「C89ではNaNを正しく扱えないが、C99において*なら*できる」
の省略としての「C99なら」なのだから「なら」を取ってしまってはいけない。

340 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 11:52:04 ]
>>339
素直にC89ではできないと述べれば良い

341 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 12:02:42 ]
>>340
C90わすれてますよ

342 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 12:11:15 ]
sizeof(long)==sizeof(float) なら、これでも比較できる

int float_compare(const void *a, const void *b){
const long *p, *q;

p=a;
q=b;
if(*p<*q) return -1;
if(*p>*q) return 1;
return 0;
}

343 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 12:15:55 ]
floatのときとlongのときとで大小関係が一致することは確実なの?

344 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 12:30:58 ]
float のフォーマットに依存しないかい?
IEEE754 だと、上位から 符号 指数部 仮数部 の並びだけど… うまくいくのかな?



345 名前:デフォルトの名無しさん [2009/10/14(水) 12:35:08 ]
10分置きに実行するってのは
Sleep(600000);でいいの?

346 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 12:44:10 ]
だめ
それだと10分+αになる
αの長さは不定

347 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 13:44:10 ]
>>342-343
駄目に決まってるだろ

348 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 13:48:02 ]
ソート順なんでもいいみたいだからいいんじゃね
処理系依存の何らかの順番でソートされるであろう

349 名前:デフォルトの名無しさん [2009/10/14(水) 13:53:59 ]
大小関係に矛盾があると未定義の動作だぜbaby

350 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 14:47:41 ]
>>349
数値としての大小関係に一致するかはともかく、
大小関係を定義するcompare関数としての動作に矛盾はないかと?

351 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 14:57:51 ]
>>349
compare(p1,p2) が 正の値を戻すとき
compare(p2,p1) が負の値を戻さないのなら そうだろうね

352 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 19:46:18 ]
#define TEST 1
#define TEST2 2
#define TEST3 3

こんなことをして
プログラムの中で、TEST3 を使ってみたのですが
期待通りTEST3は3に置き換えられていました。

ふと、TESTは1に置き換えられるから、TEST3は13になったりしないのかと
思ったのですが、なぜ大丈夫だったのでしょうか?

353 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 19:47:57 ]
>>352
識別子単位だから

354 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 19:52:54 ]
cppはちゃんと考えて置換してくれるんだよ



355 名前:デフォルトの名無しさん [2009/10/14(水) 20:12:08 ]
今まで色んなライブラリを作ってきたんだけど、それらの機能を統合したライブラリを作りたいんだ。
でも、ただ一緒にしようとしたら、.libファイルが無駄に多くなって使いづらくなっちゃって…
この多くの.libファイルを一つの.libファイルにまとめたいのだが、何か方法はないかな?

開発環境はVisual Studio 2008 (Visual C++)で、出来れば嬉しい。
前作ったプロジェクトは、ライブラリが完成した後にHDDの整理で消してしまってるから、もうないんだ。

356 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 21:46:36 ]
>>352
1パスだから

357 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 23:32:48 ]
codepad.org/4MYhy9xF
教科書どおりに書いたらエラー出やがった。
マジ糞だろ俺の頭

ちなみに作りたいものがあってかなりすっ飛ばしたため
自分でも意味がわかっておりません。

誰か解説してください

358 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 23:38:01 ]
>>357
教科書のタイトルと、今使ってる処理系の名前かけよ

359 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 23:42:57 ]
>>357
どんなエラーが出たのかも言わずに解説しろとな?
codepadのエラーからエスパーすると「conio.hが無い」ってエラーが出てるじゃんとしか言いようがありません。


360 名前:357 mailto:sage [2009/10/14(水) 23:46:09 ]
よっしゃ
教科書
「すぐわかるC/C++」塚越一雄

エラー
「error C3861: 'get_charset': 識別子が見つかりませんでした」

ちなみに環境はvisualc++2008exedition

361 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 23:48:12 ]
知らんけど、本のどこかにget_charsetの定義あるだろ。探せよ

362 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 23:50:11 ]
そうだね、飛ばすという発想がそもそも間違っていたと反省中。
地道に勉強します

363 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 23:53:14 ]
飛ばすとかじゃなくてコピペしてくるコードが足りないだけだろうが……

364 名前:デフォルトの名無しさん [2009/10/15(木) 00:21:28 ]
C++ スレの二の舞か
答えない奴は説教もするな



365 名前:デフォルトの名無しさん [2009/10/15(木) 00:24:13 ]
整数値を入力してください:33

3-->6-->9-->12-->15-->18-->21-->24-->27-->30-->33-->

って感じのプログラムを書かないけないんだが誰か教えてくれ。
for?とかなんかそういうのを使ったりしてるんだが全くできねえ。
33ってのは入力した数で、その入力した数までの三の倍数が表示されないといけないらしい・・・



366 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 00:25:26 ]
>>365
そんな事は無いよ、表示されなくていいよ。

367 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 00:32:41 ]
宿題なら宿題スレへ

368 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 00:45:40 ]
ふつーに、
3から始めて、33以下である間、3ずつインクリメント

369 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 01:09:42 ]
最近の小学校ってこんな高度な授業があるのか。
大変だな。

370 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 01:10:49 ]
マイクロソフトロックされるのですがどうしたらいいでしょうか?

371 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 01:11:13 ]
scanf("%d",&a);

a = a/3;
for(b=1;b<=a;b++){
printf("%d-->",b*3);
}

372 名前:デフォルトの名無しさん [2009/10/15(木) 01:24:49 ]
できたぜ!
まさか答えてくれる人がいるとは・・・
本当にありがとうございます!!!

373 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 01:37:52 ]
int i, n;
scanf("%d", &n);
for(i=3; i<=n; i+=3) printf("%d-->", i);

374 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 01:57:02 ]
setvbuf()ってどういうときに使うの?



375 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 01:59:57 ]
>>374
man setbuf

376 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 03:13:49 ]
>>375
vが抜けてる?






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

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

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