トップページ⇒tech
210コメント57KB

C言語勉強中ですぅ

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
まだ三日目くらいですけども、Cを勉強してます。
本を読んで、組み方は分かってきたけれども、本当に組めるのかどうか
分かりませんっ。
「〇×を作ってみろ!」
みたいな演習問題的なのください。
あ、三日目っての忘れないでネ♪
0002shigeNGNG
戦略付きじゃんけんとかが手頃じゃろ。
0003デフォルトの名無しさんNGNG
Ruby >>>>>>>>>>>>>>>>>>>>>>>>>> C >>>>>>>>>>>>>>>>>>>>>> Haskel
00041NGNG
ん?戦略って??
0005大和NGNG
米を食わない奴は非国民。
日本人ならコメを食え。

1はまずはそれからだ。
0006デフォルトの名無しさんNGNG
Ruby処理系。
C言語が現存しているのはRubyの処理系を作るためです。
0007デフォルトの名無しさんNGNG
Ruby以外の言語は糞
0008大和NGNG
ちなみにRubyを無視する奴はクソ。
日本人ならRubyを一度は使え。
だがここで誉め殺ししてる奴はクソ。
0009C言語歴3ヶ月NGNG
>>1
単語カウントプログラムを作るといいかも。
漏れは最初それを作った。標準入力から文章を読み込んで単語数をカウントするの。
「単語数」が難しけりゃ「文字数」でもいいと思うけど。
…やる気があるならおたがい頑張ろう!
00101NGNG
>>9
がんばろーー、ちなみに、全然分からない(〜〜;)

