no title

1: 以下、名無しにかわりましてVIPがお送りします 2014/01/04 22:00:04 ID:kC+V2XeX0

GCCの準備できてます!頭くそだけどよろしくお願いします!


スポンサードリンク

7: 以下、名無しにかわりましてVIPがお送りします 2014/01/04 22:01:13 ID:vKdW/2mf0

逆かと思って開いたのに…


44: 以下、名無しにかわりましてVIPがお送りします 2014/01/04 22:25:32 ID:nzCWAN6W0

俺も逆かと思って開いたのに


8: 以下、名無しにかわりましてVIPがお送りします 2014/01/04 22:01:29 ID:2FtGig1R0

まず、Hello worldをします


17: 以下、名無しにかわりましてVIPがお送りします 2014/01/04 22:06:46 ID:kC+V2XeX0

>>8
#include <stdio.h>
int main(void) {
printf "hello,world";
return 0;
}

各々の要素の意味をあんまり理解してません!


23: 以下、名無しにかわりましてVIPがお送りします 2014/01/04 22:09:18 ID:2FtGig1R0

>>17
じゃあそれをコンパイルして実行だ


32: 以下、名無しにかわりましてVIPがお送りします 2014/01/04 22:18:14 ID:kC+V2XeX0

>>23



ぶっちゃけここまではできるんです><


33: 以下、名無しにかわりましてVIPがお送りします 2014/01/04 22:20:13 ID:aFAJM5M90

>>32
まず基礎覚えろ
なんでHello Worldが表示されるか理解しないと次に進まないぞ


36: 以下、名無しにかわりましてVIPがお送りします 2014/01/04 22:21:27 ID:kC+V2XeX0

>>33
はい教えてください!

あっVim使えるからといって「ネタだろ?wwww」とか思わないでくださいね
本当にプログラミングできません


39: 以下、名無しにかわりましてVIPがお送りします 2014/01/04 22:23:35 ID:kC+V2XeX0

昨日の深夜スレ立てたんですけど眠くて寝ちゃったんです!
だから今日から皆さんに教えてもらって頑張ろうかなと!


40: 以下、名無しにかわりましてVIPがお送りします 2014/01/04 22:23:52 ID:aFAJM5M90

あのさ…教えてくださいってなんで自分で調べようとは思わないの?


46: 以下、名無しにかわりましてVIPがお送りします 2014/01/04 22:27:42 ID:kC+V2XeX0

>>40
たぶん今まで僕が買ったプログラミングに関する本は50冊を超えてると思います!
IT系の本であれば200冊は超えるでしょう
毎日IT技術系の記事をクリップしてますが管理しきれないほど量があります

それでもプログラミング覚えられません><


51: 以下、名無しにかわりましてVIPがお送りします 2014/01/04 22:28:56 ID:2FtGig1R0

>>46
お前買うだけ買って読まないタイプだろ!


58: 以下、名無しにかわりましてVIPがお送りします 2014/01/04 22:31:55 ID:kC+V2XeX0

>>51
1/3くらいよんで集中力切れちゃいます・・・


61: 以下、名無しにかわりましてVIPがお送りします 2014/01/04 22:33:54 ID:kC+V2XeX0

厨二ハッカーに憧れて
http://blog.livedoor.jp/itsoku/archives/36172302.html

これが僕の全てです!


75: 以下、名無しにかわりましてVIPがお送りします 2014/01/04 22:47:00 ID:YkrVOnF40

僕はjavaで三ヶ月かかってやっとジャンケン程度のアプリしかつくれなかったよ

向いてないのきついわ


81: 以下、名無しにかわりましてVIPがお送りします 2014/01/04 22:51:56 ID:kC+V2XeX0

>>75
じゃんけんですかあ

3パターンの属性があり、それぞれ勝つものが決まってる
こちらが手を選択した瞬間にコンピュータに乱数で手を生成させればいけますかね?


101: 以下、名無しにかわりましてVIPがお送りします 2014/01/04 23:16:43 ID:kC+V2XeX0

今、手始めにC言語でじゃんけんを書いてます・・・
乱数の生成に行き詰まってます・・・

rand();を使えば乱数を呼び出せると言うのは理解しました

グー0、チョキ1、パー2とした場合、0から2の乱数を生成しなくてはなりません
rand()関数で生成した0から2の乱数を変数CPUに入れ、scanf関数でプレイヤーからの入力値を受け取り変数USERへ入れます

