C言語なら俺に聞け(入門編)Part 117
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN★前スレ
C言語なら俺に聞け(入門編)Part 115
http://toro.2ch.net/test/read.cgi/tech/1368444993/
★過去スレ
http://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++の宿題片付けます 164代目
http://toro.2ch.net/test/read.cgi/tech/1370255305/
★C++言語については避けてください。C++対応明記スレへどうぞ。
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
# 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。
# サイズが大きい場合はアップローダ等を利用してください。
http://codepad.org/C/C++の宿題片付けます 165代目
http://ideone.com/
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
0153デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN何をした、以前の問題で何をすればいいのか分からないところです。
0154デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN一次元配列で扱えば良い
割とマジで
2つ目の要素数が決まってるなら手段があるけど、
不定だと本当に手段が無い
0155デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN0156デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANa(*p)[b][c]=(void*)d;\
…\
}
DEFFUNHA(char,5,10) /* void fun5_10ary(char*){…} */
0157デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANポインタ配列?ってやつを使えばいいんでしょうか…?
0158デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN一次元配列を宣言して、関数に渡して値を上書きする方法は分かる?
0159デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN分からないです。
0160デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN入門書読んでね
ってとしか
0161デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN一つ目の方法は、「こういう事をしたいのだが、はどうすればできるか?」と具体的に聞いてみる。
二つ目の方法は、入門書の、「配列とポインタ」、「関数を使った処理」が書いてあるところを読む。
その上で、分からないところがあれば、「これはどういうこと?」と聞いてみる。
一つ目は、解決が差し迫っているなら有効だけど、上手に聞かないと回答がこないかも。
http://codepad.org/OEL84wkY
前も似たようなコード書いた、これって需要があるの?
0163デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN右も左もわからず、いきなり高度なことやろってのがよーわからんのよね
0164デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN↓
関数を用いて、a[][]の一部を上書き
↓(これを複数回)
最終的にmainの最後で表示
という流れをやりたいです。
オセロの盤面みたいな感じで操作ごとに一部を上書きしたいと思っています。
二次元配列を利用した理由はまた同じ例になりますが、オセロの盤面の1マスを二次元配列の1要素に見立てたいと思ったからです。
値渡しとポインタ渡しの所が少し自分の中で混ざって解釈してる気がしたので、ここで質問し、そこの部分の確認もしたいと思っていました。
0165デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN0166デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN0167デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN0168デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANオセロの盤面は例であって、オセロではないのでintではなくcharで扱いたいです。
0169デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN例えば配列ary[5][5]があったとして
ary[0][0],ary[0][1],...,ary[0][5],ary[1][0],...,ary[5][5]
はアドレスが連続ではないのですか?
連続なら関数へ渡すとき
ary[0][0]やary[1][0]などのアドレスを保持させる意味がわからないんですが・・・
0171デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANhttp://codepad.org/yORMquQm
でいいのなら、>>162 や >>170 は忘れてください
0173デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANたとえば、Windowsでなんの工夫もしなければ、
○も●も2バイトになるよ。char[3]
0174デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN配列ary[6][6]があったとして
ary[0][0],ary[0][1],...,ary[0][5],ary[1][0],...,ary[5][5]
は、配列だからアドレスが連続です。それが配列の特徴
0175デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANary[1][0]のように1, 0を指定したら、ary[1][0]の記憶領域のアドレスを計算してくれるんだよ
0176デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANscanf関数を抜ける事ってできますか?
一定時間入力が無かったらスルーみたいな事はできないですかね?
0177デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANunix系なら
http://www-cms.phys.s.u-tokyo.ac.jp/~naoki/CIPINTRO/CCGI/function.html#setjmp
0178デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANいやCygwinで無理ですか?
端末上で行うゲームを作りたいんですが、繰り返し制御の中で
scanf使うと思うんですけど入力が無いときも処理が進むようにしたいんです。
0179デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN0180デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANCygwinのマニュアル読むなり、テストコード書くなりしてみたら?
10分で終わるでしょ。
終わったら結果報告よろしく。
0181デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANリンク先見てないけどSIGALRMでlongjmpするんでしょ。
> Cygwinのマニュアル読むなり、テストコード書くなりしてみたら?
これが最も早いとは思えないな。
0182デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANhttp://peroon.hatenablog.com/entry/20110730/1311996770
0183デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANそうだね。
ヒント出されても自分で調べたり確かめたりできないから聞いてるんだろうしね。
0184デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN全部、考えてください
って、言ってる?
0185デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN0186デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN0187デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN0188デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN0189デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANhttp://d.hatena.ne.jp/ura_ra/20111026/1319642014
のサイトなんですが
//閾値設定x[NUM_INPUT] = 1.0
x[NUM_INPUT] = (double)1.0;
//隠れ素子の計算
for( j = 0; j < NUM_HIDDEN;j++)
{
net_input = 0;
for(i = 0; i < NUM_INPUT+1; i++)
{
net_input = net_input + w1[i][j] * x[i];
}
NUM_INPUT+1なぜ+1なのでしょうか??
閾値ってのは閾値をこえたら発火するという役割なんじゃないのでしょうか?
net_input=に閾値までいれてどんな役割をこなしているのかわかりません!!
このド低能のクソ豚めにどうかご教授ください!
0190デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANhttp://hooktail.org/computer/index.php?Perceptron
単純パーセプトロン のところ
N個 の セル + 閾値判定 を
N+1個 の セル ただし最終セルは常時閾値となる
に置き換えたモデルだね
0191デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN= Σ(i=0〜n-1)w[i]x[i] - 閾値 が 正なら発火
w[0]x[0] + w[1]x[1] + ... w[n-1]x[n-1] - 閾値
引き算を w[n] = -1 に、閾値を x[n] = 閾値 に置き換えると
w[0]x[0] + w[1]x[1] + ... w[n-1]x[n-1] + w[n]x[n]
こう書ける (ってことは 0〜n までの積和だねい)
常時 x[n] = 閾値に、 学習で w[n] = -1 (に収束するといいな)
Σ(i=0〜n)w[i]x[i] で発火判定すれば良いことになるん
0192デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN0193デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANじゃぁどうやって入力するの?
標準ライブラリだけしか使っちゃいけないなら
scanf必須でしょう?
0194デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN初心者だからしょうがないけど環境とかこういう条件は最初に言うように。
0195デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN0196デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN何使えばいいでしょうか?
hで右
gで左
上がy
下がb
という標準キー設定にしたいんですが。
0197デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANと問いかけられてるのスルーする質問者
0198デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANテスト作って採点するときも楽なのかもね、scanf
0199デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANすいません。
さっきのCygwinです。
0200デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANとりあえず、このへんから
ttp://www.kis-lab.com/serikashiki/man/ncurses.html
0201デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANなんかローグ動かそうとして苦労した記憶がある
0202デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN0203デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN0204デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN0205デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANCUIでゲームとか職人にもほどがある
0206デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN格納される変数のサイズ以上に入力されたときも変数を超えてメモリへ格納されるから?
じゃあ何の関数を使えばいい?
0207デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN自己責任関数がおすすめ
0208デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN入力はノンブロッキングでいけるハズ
本末転倒な解w
0209デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANfgets使えば
0210デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN便利過ぎだろって思う?
0211デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN0212デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANOSのこと?
0213デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN0214デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN0215デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANちゃんと使えばセキュリティーも問題ないけど使い方がけっこう複雑だし、
仕様とかに精通したって、入門書を卒業して実用的なコードを書き出したら
まず使わないし時間の無駄っていうか。
昔 CUI 花火のコードを宿題スレで公開した猛者がおられましたが、それを実行したのは cygwin/bash では無理で cmd? いや、もしかすると command.com だったかな‥‥
0217デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN0218デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANそのプログラム感動したわ
何年か前だったと思うが今でもおぼえてる
エスケープシーケンスだけであそこまで出来るなんて‥‥
どなたか URL をご存じないかと‥‥
codepad か ideone なら今でも拾えるはず‥‥
手元に置かなかったのは不覚でした
0220デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN例えばint型のnという変数を宣言したとき、
同時にnのアドレスを保持した変数&nも宣言されるのでしょうか。
それとも&nが使われる時にnのアドレスを確認してそのアドレスを格納した変数&nができるのでしょうか。
0221デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANいいえ
>それとも&nが使われる時にnのアドレスを確認してそのアドレスを格納した変数&nができるのでしょうか。
いいえ
&は「nのアドレスを確認してそのアドレスを」値として返すだけの演算子でやんす
単項のマイナス -n なんかと同じ (nの値を確認してその値の符号を変えたものを返す演算子)
0223デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN↓だとA(i)でコンパイル引っかかる
int i;
int A0 = 1;
int A1 = 2;
#define A(n) A ## n
for (i=0; i<2; i++)
printf("%d\n", A(i));
0224デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANprintf("%d\n", A(i));
printf("%d\n", A(i));
0225デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANアホ
0226デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANprintf("%d\n", A1);
0227デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANと配列を用意しておいて
#define A(i) (*arrayA[(i)])
こうするぐらいしかアイデアが思い浮かばない
0228デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANマクロを展開するためのループじゃねえし
0229デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN多分これじゃないかと思う。
http://unkar.org/r/tech/1217741118/86
回答は多分、
http://unkar.org/r/tech/1217741118/138
のようだけど、アップロードしたサイトは既に閉鎖している
0230デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.ANああ、#define使わないでそうした方がいいですかね
>>228
分かった上で一応聞いてみたんだが
0231デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.AN0232デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.AN0233デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.AN0234デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.AN#define FOR(m, ...) ここは考えろ
FOR(A, 1, 2, 3, 4)
0235デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.ANこつこつ、エディタでコピペしながらやるほうが早かったりして
0236デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.AN人間(ニュータイプ)だけで独立国家のジオン公国つくって、何も生み出す
能力がなく金や資源や穀物を右から左に動かして中間搾取するだけのモラル
の無い腐りきった文系男(オールドタイプ)国家に戦争しかけるのが人類の
最終形態だろう、200年先になるか300年先になるかはわからんが
0237デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.AN細かい事に躓くタイプがぼけるだけで、これやりてーとか
頭ふるちんぽしてたらかなり頭使うからボケない
0238デフォルトの名無しさん
2013/07/19(金) NY:AN:NY.AN表示とかは記号で十分なんだが
0239デフォルトの名無しさん
2013/07/19(金) NY:AN:NY.AN0240デフォルトの名無しさん
2013/07/19(金) NY:AN:NY.AN数十分もあれば作れるはず
0241デフォルトの名無しさん
2013/07/19(金) NY:AN:NY.AN0242デフォルトの名無しさん
2013/07/19(金) NY:AN:NY.ANファイルから読み込んだ文字列を格納したいです。
apple
tree
orange
notebook
eggplanet
jym
mountain
0243片山博文MZパンク ◆0lBZNi.Q7evd
2013/07/19(金) NY:AN:NY.ANchar*かchar[]でしょうね。strdupで動的に確保することもできるし。
0244片山博文MZパンク ◆0lBZNi.Q7evd
2013/07/19(金) NY:AN:NY.ANchar word[64];
} WORD;
か
typedef struct {
char *word;
} WORD;
として、
WORD word_table[100];
か
WORD* word_table;
0245デフォルトの名無しさん
2013/07/19(金) NY:AN:NY.ANそれぞれの要素の文字にアクセスできますか?
0246片山博文MZパンク ◆0lBZNi.Q7evd
2013/07/19(金) NY:AN:NY.AN単語の長さはstrlen(word_table[i].word)
0247デフォルトの名無しさん
2013/07/19(金) NY:AN:NY.AN0248デフォルトの名無しさん
2013/07/19(金) NY:AN:NY.ANstrcatでfgetsで持ってきた文字列を追加した後にヌル文字を付加する感じですか?
0249デフォルトの名無しさん
2013/07/19(金) NY:AN:NY.ANchar **
ここはやっぱり
typedef struct {
.....いろいろ
char word[0];
} WORD;
と不定長構造体で決めたいところ
0251デフォルトの名無しさん
2013/07/20(土) NY:AN:NY.AN可変長構造体は否定してたんじゃないのか? WWWW
しかもGCCの拡張形式。WWWW
てめーはフレキシブル配列メンバは使用禁止だ WWWW
http://toro.2ch.net/test/read.cgi/tech/1349527750/672
> あと可変長構造体はリッチーはすごく嫌っていたみたい
> http://www.kouno.jp/home/c_faq/c2.html#6
> >ただしDennis Ritchieは「Cの実装への根拠 のない馴れ馴れしさ」と呼んだ。
> C99 では公認されたにしてもちょっとねえ、妙なところは技巧的にいくんだ?
0252デフォルトの名無しさん
2013/07/20(土) NY:AN:NY.AN半年前のレスを引っ張り出してきて粘着するとか
■ このスレッドは過去ログ倉庫に格納されています