ところで、上のしとたちが言ってることがまるで分からない。。。
0011C言語歴3ヶ月NGNG
>>1
大丈夫。みんな君の熱意がネタだと思って煽ってんのさ。
熱意が本物だとわかればきっと暖かく見守ってくれるよ。
だから、このスレを有効に使おうね。
00121NGNG
あぃ(●▽●)ノ
0013C言語歴3ヶ月NGNG
>>12
三日目ってことは、もうhello,Worldぐらいはできるんだろ?
00141NGNG
HELLO WORLD くらいはできるって土湯意味?
えっとですね、超基本の本を一冊終わらしたくらいです(^〇^)ノ
0015C言語歴3ヶ月NGNG
>>14
いや、printf("Hello,World!);っていうのが書けるかどうか聞いたんだけど。
Hello,Worldを表示させるだけのプログラムって新しい言語を触り始めたときに
よく使うよ。
超基本の本を終わらしたといわれても、技術レベルがさっぱりわからん。
ポインタや構造体は一通り学んだの?
00161NGNG
はぃ、そんな記述も載ってました!



何を言っておられるのか全然分かりませんでしたが。
だから、只今改訂新C言語入門ってな本を買ってきて、
最初からやり直してる次第でありまし。(ーー)
0017C言語歴3ヶ月NGNG
>>16
そ、それはまさか林晴比古の本では…?
君は2ch初心者だったか。
http://pc.2ch.net/test/read.cgi/tech/1010312992/
ここを参考にして本を買うとよかった。
漏れはよくしらんが林氏の本は非常に評判が悪い。まあ今更言ってもなんだが。
とりあえずその本で勉強して、間違いを指摘できるくらいになるべし。
資金に余裕があるならほかの本で勉強したほうが良いかとも思う。
0018デフォルトの名無しさんNGNG
>超基本の本を一冊終わらしたくらいです
読んだだけ、に30デュカーティ
00191NGNG
む、そうなのか。。。Σ(ーへー;)
しょっく(;ム;)

まぁとにかくこれでがんばってみますぅ(^^)
0020VB厨NGNG
「DLL作りたいけどCわかんね〜」って放置して
検索して拾ったDLLやOCXでなんとかしてきたけど
ここ読んで、再挑戦しようって気分になったさ。
0021デフォルトの名無しさんNGNG
関係ないけど
ruby信者って面白いね
もっと笑わせてくれ
0022C言語歴3ヶ月NGNG
>>19
とりあえずその絵文字やめな。
熱意がネタにしか思えない。
00231NGNG
すいません…やめます。
00241NGNG
#include<stdio.h>

main()
{
char ss[80];

while(gets(ss)!=NULL)
{
puts(ss);
}
}
とゆーふーに書いてあってNULLがどーこー説明してあるんですが、
コンパイラに

'NULL' undefined 言われた…。

何がいけないんでしょ???
0025shigeNGNG
man gets
man fgets

及び、

12.23: なぜgets()を使うなと誰もが言うのか。
http://www.catnet.ne.jp/kouno/c_faq/c12.html#23

を見る。
0026C言語歴3ヶ月NGNG
>>24
すまんが漏れにもよーわからん。
だけど漏れはコンパイルできたぞ?多分環境の違いかな…?
ただ、while(gets(ss)!=NULL)という式が怖いような気がする。
そんな式初めて見た。
00271NGNG
んじゃあ、よぅ分からんので保留ってことで(笑
0028C言語歴3ヶ月NGNG
>>25
それは「配列で確保した分を超えた文を読み込んだとき」
まずいからっていう対処法じゃないんですか?
NULLが定義されていないっていうのとは話が違うような??
0029デフォルトの名無しさんNGNG
#include <stdio.h>

int
main(int argc, char *argv[])
{
    char buf[BUFSIZ];

    while (fgets(buf, BUFSIZ, stdin) != NULL)
        puts(buf);

    return 0;
}
0030C言語歴3ヶ月NGNG
>>27
保留、はないだろう。
こういうところをきちんと学んでおかないと。せっかくいろんな人に教えてもらえるんだし。
0031デフォルトの名無しさんNGNG
>'NULL' undefined 言われた…。
コンパイラは何?
00321NGNG
>コンパイラは何?
えっと、LSIC86ですな。
0033C言語歴3ヶ月NGNG
>>29
#define BUFSIZ 512 /* Buffer size for stdio */
ってことを初めて知りました。藁えねえ…。
0034デフォルトの名無しさんNGNG
なんかこのスレ変だぞ。
0035 NGNG
>>33
2chらしくない?
0036デフォルトの名無しさんNGNG
Ruby厨のおかげで「終了」が入らなかったためと思われ。
0037デフォルトの名無しさんNGNG
3ヶ月の人と3日の人の
勉強スレ
0038 NGNG
>>37
明日には3ヶ月1日の人と4日の人の勉強スレになります。
0039デフォルトの名無しさんNGNG
>>32
なんで今時LSI-C86。286でも使ってんの?
0040C言語歴9ヶ月NGNG
俺も混ぜてくれ。
9ヶ月も勉強しているんだがわからん。
UNIX上でmath.hをインクルードした時に、gccでコンパイルするときに-lmを
入れないといけないようだが、-lmって何ですか?

それとコマンドラインパラメータで、main(int argc, char *argv[])と書くが、
何でいつもargcとargvなんでしょう…?
0041デフォルトの名無しさんNGNG
「l」ってライブラリを指定するときつけるもんじゃ
なかったっけ?
0042デフォルトの名無しさんNGNG
>>40
-lmは知らんが、argcとargvは慣例上のもの。別に変数名として成り立っていればなんでもいい。
ちょうどカウンターに使うiと同じようなもの。
0043C 2ヶ月NGNG
#include <stdio.h>
int main()
{
 int a,k=0;
 while((a=getchar()) != EOF){
  if(a == '{') k++;
  else if(a == '}') k--;
 }
 if(k == 0) puts("正しい対応");
 else puts("不定");
}
0044デフォルトの名無しさんNGNG
数学関連のライブラリをリンク、かな…
うろ覚え〜
0045デフォルトの名無しさんNGNG
>40
-lオプションでmという名前のライブラリをリンクするように指示している。
mathライブラリの本体がmに入ってる。

arg count arg value の略 単なる慣習
0046デフォルトの名無しさんNGNG
arg vector
って説も…
0047デフォルトの名無しさんNGNG
>>45
argumentの略では・・・
0048デフォルトの名無しさんNGNG
わかると思うけど arg はargument ね
0049デフォルトの名無しさんNGNG
むーん。
教えやすい質問はかぶりまくるな、、
0050デフォルトの名無しさんNGNG
>>40
> gccでコンパイルするときに-lmを
> 入れないといけないようだが、-lmって何ですか?
mというライブラリをリンクさせるオプション。
mは数学関連のライブラリ

例えば、libhoge.slライブラリをリンクさせたかったら、
-lhogeとする。
0051デフォルトの名無しさんNGNG
自分もなかなか上達できない口なんでお仲間に、、、

>>2さんのお題は
前回相手が出した手を覚えておいてそれを次の手の推測に使う
とか言う感じでしょうか?
0052デフォルトの名無しさんNGNG
>>51
ですな。傾向分析とかできると面白いかもね。
0053やさしい人NGNG
>>1
これ取りなさい。
http://www.borland.co.jp/cppbuilder/freecompiler/index.html
005451NGNG
では、作ってみます。>戦略じゃんけん
0055デフォルトの名無しさんNGNG
囚人のジレンマ シミュレーション について調べると
その手の戦略についていろいろわかるよ。
0056デフォルトの名無しさんNGNG
>>55
しっぺ返しが最強ってことでいいんだっけ?
0057デフォルトの名無しさんNGNG
囚人のジレンマ だとそうらしいね。
じゃんけんは3すくみなのでまた違う結果になるだろう。
0058デフォルトの名無しさんNGNG
>>57
じゃんけんの場合は最適解はありえないか。
やっぱ手のパターンを解析するほかはなし。

オープンなじゃんけんサーバなんてどうかな?意味不明?
0059デフォルトの名無しさんNGNG
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define HSIZE 10

/* slist構造体とSLISTを定義する */
typedef struct slist{
char *pkey;
char *pchar;
struct slist *next;
}SLIST;

/* ハッシュテーブル */

SLIST *htable[HSIZE];

/* ハッシュ関数 */
unsigned long Hash(char *pch)
{
/* 種としてアドレス値を与える */
srand((unsigned int)pch);

/* rand()を使って擬似乱数を生成する */
return (unsigned long)(rand() % HSIZE);
}

/* ハッシュテーブルを作成する関数 */
void RegisterHashTable(char *pch1, char *pch2)
{
SLIST *lpnew, *lptemp;l
unsigned long h = Hash(pch1);

/* 新しいリスト要素を生成する */
lpnew = (SLIST *)malloc(sizeof(SLIST));
if(lpnew == NULL){
/* stderrにエラー文字列を出力する */
fprintf(stderr, "メモリエラー\n");
/* exit()関数を使って実行を終了する */
exit(1);
}
/* 新しい要素に値を代入する */
lpnew->pkey = pch1;
lpnew->pchar = pch2;
/* 自分自身とする */
lpnew->next = lpnew;

/* 未登録のケース */
if(htable[h] == NULL)
/* ハッシュテーブルに登録する */
htable[h] = lpnew;
else
{
lptemp = htable[h];
while(lptemp->next != lptemp)
lptemp = lptemp->next; <==これはどういうこと?
/* リンクする */
lptemp->next = lpnew;
}
}
0060デフォルトの名無しさんNGNG
マルチポスト
うぜえ
0061デフォルトの名無しさんNGNG
Cやるんだったら同時並行でAPIもやると楽しいから
是非来なさい。絶対楽しい。簡単だし。だからっ!

http://pc.2ch.net/test/read.cgi/tech/1006783012/l50
0062デフォルトの名無しさんNGNG
ちゃんと来いョ・・・・・・
0063デフォルトの名無しさんNGNG
o
0064デフォルトの名無しさんNGNG
10年スレと1ヶ月スレと3日スレと立ったか。
cはユーザーの層が厚いな。

C言語関係の本 合計何冊読んだ?
http://pc.2ch.net/test/read.cgi/tech/1006413388/
C言語の初歩的な質問です。
http://pc.2ch.net/test/read.cgi/tech/1008637395/
C言語に自信のある方教えてください
http://pc.2ch.net/test/read.cgi/tech/1009006993/
cのプログラムなのですが・・。教えてください。
http://pc.2ch.net/test/read.cgi/tech/1006783839/
C言語プログラミング検定
http://pc.2ch.net/test/read.cgi/tech/1010168724/
C言語の初歩の初歩の質問
http://pc.2ch.net/test/read.cgi/tech/1011177306/
C言語なら、俺に聞け! <11>
http://pc.2ch.net/test/read.cgi/tech/1009499565/
Cって
http://pc.2ch.net/test/read.cgi/tech/1010244839/
C の超カンタンなことなら漏れに聞け
http://pc.2ch.net/test/read.cgi/tech/1009190994/
0065 NGNG
>>61
お前はあっちで暴れている電波か?
0066デフォルトの名無しさんNGNG
61
電波じゃねーの!
帰ってきた旅人です。
ひまだったら俺の作ったやつみてくれよ
0067 NGNG
1はどこいった?
0068デフォルトの名無しさんNGNG
彼にも是非使って欲しいくらいだ。
今ならただであげる。でも開発版。
もうすぐ完成。そしたら買ってもらおうか!(ごめんなさ!)
006951NGNG
こんばんは。
ちょっと遅くなりましたが「戦略無し」の奴を書いてみました。
でも乱数を発生させるのがわからなくて。
どうやってあげればいいですか?コピペでいいのかな?
0070 NGNG
>>69
コピペだとまずいからどっかに上げたほうがよくないか?
007151NGNG
time.hつかって乱数できました。
もう少し書き直します。

>>70
そうですね。
適当なアプロダ探してきます。
007251NGNG
↓にjyanken.cで書き込みました。
htmlではインデントは反映されないみたいですね。

http://tools.geocities.co.jp/HeartLand-Sakura/8361/@geoboard/
0073デフォルトの名無しさんNGNG
>>72

葉式C2Html
http://www.meirinkan.or.jp/~yuha/computer/softwares/c2html/index.html

C to HTML EDITOR
http://www.prism-web.com/soft/ctohtml.html
0074 NGNG
>>71
子供の写真は一体…?
007551NGNG
>>73
情報ありがとうございます。
こんなんあったんですね、便利だ。


>>74
我が子です。
遠くへ引っ越した友人に見せるのに使ったんですよ。
0076デフォルトの名無しさんNGNG
>>75
ifを多用しすぎです。
まとめられるところはまとめてしまいましょう。
007751NGNG
>>76
ありがとうございます。
やってみます。
007851NGNG
結構削りました。
とりあえず、自分と相手の手が表示されなくなってますが
後で付け加えます。

http://www.geocities.co.jp/HeartLand-Sakura/8361/jyanken.c.txt

オヤスミsage
0079デフォルトの名無しさんNGNG
>>78
あら、きれいなソースですこと
0080デフォルトの名無しさんNGNG
意外にまともになってきたな。

今後に期待age
0081デフォルトの名無しさんNGNG
>>1
とりあえず本を読んでから始めるんじゃなく
本を読みながら書けといいたい。
0082デフォルトの名無しさんNGNG
>>78
if((myhand % 3) == 0) myhand = 0;
else if((myhand % 3) == 1) myhand = 1;
else if((myhand % 3) == 2) myhand = 2;
この辺、無駄だと気づけばもっといい。
0083デフォルトの名無しさんNGNG
>>82
興味深いコードだな。
天然じゃなきゃ書けねー。
0084デフォルトの名無しさんNGNG
switch((hand-myhand+3)&3){
  case 0:printf("あいこ\n");break;
  case 1:printf("おまえ負け\n");break;
  case 2:printf("おまえ勝ち\n");break;
}
0085デフォルトの名無しさんNGNG
がんばってくれ!!!!!!
0086使っちゃダメなのん by 2chNGNG
getchar()もダメ
gets()もダメ
scanf()なんぞ言うに及ばず
これらがある入門書はクソ。

476 名前:デフォルトの名無しさん 投稿日:01/11/30 10:16
「猫でも分かる〜〜」見れや。

「猫でも分かる云々」にはscanfが紹介されているが
ミスプリなんでーす。
0087デフォルトの名無しさんNGNG
なんでgetchar()がだめやねん。
0088デフォルトの名無しさんNGNG
>>86
理由を示さないと推奨されない理由が分からないと思うけど。
scanf は指定したフォーマットを逸脱した入力に対する
エラー処理が満足にできないのが問題点。
getchar や gets は別にいいと思うが。
f*** 系を使えって?
0089デフォルトの名無しさんNGNG
ほかにもbuffer overrun exploitの問題があるよね。
0090デフォルトの名無しさんNGNG
>>88
scanf()はまだ注意深く使えばエラー処理できるが、
gets()は論外。逝ってよし>>88。
0091デフォルトの名無しさんNGNG
理由としては

「いや、自分は何で悪いか分からないけど、みんなそう言ってるから」

0092デフォルトの名無しさんNGNG

「みんなそう言ってるから」
scanfの悪口はこうして広まった。
0093デフォルトの名無しさんNGNG
そんな!本当はいい人なんですscanfは!
0094デフォルトの名無しさんNGNG
>>90
そういやバッファが溢れるか。
char buf[1024*1024];
これでだいたい問題なし。
0095デフォルトの名無しさんNGNG
>>94
そんなに甘やかしちゃだめ!
009651NGNG
>>82-84
アドバイスありがとうございます。
もっと精進します。

で、scanf()はfscanf()に変えたほうがいいんでしょうか?
0097デフォルトの名無しさんNGNG
>>94
(;´Д`)

>>96
自分でscanf()がダメだと思わないならそのままでよし。
「言われたから変えた」では何の意味もないんで。

# 俺は使用する人間を高度に信頼できるなら
# scanf()でぜんぜんおっけーだと思っている
0098デフォルトの名無しさんNGNG
逆に使い方を誤ったときにどうなるか や、
それによって不具合が出た際の対処の方法なんかを学べるかも知れないので
一度はやっておくべきかも知れん。

つってもアレかな、
エラーの判断が難しいかな
OSが弾いてくれるほどのエラーなら一発で分かるけど
0099デフォルトの名無しさんNGNG
>>95
>>93への誤爆かと思ったが、なんとなく通じるな。
010051NGNG
>>82
意味がわかりました。
myhand=rand()%3
だけでよかったですね。
いや、myhand無しでそのままrand()使っててもいいのかな?

>>84
ビット演算子を理解してないのでなんとも。
hand-myhand+3は1、2、3、4、5のどれかになりますが
&3とすると1、2、3、0、1となるので?です。
1、2、0、1、2となるはずなのですが。
もう少し考えてみます。

http://www.geocities.co.jp/HeartLand-Sakura/8361/test.c.txt
http://www.geocities.co.jp/HeartLand-Sakura/8361/jyanken.c.txt
0101初心ものNGNG
お勧めのC言語の著書教えて下さい。
0102デフォルトの名無しさんNGNG
>rand()%3
これって偏らん?
0103デフォルトの名無しさんNGNG
rand()の実装次第。
たとえば、VCのrandは>>16した結果なので、
そんなに偏らないと思われれる。
010451NGNG
そろそろ戦略を織り込もうと考えて検索していたら
こんなのを見つけました。

http://www3.ocn.ne.jp/~sigma/C/janken.htm
http://www3.ocn.ne.jp/~sigma/C/janken2.htm

Part2は戦略なのか?
0105デフォルトの名無しさんNGNG
戦略案

・自分が出した手をGoo,Choki,Par三つの変数に保存(カウント)しておく。
・COMはこの変数を参照して、相手が一番多く出した手に勝てる手を出す。

これだけだと、単純になってしまうので、ある確率でランダム手にするという
のも入れないと面白くないとおもいます。
実装は簡単なので、挑戦してみてください。
0106デフォルトの名無しさんNGNG
戦略案その2

自分が出した前回出した手を変数に保存しておいて、今回相手が出した手を調べて、たとえば前回こっちがパーを出したときは次相手はチョキを出しやすいなどの相手の傾向を把握する。
01071NGNG
む???
いつの間にか100 を超えてる…。
0108デフォルトの名無しさんNGNG
>>103
というか、いまどきrand()%nでかたよるようなひどい実装の処理系なんて
無いと思われ。
010984NGNG
>>100
いや、%3でいいんだよ。
そのまま教えるのもどうかと思って蟲入れたんだけど・・・。
0110デフォルトの名無しさんNGNG
蟲… 小金井?
0111デフォルトの名無しさんNGNG
自分の手と相手の手の9つの組み合わせのそれぞれで、次に相手が出した手の
多いものに勝つ手を出すようにする、とか。
って書いてたら、CoreWarsやりたくなってきたよ、検索してみよう、っと。
011251NGNG
戦略への第一歩として勝敗数の表示をつけました。
また乱数の偏りを調べてみましたが、ほとんど無いみたいです。

http://www.geocities.co.jp/HeartLand-Sakura/8361/jyanken.c.txt
http://www.geocities.co.jp/HeartLand-Sakura/8361/random.c.txt

ちなみにWin2000ProでBorland C++ Compiler 5.5.1を使って作ってます。
011351NGNG
戦略は
 プレイヤーが出した手のうち、
 プレイヤーが一番多く負けてる手に勝つ手をコンピュータは出す
という感じにしようと思います。

勝敗数入りに出した手の数も入れた改良版です。

http://www.geocities.co.jp/HeartLand-Sakura/8361/jyanken.c.txt

じゃんけんよりは戦略的な要素がある両手じゃんけんも入れてみたいです。
0114デフォルトの名無しさんNGNG
限定じゃんけん作ってよー
0115デフォルトの名無しさんNGNG
>>58
最適解は存在するよ。丁度、1/3だ。w
階段じゃんけんのようにGCPで得点の違うゲームだとまた違う結果になるが…。
G…a点、C…b点、P…c点の時の最適解(均衡点)は
Gを出す確率をp、Cを出す確率をqとすると、
対称系ゼロサムゲームだと相手の期待利得が0で均衡点だから
相手Gの時の相手の期待利得=0:aq-c(1-p-q)=0
相手C:-ap+b(1-p-q)=0
相手P:cp-bq=0
の連立方程式を解けば良い。
>>114
同時多人数限定じゃんけんとか面白そうだよね。
さらに、GCPで(もしくは状況で)点数が違い、点数の奪い合いの形で、
初めの持ち点が0になったら、その人は強制終了みたいな。
4人でやってりゃ、1人を集中攻撃したほうがいいのか、
1位の人を裏切れば良いのか、同じ引き分けでも捨てるカードで有利不利があるみたいな。
0116C 初日NGNG
#include <stdio.h>

int main(void)
{
printf("みなさん、よろしゅう\n");
return 0;
}
011751NGNG
一応えせ戦略をつけました。
プレイヤーがそれぞれの手で負けた割合を元に
コンピューターが出す手を決めるようにしてみましたが、
はっきり言ってダメでした。

http://www.geocities.co.jp/HeartLand-Sakura/8361/jyanken.c.txt
0118デフォルトの名無しさんNGNG
2次元配列を使ってみればどうかな?
0119デフォルトの名無しさんNGNG
石川
http://free2.memberz.net/member/musume/inoki.html
飯田
http://free2.memberz.net/member/musume/johnson.html
矢口
http://free2.memberz.net/member/musume/yaguchi.html
保田
http://free2.memberz.net/member/musume/hotta.html
012051NGNG
>>118
え、どういうことですか?
0121デフォルトの名無しさんNGNG

お前らお前らお前ら!

女の匂いがするとどうしてそんなに親切にするのだ!
アフォかヴァカか。
ふつうならクソスレ扱い間違いないだろうが!

差別はんた〜い!
0122電波5号NGNG
強いじゃんけんソフトって
あったよね
全然勝てないの
強敵だったなぁ
0123デフォルトの名無しさんNGNG
table[3(相手が前に出した手)][3(それに対する勝数)]とかどう?

>>121 女って誰? ハァハァ(w
012451NGNG
>>122
詳細わかりませんか?

>>123
構造体だと手ごとに名前をつけられますから
見た目分かりやすいかな、と思ったんです。
無駄な項目が多いな、とは思っています。

相手が直前に出した手、というのはやっぱり重要でしょうか。
0125デフォルトの名無しさんNGNG
>>122
それってこちらが押したキーを見て、それに勝てる手を後出しするんだろ(w
0126デフォルトの名無しさんNGNG
>>122
話はそれるけど、じゃんけんで勝つには、相手のひとつ前の手を出すと7割
勝てるらしいね、人間は無意識にグー・チョキ・パーと順番に出してしまう
らしいよ。
相手がひつつ前にグーを出してたら、今回はこっちがグーを出すみたいに。
0127デフォルトの名無しさんNGNG
>>125 それは強い(w

table[3(相手が前に出した手)][3(さらにその前の手)]
って感じでもよくない?こっちも初心者だからよくわからないけど。
そろそろ次に行きたいなぁと思う今日この頃。
0128デフォルトの名無しさんNGNG
オセロ♪
0129デフォルトの名無しさんNGNG
アルゴリズム作るならオセロはかなり面倒じゃない?
0130デフォルトの名無しさんNGNG
囲碁でおれをたのしませてくれ
0131デフォルトの名無しさんNGNG
>>129
思考の深さをnとすると
その盤面からnターン目までの合計でで一番多く取れるところ。
これくらいのアルゴリズムならそんなに難しくない。

0132デフォルトの名無しさんNGNG
>>131
>>131
序盤は出来るだけ少ししかとらない
各辺から2列目は出来るだけ置かない
辺上は出来るだけとる
くらい考えたほうがいいかなぁ。
オセロまじめに勉強したわけじゃないけど。
0133デフォルトの名無しさんNGNG
>>125
そうだったのか・・・・

滅茶苦茶強いのでビックリしてたんだが。

「こ・・ これはすげえアルゴリズムだ!」とか思ってた 鬱
0134デフォルトの名無しさんNGNG
>>133
それってゲーセンのマージャンに
「さすがコンピューターだ、実に強い」
と関心しているようなものですぞ(笑

まさかサンタさんとかも信じてないでしょうね(笑
0135132NGNG
>序盤は出来るだけ少ししかとらない
そういえばそうだ…。
0136デフォルトの名無しさんNGNG
>>134
幼稚園か小学校のとき近くのスーパーのゲームコーナーにじゃんけんゲームがあって、それにはまってたのを覚えてるよ(;´Д`)
そうか・・・あれは遅出ししてたのか・・・純真な子供心をもてあそぶとは、許せん!
0137デフォルトの名無しさんNGNG
どかーん!
(⌒⌒⌒)
 ||

/ ̄ ̄ ̄ ̄ ̄\
| ・ U      |
| |ι        |つ
U||  ̄ ̄ ||
   ̄      ̄
もうおこったぞう
じゃんけんゲームめ!!
0138デフォルトの名無しさんNGNG
>1
健太君は1500円持って295円のガム4つと300円のあめ玉
6つ買いました。さてお釣はいくらですか?
0139デフォルトの名無しさんNGNG
>>138
こういう非本質的なことは周囲の方にご相談下さい。
0140デフォルトの名無しさんNGNG
強いジャンケンゲームにワラタ。
0141デフォルトの名無しさんNGNG
>>140

意外とジャンケンゲームもコンピュータだかこそ勝率を上げる
ことが可能かもよ。

例えば、熱い日なんかは本能的に熱を発散したいが故に「パー」を
出しやすいとか、あいこが続いたのちのグーは統計的に次の手は、
「チョキ」を出しやすい。とか。
0142デフォルトの名無しさんNGNG
>>141
マルコフ連鎖というものにたいする知識をつけることをお勧めする。
0143デフォルトの名無しさんNGNG
>>138
いくらを出すんですか?

それ以前に
所持金が1500円なのですか?
それとも手にもってるのが1500円で財布にはもっと沢山あるんですか。
0144デフォルトの名無しさんNGNG
300円もするのに、6つも欲しくなるあめ玉って、どんなんだろ。
く〜〜〜〜〜〜っ 気になりぃ〜〜〜〜〜
0145デフォルトの名無しさんNGNG
あめ玉はあめ玉でもどこで舐めるのかな
0146デフォルトの名無しさんNGNG
「あめを探しているんだが」

「あめなんてどこでも売ってるだろうが」

「どこでも売ってないあめを探している・・・
 目に見えないほど小さなあめさ」
014751NGNG
scanfだと数字以外を入れたらおかしくなりますね。
getsとatoi使って書き直してます。

xyzzyマンセー。
0148デフォルトの名無しさんNGNG
>>147
fgets
0149デフォルトの名無しさんNGNG
>148
getchはダメなん?
0150デフォルトの名無しさんNGNG
>>149
fgetsが正解なのをみんな知らんのか。
バッファーオーバーラン攻撃は今日も続きそうだな・・
015151NGNG
fgetsですか、、、調べてみます。
0152>NGNG
>>138
持ってる金額はお釣りには関係ない
渡した金額を教えてくれ

 C言語を覚えたいという奴に戦略じゃんけんプログラムを作らせるのもどうかと思うが?
 漏れ忠告はポインタと配列についてアフォな本読んでデタラメ覚えないようにってことかな
0153デフォルトの名無しさんNGNG
>1
お題だけど、文字で、もぐらたたきなんかはどうかな?
環境依存な感じのするkbhit()って関数もあるし。(BCC&VCは持ってるはず。)
エクケープシーケンスで色変えたり、カーソル移動したり、画面消したりできるし、
面白いと思うんだけど。どう?
0154デフォルトの名無しさんNGNG
>153
ANSIエスケープシーケンスはNT系コマンド
プロンプトでは無効なのをご承知か。
0155デフォルトの名無しさんNGNG
>>153
もぐらたたきってどうやんの?
ピュアCで入力(叩く)までの時間に制限つけることって出来たっけ?
015651NGNG
>>152
自分はポインタ、配列については
秘伝 C言語問答 ポインタ編 柴田望洋
Cプログラミング専門課程 藤原博文
を読んでる途中です。

前者は第2版ではなく新版なんですけど。

もしかして、「と」本でしょうか、、、
0157デフォルトの名無しさんNGNG
>>156
柴田氏は、どうでもよいことから書く癖があるようだ。
昔C++の本を読んで、今そう思う。

プリミティブな概念から覚えるのは、
時間が沢山あって我慢強ければよいのだろうが・・・

0158デフォルトの名無しさんNGNG
暇な学生には、望洋氏の本は一度は読んでおくべき本だと思うよ。
ただ、手っ取り早く書けるようになる類の本ではないと思われ。
0159デフォルトの名無しさんNGNG
今度の院試でCが出るんだけど、大事なとこって何かな?
多分、構造体、共用体、ポインタ、配列、ループくらい
だと思うんですが・・・。基礎的な問題ばかりなので、普通に
解けるとは思うのですが、何か基本的な重要事項って
ほかにありませんでしたっけ?
0160デフォルトの名無しさんNGNG
どこまでが基本的なのか基準がわからん
0161デフォルトの名無しさんNGNG
>>159
それってそれだけで
Cの教科書の半分以上が出題ポイントだと言っているに等しい。
これ以上どうしろというのだ。もっと増やして欲しいのか?

試験でマッシヴなコードや知識が必要となるような問題が出
るはずもないので、というか他の所の勉強をしておいた方が
点になるかもしれません。
0162デフォルトの名無しさんNGNG
関数くらいは基本に入れとこうよ。
0163デフォルトの名無しさんNGNG
まぁ、関数ポインタとダブルポインタと多次元配列は重点的にやっときなさい。
0164153NGNG
>154
うは。知りませんでした。
お題としては面白いと思ったのだけれど。Win9x系限定か。残念。
154、ありがと。

>155
ピュアCだと厳しいのではないかな。
多分方言な感じの_kbhit()はそこで動作が止まらず、キーのバッファから一文字分を
_getch()に突っ込んで次に行きます。
マシンをいじってると思うので、ANSIの守備外ではないかと思います。
余談だけど、ウエイトにはclockを使うといいよ。
LONGだから、40日くらいで桁があふれちゃうけど、ゲームで40日耐久は無いでしょ。(笑

0165かいじNGNG
>>114

限定じゃんけん作ってみた。
だけど思考ルーチンできてない・・・
勉強中ひとたち思考ルーチン完成させてください。

http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/file/1013286007_1/getntei.c
0166かいじNGNG
見にくかったのでHTML版にしてみました。
といっても、2時間くらいで作ったのでソースがちょっと汚いです。
ごめんなさい。

http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/file/1013286007_2/gentei.html
0167デフォルトの名無しさんNGNG
>>166

162 : /*すまん、適当すぎる・・・いい思考ルーチンを考えてくれ*/
163 : int rnd;
164 : do
165 : {
166 : rnd = rand()%3;
167 : } while(!card_check(pMy,rnd));

本当に適当すぎる(W

0168かいじNGNG
前のソースにバグありました、逝ってきます。

ソースアップローダ
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1013286007
最新ソース
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/file/1013286007_3/gentei.html
016951NGNG
限定じゃんけんってカイジでやってたカードの奴ですか?
0170かいじNGNG
>>169
そーです、あの限定じゃんけんです。
ルールの変更や、思考ルーチンを考えてね!
カードの買い占めとか同盟を組めたら面白いかも。
ソースは51さんのソースを元にしてるんで、がんばって(結構、手直ししたけど)
0171ななしNGNG

system("ls -la");
とかしたあとに標準出力に表示される文字を
プログラム内の変数に入れるのってどうしたらよいですか?
パイプではなくその後の行ですぐその変数を使いたいのです。
0172デフォルトの名無しさんNGNG
ざわざわサウンド搭載
0173デフォルトの名無しさんNGNG
>>152
前橋和弥の「C言語ポインタ完全制覇」ってどうですか?
0174デフォルトの名無しさんNGNG
>173
ポインタの理解が完璧じゃないと思う人
は読んでもいいかと
0175デフォルトの名無しさんNGNG
>>174
ある程度は信用しても大丈夫ってことですか?
0176デフォルトの名無しさんNGNG
>176
心配なら実際に本屋でみてみぃ
0177デフォルトの名無しさんNGNG
あふ
176→175
0178デフォルトの名無しさんNGNG
いや、実際に勝って所有してるんですけど、過激な発言が多いから
本当に信用できるのか不安になったのです。
0179デフォルトの名無しさんNGNG
>>171
最後の一行が意味不明。
0180デフォルトの名無しさんNGNG
>>179
ファイルに出力してそれを読め。
0181デフォルトの名無しさんNGNG
ミス
>>179 でなく >>171
0182デフォルトの名無しさんNGNG
MAJIこういうスレやめれ。2chに自分専用すれたてんのやめろ。
重くなるわ、ageるやついるわで、迷惑極まりない。
よって終了。
0183171NGNG
>179
>180
すみません。
例えば、
char string[64];
sprintf(string,"%s",system("perl -e \"print test\""));
printf("%s",string)//stringにperlからの出力[test]が入っている

というのが理想です。
もちろんsystem()の戻り値は実際にはこうではないですが・・・
Apacheとかのウェブサーバが*.cgiファイルをperlなどに渡すときって
system("perl test.cgi >temp.txt");
とかしてそのあとにtemp.txtを開いてクライアントに送ってるのでしょうかね・・?
もっとスマートなやり方がある気がしたので・・
0184デフォルトの名無しさんNGNG
,区切りのテキストファイル
fdjlk,fdkaj,fdsajl,fsak,dsaj
の3番目だけを読み出したいというプログラムのコードはどう作ればよいですか?
0185デフォルトの名無しさんNGNG
>>184
なにもせずに、とりあえず質問しようとか思うな。
まずやってみてから聞け
0186デフォルトの名無しさんNGNG
3番目だけを読み出すように作れ
0187デフォルトの名無しさんNGNG
>>184
Perlで書いたらいいよ。
0188デフォルトの名無しさんNGNG
>>183
まさしくそれをするためのパイプだが。

char string[64];
FILE *child = popen("perl -e \"print test\"", "r");
fread(string, 1, sizeof string, child);
pclose(child);
0189デフォルトの名無しさんNGNG
あ、間違えた。つーか>183からのバグだが。

FILE *child = popen("perl -e \"print 'test'\"", "r");

何にも出て来やしねぇと思ったら、testがファイルハンドルと見なされてるじゃ
ねーか。
あと>188じゃ省略してるが、fread()の戻り値はちゃんと見ろよ。
NUL terminateも必要だし。
0190暇つぶしNGNG
>>184
strtok
0191171NGNG
>188,189
激烈サンクスです。
popenという関数を知らなかったです・・・
1リクエストごとにテンプファイルを作って
でもテンプファイルは重なると上書きされちゃうから、注意しなきゃ・・
とか思ってたところでした。
なんか光明が見えそうです。
0192デフォルトの名無しさんNGNG
たまにはage
0193デフォルトの名無しさんNGNG
a
0194デフォルトの名無しさんNGNG
age
0195デフォルトの名無しさんNGNG
 
0196デフォルトの名無しさんNGNG
保守age
01971NGNG
あれ、196もついてる…
0198デフォルトの名無しさんNGNG
>>197
続きは?
0199デフォルトの名無しさんNGNG
>>197
君がいない間にジャンケンゲームをがんばってた人がいたから。
0200デフォルトの名無しさんNGNG
進んでんの?
0201201げったーNGNG
こういうスレで罵倒されずに進行するとは驚いた。
応援してるぞ。
020251NGNG
忙しくってちょっとご無沙汰しております。

自分の書いたジャンケンのソースはまだ落とせるはずですので
お暇な方は、どうぞ批判したり改造したりしてください。
批判は大歓迎です。

http://www.geocities.co.jp/HeartLand-Sakura/8361/jyanken.c.txt
0203デフォルトの名無しさんNGNG
>>202
長すぎ
020451NGNG
>>203
どうもです。
もう少し削れるなーとは思うんですが
自分の技術ではどこをどう削っていいんだか、、、

エディタのいいのも見つからないし。
0205デフォルトの名無しさんNGNG
>>203
こんなもんじゃないの?

>>204
xyzzyなんてどーかな。
020651NGNG
>>205
xyzzy使ってみました。いい感じですね。
エディタはできればEmacsっぽいのがいいので
少しこれでがんばってみます。
今までWin2000のコマンドプロンプトでDOS用の
Memacs使ってたんで、、、
0207デフォルトの名無しさんNGNG
保守
0208デフォルトの名無しさんNGNG
C/C++専用板を作りました。
http://www15.big.or.jp/~s-w-/bbs/c/index.html#1
0209デフォルトの名無しさんNGNG
>>208
誰もいないやん。
0210デフォルトの名無しさんNGNG
いや〜ん
■ このスレッドは過去ログ倉庫に格納されています