ってとこまで頭でまとめましたがrand();でどうやって最大値を指定するんですかね?


105: 以下、名無しにかわりましてVIPがお送りします 2014/01/04 23:18:11 ID:tE4PVyTm0

>>101
rand() % 3


113: 以下、名無しにかわりましてVIPがお送りします 2014/01/04 23:23:30 ID:kC+V2XeX0

>>105
あまりを出すんですか?


106: 以下、名無しにかわりましてVIPがお送りします 2014/01/04 23:18:17 ID:2FtGig1R0

>>101
最大値がRAND_MAXなので、((double)RAND_MAX)+1で割ってから3倍して小数部分を切り捨てる


113: 以下、名無しにかわりましてVIPがお送りします 2014/01/04 23:23:30 ID:kC+V2XeX0

>>106
RAND_MAXというのは決まった言葉なんですかね?
stdio.hがRAND_MAXという機能を提供してるんですか?
それとも便宜上、プログラムの慣例としてRAND_MAXという言葉が使われているんですか?

プログラムには慣例が多く、僕みたいな初心者からすると、それが機能か慣例なのか分かりにくいんですよ


117: 以下、名無しにかわりましてVIPがお送りします 2014/01/04 23:26:58 ID:bZPcLkQJ0

> stdio.hがRAND_MAXという機能を提供してるんですか?
はい

とりあえず書いてみてコンパイルエラーが出なければRAND_MAXが提供されてる、みたいに判断するといいんじゃないかな


137: 以下、名無しにかわりましてVIPがお送りします 2014/01/04 23:41:43 ID:UpuS1Bp+P

ヤダこの子ガチで頭悪い・・・///


140: 以下、名無しにかわりましてVIPがお送りします 2014/01/04 23:46:40 ID:kC+V2XeX0

とりあえずここまで


142: 以下、名無しにかわりましてVIPがお送りします 2014/01/04 23:50:15 ID:tE4PVyTm0

>>140
すげ。vimでやってるのか。


147: 以下、名無しにかわりましてVIPがお送りします 2014/01/04 23:57:29 ID:vsdt+U1h0

Cってテキストエディタで書くやつも多いけど
コード以外に気を取られることを減らすためにIDE使えばいいと思うの
仕事にしないなら尚更


151: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 00:03:45 ID:8qEJyCaC0

あっるぇー???


154: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 00:06:30 ID:CiInVuQS0

>>151
user == 2 && cpu == 1


157: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 00:10:50 ID:8qEJyCaC0

>>154
ありがとございますっ!

やったー!!!!!!!!!
マジでうれしい!!!!!!!!!!!




>>154様アアアァァァァ!!!!!
がちでまともに簡単なものだけど始めてプログラム完成させたよぉぉぉぉ!!!!!!!


172: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 00:30:19 ID:u3+/OJkA0

>>157
いろいろ穴があるぞ。
- まず、2回目以降のifの前にelseを置かないといけない。
- cpu = 2, user = 2の場合、最初の2行のprintf実行される
- そうだとしても、正しくない。たとえば、2個目のifは
 userがパーを出したときを意味するが、もしcpuがチョキを出すと
 正しくない結果が表示される。


174: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 00:33:48 ID:8qEJyCaC0

>>172
はいやってみます!


155: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 00:08:26 ID:sHWfWAfH0

>>151
アイコはuserとcpuと比較してるけど、それ以外は定数と比較してるから、アイコ以外のときは結果が同じなんじゃないの。


161: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 00:14:41 ID:8qEJyCaC0

>>155
つまりじゃあ次は時間から乱数を生成するバージョンアップを行えばいいんですね!?
そうすることによって毎回違う手になるとっ!


168: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 00:23:01 ID:8qEJyCaC0

time.hを宣言してsrand((unsigned)time(NULL))を使うということは

int cpu;
cpu = srand((unsigned)time(NULL))

これで良いんでしょうか?
ん?これじゃ0から2の乱数は得られないですよね?

int cpu;
cpu = srand((unsigned)time(NULL)) % 3

こうかな?

Ecripsもセットアップします


169: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 00:24:57 ID:CiInVuQS0

>>168
本当にお前馬鹿だな


171: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 00:29:08 ID:8qEJyCaC0

>>169
??????

int cpu;
srand((unsigned)time(NULL));
cpu = rand() % 3;

こうってことですか?
うん?????


175: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 00:34:07 ID:CiInVuQS0

>>171
それでよい

ただし、もしも複数回rand()を呼ぶ事があったとしても、srand()は1回だけとすること
複数回rand()ってのはつまり、例えば「あいこである限り再度じゃんけんし続ける」みたいな機能を入れた場合な


177: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 00:37:59 ID:8qEJyCaC0

>>175
ありがとうございます!

srand((unsigned)time(NULL));はおまじない!


173: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 00:33:26 ID:B4mPXV/C0

printf ("手を入力してください グー0 チョキ1 パー2");
int user, cpu;
cpu rand() % 3;
scanf("312" , &user);
char kekka[5] = {"負け","勝ち","あいこ","負け","勝ち"};
printf("あなたの" + kekka[user-cpu+2])


178: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 00:42:19 ID:u3+/OJkA0

>>173 すごいな。これは思いつかなかった。


180: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 00:54:05 ID:8qEJyCaC0

そうは問屋が下ろさなかったでござるの巻



なぜだ・・・


183: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 01:01:04 ID:CiInVuQS0

>>180
else if


189: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 01:05:18 ID:u3+/OJkA0

>>180 とりあえず。else じゃくて else ifだが、部屋にあるはずの
はじめてのCかそういう本の条件分岐の項を読み直すべき。


182: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 00:59:57 ID:8qEJyCaC0

ifにしたら動いた!?



elseって「もしでなければ」じゃなかったっけ?


185: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 01:03:07 ID:sgrh9qdb0

条件式が書けるのはifだけ
だから複数書くなら
if(){ ... }
else if(){ ... }
else if(){ ... }
else{ ... }
って書く


187: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 01:03:50 ID:Vevgq6nt0

言語仕様読み直せカス


181: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 00:54:10 ID:sgrh9qdb0

CPUの手を出してないから本当にあってるかどうか確認できないのが原因よね


197: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 01:11:05 ID:rXtfB2hP0

cpuが出した手も表示させようぜ


205: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 01:27:34 ID:8qEJyCaC0

>>197
むむむ上手くできませんね・・・
printfがはじかれる・・・

手始めにprintf("176", &cpu);で数字だけだそうと思ったんですか・・・



219: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 01:39:12 ID:OazKSiXf0

警告読めよ
format はintをexpectしてるけど実際はint*になってるっていってるじゃん


213: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 01:34:33 ID:u3+/OJkA0

>>205 だから本を読むんだ。
&xxx は変数xxxが置かれているメモリ上の位置を表す。
(Cの用語では、この位置をポインタと呼ぶ)
xxxに格納されている値を取り出したければ単にxxxでいい。

「printfは受け取った値を表示する」だから、printf("", xxx)
「scanfは受け取った場所に値を書き込む」だから、scanf("", &xxx);

じゃなんで、代入のときは
&x = 2;
とか書かないことになっているかというと、そういう文法だと書くのが
めんどうだから。


221: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 01:41:18 ID:8qEJyCaC0

>>213
うおおおおぉっぉおぉおぉおぉぉぉぉぉおお!!!!!?




なんとまあ!ポインタ!よくわかんないけどメモリ上の位置!
printfは受け取った値を表示する!
scanfはそもそも書き込み!だから明示的にメモリの位置を指定する!だから&が必要!


198: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 01:12:00 ID:6AeFprib0

じゃんけんゲーム作りたいの?格ゲーとか上で見たけど


199: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 01:13:40 ID:rXtfB2hP0

じゃんけんを発展させると格ゲーになる


210: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 01:31:34 ID:HYdmER630

何か楽しそうやな。。。孤独にやってるわしと違って。。。


216: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 01:37:11 ID:8qEJyCaC0

>>210
皆さんのお陰で楽しいですっ!

独りが寂しいのなら僕に教えてください!


217: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 01:38:45 ID:Vevgq6nt0

>>216
随分堂々としたコジキだな


225: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 01:49:52 ID:8qEJyCaC0

>>217
すみません!

上にも書いたけど僕はVIP史上最弱底辺の技術者です。まっさらの素人じゃないんです!
次の言葉は純粋な気持ちで発した別に他意の無い言葉だと受け取ってください!

僕は皆さんのように頭良くない」です!皆さんはほんと頭が良い!僕なかなか覚えられないし!

僕は10年間自分で試行錯誤をし、挫折してもなお突っ走ってハッカーに憧れるバカです!
僕の頭の中には10年間蓄積された疑問で一杯です!初心者が10年間ずっとつまづいてきたと思ってください!

あらゆる「初心者つまづくポイント」を僕は知ってるわけです!
その疑問を皆さんへぶつけて僕は皆さんから吸収したい!

僕が理解したということは多くの初心者が理解するってことです!
このスレのログはおそらく強力な初心者の武器になることでしょう!

僕はそう信じてます!だから教えてください!!!!!


234: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 01:59:09 ID:8qEJyCaC0

こんな感じになりました!



252: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 02:24:59 ID:jYeDxDr/0

こーどがきたなくてはきそう


255: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 02:32:27 ID:8qEJyCaC0

はいとりあえず本日のソースコードうpしておきました

// 2014年1月4日(夜)~1月5日(深夜)
// 28歳の俺にお前らがプログラミングを1から教えるスレ
// http://hayabusa.2ch.net/test/read.cgi/news4vip/1388840404/
 
/* おまじない*/
#include <stdio.h>
#include <time.h>
 
/* 関数宣言 */
int main(void)
{
    /* 説明書き */
    printf ("\n<<<手を入力してください>>>\n\n[グー 0][チョキ 1][パー 2]\n\n---> ");
    /* プレイヤーとコンピュータの関数宣言 */
 
    int user,cpu;
    /* 時間の取得 */
    srand((unsigned)time(NULL));
 
    /* 乱数生成 , 変数CPUへ代入*/
    cpu = rand() % 3;
 
    /* 入力受付 */
    scanf("%d",&user);
 
    /* 手を表示 */
    printf("\nプレイヤー『%d』 vs コンピュータ『%d』",user,cpu);
    printf("\n\n結果は『");
 
    /* 条件分岐 */
    if (user == cpu) printf("あいこ\n\n");
    else if (user == 0 && cpu == 1) printf("プレイヤの勝ち");
    else if (user == 0 && cpu == 2) printf("コンピュータの勝ち");
    else if (user == 1 && cpu == 0) printf("コンピュータの勝ち");
    else if (user == 1 && cpu == 2) printf("プレイヤの勝ち");
    else if (user == 2 && cpu == 0) printf("プレイヤの勝ち");
    else if (user == 2 && cpu == 1) printf("コンピュータの勝ち");
 
    printf("』\n");
 
    /* 返り値なし */
    return 0;
}


256: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 02:34:38 ID:jYeDxDr/0

変数宣言の前に関数書かんといて


260: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 02:36:37 ID:8qEJyCaC0

>>256
慣例とするならどうすると綺麗なんでしょうか?
僕そういうこともわかりません

出来れば並べ直していただけるとありがたいのですが


267: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 02:43:33 ID:tluWRbe1P

先頭にまとめてあるほうが読みやすいし間違いも起こりにくい
変数初期化も早めにオナシャス


271: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 02:47:34 ID:B4mPXV/C0

書き方とかマナーとかもいいけど、
そこらへんはそんなに突っ込まないでいいんじゃね?

ロジックとか考え方とかそっちのほうメインで


266: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 02:42:06 ID:P/5mkg9U0

わりと真面目スレでわろた


279: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 02:56:07 ID:8qEJyCaC0

とりあえず僕に出来ることはコメントを追加することです


299: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 03:20:54 ID:8qEJyCaC0

とりあえず今日の勉強はここで終わりとします
ただ皆さんが色々と別記述同一結果なコードを書いてくれたのでそれを解いて理解しようと思います
次回スレ立て時にその宿題を終えた結果を発表しつつ皆さんに採点して貰い、その後はFizzBuzz問題でもできたらなと考えてます

28歳から目指す厨二ハッカー、これからもよろしく!


300: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 03:22:36 ID:rXtfB2hP0


趣味のプログラミングは面白いとおもう


301: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 03:25:40 ID:P/5mkg9U0


学ぶ意欲があって素晴らしい!


302: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 03:30:48 ID:aQwKB+Pw0

>>1が少しでも成長するとは思わなかったよ


303: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 03:36:05 ID:iCtoMNde0


また立ててくれ


304: 以下、名無しにかわりましてVIPがお送りします 2014/01/05 03:41:18 ID:4wXimRRX0

IT速報にまとめられそうだな

わろたww


元スレ:http://hayabusa.2ch.net/test/read.cgi/news4vip/1388840404/