C言語なら俺に聞け(入門編)Part 111
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2012/12/09(日) 23:18:13.67★前スレ
C言語なら俺に聞け(入門編)Part 110
http://toro.2ch.net/test/read.cgi/tech/1353148538/
★過去スレ
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++の宿題片付けます 161代目
http://toro.2ch.net/test/read.cgi/tech/1354070278/
★C++言語については避けてください。C++対応明記スレへどうぞ。
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
# 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。
# サイズが大きい場合はアップローダ等を利用してください。
http://codepad.org/
http://ideone.com/
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
0002デフォルトの名無しさん
2012/12/09(日) 23:32:24.750003デフォルトの名無しさん
2012/12/09(日) 23:35:22.70日本のC言語底辺教育の総本山だ。
大事に使ってね。仲良く使ってね。
0004デフォルトの名無しさん
2012/12/10(月) 00:28:26.45前スレ
> 986 名前:デフォルトの名無しさん [sage]: 2012/12/09(日) 20:24:53.93
> >>977
> 文字列反転関数
> void strrev(char *d)
> {
> int i;
> int len = strlen(d);
> char tmp;
> for (i = len / 2 - 1; i >= 0; i--) {
> tmp = d[i];
> d[i] = d[len - i - 1];
> d[len - i - 1] = tmp;
> }
> }
> これは、"1234"を"4321"に変換する
>
> 987 名前:デフォルトの名無しさん [sage]: 2012/12/09(日) 22:06:01.62
> 副作用かっこわるい
副作用?何?と思ったが分かった。
char* strrev(char *d) {
int i, len = strlen(d); char tmp;
for (i = len / 2 - 1; i >= 0; i--) { tmp = d[i]; d[i] = d[len - i - 1]; d[len - i - 1] = tmp; }
return &d[0];
}
なら良いのだな。
ところで、XORを利用したswapもあるんだね。
ttp://www8.cs.umu.se/~isak/snippets/strrev.c
0005デフォルトの名無しさん
2012/12/10(月) 01:13:18.61前スレ987が勘違いしてる。
関数型言語でいう副作用排除なら、別エリアに編集する方法もある。
0006デフォルトの名無しさん
2012/12/10(月) 04:20:49.170007デフォルトの名無しさん
2012/12/10(月) 11:48:54.440008デフォルトの名無しさん
2012/12/10(月) 12:25:55.240009デフォルトの名無しさん
2012/12/10(月) 12:39:29.02C初学者が間違いやすい所。
0010デフォルトの名無しさん
2012/12/10(月) 12:50:14.68なんにしても関数の外にあるものを変更したらそれは副作用だけども。
0011デフォルトの名無しさん
2012/12/10(月) 13:04:48.070012デフォルトの名無しさん
2012/12/10(月) 13:12:00.32ヒープからメモリが確保される事も副作用と考えるならダメだけど。
0013デフォルトの名無しさん
2012/12/10(月) 13:16:08.30001412
2012/12/10(月) 13:43:03.70ごめんなさい!
0015デフォルトの名無しさん
2012/12/10(月) 13:47:08.410016デフォルトの名無しさん
2012/12/10(月) 14:38:29.05http://toro.2ch.net/test/read.cgi/tech/1350461655/
966 名前:デフォルトの名無しさん[sage] 投稿日:2012/11/17(土) 12:11:48.06
純粋に関数としてみると、printfは書き込まれた文字数を返す関数。
画面に文字を表示するのはprintfの副作用。
968 名前:デフォルトの名無しさん[sage] 投稿日:2012/11/17(土) 12:29:40.99
>>966
すみません、その副作用とはなんでしょうか。
0017デフォルトの名無しさん
2012/12/10(月) 14:39:32.30>>968
int x;
int foo(void)
{
x = 100;
return 200;
}
で、xの値が書き換わってしまうのはfooの副作用。
int bar(void)
{
printf("%d\n", 300);
return 400;
}
で、数字が表示されてしまうのはbarの副作用。
0018デフォルトの名無しさん
2012/12/10(月) 14:40:03.28>>977
うーん、return で返す値以外は、関数にやらせることが"副作用"なんですかね。
引数void戻り値なしなら、関数の処理は全部、"副作用"?
981 名前:デフォルトの名無しさん[sage] 投稿日:2012/11/17(土) 14:08:18.34
>>979
>引数void戻り値なしなら、関数の処理は全部、"副作用"?
そのとおり
982 名前:デフォルトの名無しさん[sage] 投稿日:2012/11/17(土) 14:36:24.96
void func(int *a){
*a = *a + 1;
}
を副作用って言うのは、正直微妙な気がする。
0019デフォルトの名無しさん
2012/12/10(月) 14:46:56.19この計算機工学界隈での定義であり用語だろ
0020デフォルトの名無しさん
2012/12/10(月) 15:14:41.510021デフォルトの名無しさん
2012/12/10(月) 16:10:07.700022デフォルトの名無しさん
2012/12/10(月) 16:22:46.22returnだの引数だのといった説明は的外れ。
002322
2012/12/10(月) 16:24:55.70副作用ってのはその関数が終了してもメモリ上に残るような変数に書き込みを加えることを指すわけで、
0024デフォルトの名無しさん
2012/12/10(月) 16:49:05.95計算モデルでの、宣言的プログラミングとは違うモデル(ハードがStatefullなんだからしょうが無い)。
入門レベルをクリアしたら、CTMCP(コンピュータプログラミングの概念・技法・モデル)とかで違いが判る。
0025デフォルトの名無しさん
2012/12/10(月) 19:04:57.920026デフォルトの名無しさん
2012/12/10(月) 19:08:28.710027デフォルトの名無しさん
2012/12/10(月) 19:12:22.980028デフォルトの名無しさん
2012/12/10(月) 19:29:11.660029デフォルトの名無しさん
2012/12/10(月) 19:31:12.980030デフォルトの名無しさん
2012/12/10(月) 19:53:55.840031デフォルトの名無しさん
2012/12/10(月) 19:56:23.110032デフォルトの名無しさん
2012/12/10(月) 20:00:19.700033デフォルトの名無しさん
2012/12/10(月) 20:02:23.270034デフォルトの名無しさん
2012/12/10(月) 20:05:52.990035デフォルトの名無しさん
2012/12/10(月) 20:16:18.710036デフォルトの名無しさん
2012/12/10(月) 20:22:37.930037デフォルトの名無しさん
2012/12/10(月) 20:34:05.04時代錯誤にも程があるカスがwwww
0038デフォルトの名無しさん
2012/12/10(月) 20:53:10.15を書いて数学関数を使うプログラムを書いたのですがコンパイルでエラーになりました。
gccに-lmオプションをつけたらやっとコンパイルが通ったのですが、Cの教科書には-lmオプションのことなんか一言も書いて有りませんでした。
本当にありがとうございました。
0039デフォルトの名無しさん
2012/12/10(月) 20:54:35.070040デフォルトの名無しさん
2012/12/10(月) 20:56:45.220041デフォルトの名無しさん
2012/12/10(月) 20:57:49.17コンパイルは通ってリンクでエラーになってたんだろ。
0042デフォルトの名無しさん
2012/12/10(月) 21:31:49.740043デフォルトの名無しさん
2012/12/10(月) 22:24:48.34てことはstdio.hでprintf関数が定義&宣言されてると思ってたんですよ
けれど
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1331505108
のベストアンサーを見てみたら
>printf関数をコールするにはstdio.hと言うヘッダーファイルを#includeでインクルードします。
>そしてprintf関数が入ったライブラリファイルをコンパイルにリンクするように追加します。
って記述があったんです
これってprintf関数はstdio.hじゃぁなくてライブラリファイルで定義されてて
stdio.hでは宣言しかされてないってことなんですか?
0044デフォルトの名無しさん
2012/12/10(月) 22:27:43.600045デフォルトの名無しさん
2012/12/10(月) 22:28:49.570046デフォルトの名無しさん
2012/12/10(月) 22:28:59.220047デフォルトの名無しさん
2012/12/10(月) 22:29:56.02すっきりしました
0048デフォルトの名無しさん
2012/12/10(月) 22:30:24.400049デフォルトの名無しさん
2012/12/10(月) 22:30:36.130050デフォルトの名無しさん
2012/12/10(月) 22:33:19.270051デフォルトの名無しさん
2012/12/10(月) 22:39:16.470052デフォルトの名無しさん
2012/12/10(月) 22:42:05.040053デフォルトの名無しさん
2012/12/10(月) 22:44:25.710054デフォルトの名無しさん
2012/12/10(月) 22:54:39.71まぁ、そんな感じでいい
0055デフォルトの名無しさん
2012/12/10(月) 22:56:04.810056デフォルトの名無しさん
2012/12/10(月) 22:58:11.420057デフォルトの名無しさん
2012/12/10(月) 23:02:19.270058デフォルトの名無しさん
2012/12/10(月) 23:06:54.550059デフォルトの名無しさん
2012/12/10(月) 23:10:38.140060デフォルトの名無しさん
2012/12/10(月) 23:12:48.130061デフォルトの名無しさん
2012/12/10(月) 23:16:28.23ありがとうございます…
0062デフォルトの名無しさん
2012/12/10(月) 23:16:42.990063デフォルトの名無しさん
2012/12/10(月) 23:29:26.610064デフォルトの名無しさん
2012/12/10(月) 23:31:44.130065デフォルトの名無しさん
2012/12/10(月) 23:36:46.19普通に考えれば呼び出し先で、freeすることはほとんど無いはずなのですが
GUIのWindowみたいにいつ終わるかわからないものは、呼び出し先でfreeするのがベストかと思います。
0066デフォルトの名無しさん
2012/12/10(月) 23:54:06.07巣からでてくんな
main以外★mallocの後にfree不要と言うバカいるの?
http://toro.2ch.net/test/read.cgi/tech/1352812333/
0067デフォルトの名無しさん
2012/12/11(火) 00:02:45.660068デフォルトの名無しさん
2012/12/11(火) 00:26:52.67手紙なら読んだ人が処分するよね。
相手が読むのだけを待って、読み終えたら自分で片付けなくては
いけないなんて効率悪いと思う。
ただ、誰が片付けるかは明確にしておかないといけないけど。
>グローバルの時代に
聞くからに、とっても悲惨な時代だと、どーしても思うのですが
0070デフォルトの名無しさん
2012/12/11(火) 22:20:56.060071デフォルトの名無しさん
2012/12/11(火) 22:23:22.110072デフォルトの名無しさん
2012/12/11(火) 23:28:07.76int uruu(int year);
int main(void)
{
int a,b;
int lastdays=0;
int i;
scanf("%d %d ",a,b);
for(i=a;i<b;i++){
if(uruu(i)==1){
lastdays+=366;
}
else{
lastdays+=365;
}
printf("%d",lastdays);
}
int uruu(int year){
if(year%400==0){
return 1;
}
else if(year%100==0){
return 0;
}
else if(year%4==0){
return 1;
}
else{
return 0;
}
}
0073デフォルトの名無しさん
2012/12/11(火) 23:28:43.89何がいけないの?
0074デフォルトの名無しさん
2012/12/11(火) 23:30:19.25何がやりたいのか書かれてないのがいけない
0075デフォルトの名無しさん
2012/12/11(火) 23:32:44.96年度二つ入力して閏年考慮した上で、その間の日数を求めたい。
これはそのひな形。
とりあえず、動かないんだ。
0076デフォルトの名無しさん
2012/12/11(火) 23:33:55.620077デフォルトの名無しさん
2012/12/11(火) 23:34:10.21scanf &
0078デフォルトの名無しさん
2012/12/11(火) 23:35:37.89まだ動かない
0079デフォルトの名無しさん
2012/12/11(火) 23:36:37.180080デフォルトの名無しさん
2012/12/11(火) 23:38:30.820081デフォルトの名無しさん
2012/12/11(火) 23:38:38.982000、2007といれると
2000=閏年=366
2001=平年=366+365
みたいになることを期待してるんだけど
0082デフォルトの名無しさん
2012/12/11(火) 23:41:26.010083デフォルトの名無しさん
2012/12/11(火) 23:48:17.400084デフォルトの名無しさん
2012/12/11(火) 23:50:47.46↓
if((year%400) == 0)
%と=どっちが優先か忘れたけど
0085デフォルトの名無しさん
2012/12/12(水) 00:02:49.120086デフォルトの名無しさん
2012/12/12(水) 00:06:34.15けど、結局何がいけなかったのか分からない。
0087デフォルトの名無しさん
2012/12/12(水) 00:22:04.320088デフォルトの名無しさん
2012/12/12(水) 08:38:08.83{
int days;
int month;
int data[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
days=month[m];
if(uruu(y)==1 && m==2)
{
days+=1;
}
return days;
}
この関数なのですが、何か問題がありますか?
プロトタイプ宣言もしてあるのですが、動作しません。
0089デフォルトの名無しさん
2012/12/12(水) 08:42:14.92>days=month[m];
わからんけど、ここな気がする
0090デフォルトの名無しさん
2012/12/12(水) 08:43:17.40こうじゃね?
0091デフォルトの名無しさん
2012/12/12(水) 09:00:03.380092デフォルトの名無しさん
2012/12/12(水) 11:36:21.71課題とか実験とかなら判るけど、馬鹿に限って手を抜くことをしないからなぁ。
0093デフォルトの名無しさん
2012/12/12(水) 11:47:03.490094デフォルトの名無しさん
2012/12/12(水) 12:26:49.690095デフォルトの名無しさん
2012/12/12(水) 14:01:42.040096デフォルトの名無しさん
2012/12/12(水) 14:11:13.330097デフォルトの名無しさん
2012/12/12(水) 14:32:35.900098デフォルトの名無しさん
2012/12/12(水) 14:34:24.52bool isLastDigit2468(int value)
{
char foo[20];
char digit = foo[sprintf(foo, "%d", value) - 1];
return digit == '2' || digit == '4' || digit == '6' || digit == '8';
}
0099デフォルトの名無しさん
2012/12/12(水) 14:38:57.74i%10&&!(i%2)
0100デフォルトの名無しさん
2012/12/12(水) 14:45:35.40みんなよろしく\(^o^)/
0101デフォルトの名無しさん
2012/12/12(水) 15:26:00.550102デフォルトの名無しさん
2012/12/12(水) 15:28:25.73冷てぇなおいw
0103デフォルトの名無しさん
2012/12/12(水) 15:46:27.85Cを憶えると犯人予備軍にされる恐れがあるから注意な
警察「犯人は「Cシャープ(音楽記号)」というプログラミング言語を利用してウイルスを作成」
http://hayabusa3.2ch.net/test/read.cgi/news/1355285251/
0104デフォルトの名無しさん
2012/12/12(水) 16:02:56.20ctrl + d押しても^Dとしか表示されなくてbreak出来ないんだけどどうすればいいの
0105デフォルトの名無しさん
2012/12/12(水) 16:10:58.52マルチ。
0106デフォルトの名無しさん
2012/12/12(水) 16:18:00.84だって前に向こうで聞いたらここは解説するところじゃねーって怒られたんだもん
0107デフォルトの名無しさん
2012/12/12(水) 16:22:34.60ありがとうございます。ついでにもう一つ教えてください
Cでboolというのありました?
cppで確認用に
int main()
{
int num;
num = 123654;
if (isLastDigit2468(num) == true )
{
cout << num << "の末尾は2,4,6,8のいずれか\n";
}
}
てのはできたんですが。
0108デフォルトの名無しさん
2012/12/12(水) 16:22:41.26http://kohada.2ch.net/test/read.cgi/prog/1355294277/24
0109デフォルトの名無しさん
2012/12/12(水) 17:16:16.17あるよ
stdbool.hで定義されてる
0110デフォルトの名無しさん
2012/12/12(水) 17:26:03.070111デフォルトの名無しさん
2012/12/12(水) 17:51:59.64そういう書き込みするやつは、大抵回答してない。
0112デフォルトの名無しさん
2012/12/12(水) 18:02:53.440113デフォルトの名無しさん
2012/12/12(水) 18:20:01.610114デフォルトの名無しさん
2012/12/12(水) 18:22:53.830115デフォルトの名無しさん
2012/12/12(水) 18:29:18.740116デフォルトの名無しさん
2012/12/12(水) 19:01:39.84main関数の最後辺りを弄ってたらバスエラーになるように
その前でもセル数が0で変わらないまま
http://codepad.org/qBhlee6g
友人がこのプログラムならできたと言ってた(課題も解けてた)がいつの間にかに正しい結果が出ないように
http://codepad.org/QHlDoA1i
経験者が見たところ、ぱっと見良さそうなコードみたいですが、何かおかしい所があればお願いします。
0118デフォルトの名無しさん
2012/12/12(水) 19:09:07.54ちと難しかったですw
0119デフォルトの名無しさん
2012/12/12(水) 19:10:05.93こちらの環境(Scientific Linux 6.3 + gcc 4.4.6)だと、
Ctrl+d で scanf() の戻り値が -1 になって break するけど、
そちらの環境(Windows?)だと Ctrl+d で抜けるのが利かないのかな。
例えば、
> if (scanf("%s", data[i].name) != 1)/* Ctrl+Dが押されたらbreakでループを抜ける */
> break;
↓
> scanf("%s", data[i].name);
> if (data[i].name[0] == 'q' && data[i].name[1] == '\0') /* 'q'が入力されたらbreakでループを抜ける */
> break;
'q' とかで終了するよう改造してみたらどうだろうか?
あるいは、Windowsなら conio.h の _getch() と _ungetch() を組み合わせてみるとか…
0120デフォルトの名無しさん
2012/12/12(水) 19:16:14.07> http://codepad.org/qBhlee6g
116行目無限ループ
Control-Zで止める仕様です
因みにtmp.txtを読まずに乱数を発生させるタイプは上手くいってます
http://codepad.org/fo3Tn2CJ
0122デフォルトの名無しさん
2012/12/12(水) 19:45:24.78自分で一通り調べて色々やってみたら
if (scanf("%s", data[i].name) != 1)
この行の1をEOFにするだけでCtrl+Dでループから抜けられるようになった
ありがとう
0123デフォルトの名無しさん
2012/12/12(水) 20:02:28.17tmp.txtから正しく読まれているのだろうか?
0124デフォルトの名無しさん
2012/12/12(水) 22:18:54.48「ドラッグされたファイル名を表示するプログラム」が書かれていたのですが使い方が分かりません。
visual C++のデバック開始で開かれるプロンプトにテキストファイルなどをドラッグすればいいのですか?
0125デフォルトの名無しさん
2012/12/12(水) 22:31:27.04filename使うの止めてファイル名指定して直で読み込むようにしたらできました
ありがとうございます
0127デフォルトの名無しさん
2012/12/13(木) 01:20:57.170128デフォルトの名無しさん
2012/12/13(木) 01:30:41.44ファイルの実体を置いたりとか他にコード弄ったとか色々あるんじゃあないのかよ?
0129デフォルトの名無しさん
2012/12/13(木) 01:34:39.26”表現が間違ってる”事が多いから、コードをアップロードした方が誤解が少ないんだけどね。
0130124
2012/12/13(木) 01:45:11.04調べてみたらVistaだとドラッグしてもパスが表示されないのですね。
0131デフォルトの名無しさん
2012/12/13(木) 11:02:24.31int bmilarger(Person data[ ], int n, double v)
{
int i;
int cnt=0;
for(i=0;i<n;i++)
{
if(data[i]>=v)
{
cnt=cnt+1;
}
}
return cnt;
}
if文の所で'>=' : struct に対して正しくありません。
と出てしまいます。どこを修正すればいいのでしょうか?
0132デフォルトの名無しさん
2012/12/13(木) 11:10:28.750133デフォルトの名無しさん
2012/12/13(木) 11:10:36.93data[i].bmi>=v みたいに。
0134デフォルトの名無しさん
2012/12/13(木) 11:16:28.73感謝します。
いまいち構造体の意味が分かっていないのでしょうか?
0135デフォルトの名無しさん
2012/12/13(木) 11:20:22.730136デフォルトの名無しさん
2012/12/13(木) 12:49:43.310137デフォルトの名無しさん
2012/12/13(木) 16:00:11.300138デフォルトの名無しさん
2012/12/13(木) 16:12:13.110139デフォルトの名無しさん
2012/12/14(金) 00:24:15.07int* p;
p = &a
これはpにaのアドレスが入るんですよね。
そうすると&pはaのアドレスではなくpのアドレスが入りますよね。
例えばpのアドレスからpの型分だけ中身を参照するとして、
アドレスpからaのアドレスから同じ分だけの領域の中身を参照出来るように
するにはどうすればいいでしょうか。
0140デフォルトの名無しさん
2012/12/14(金) 00:43:13.64>アドレスpからaのアドレスから同じ分だけの領域の中身を参照出来るように
日本語がわからんぞ
int a = 10;
int* p = &a;
int** pp = &p;
printf("%d",**pp); //=>10
こういうこと?
0141デフォルトの名無しさん
2012/12/14(金) 00:47:07.78ttp://ideone.com/dKjOxp
0142デフォルトの名無しさん
2012/12/14(金) 01:31:47.30http://ideone.com/nas9Tg
0143デフォルトの名無しさん
2012/12/14(金) 08:36:59.65多分ポインタpへのポインタからaの値を参照したいんだと思う。
だから>>140かな。
0144デフォルトの名無しさん
2012/12/14(金) 10:08:50.25わかってないんだろうな。記述方法だけ覚えてもしょうがない。
0145デフォルトの名無しさん
2012/12/14(金) 10:21:00.940146デフォルトの名無しさん
2012/12/14(金) 10:25:10.72.soは動的リンク用で.aは性的リンク用という認識でいいの?
.saってなに?
0147デフォルトの名無しさん
2012/12/14(金) 11:01:37.69> .a と .so の区別がつかないんだけど
> .soは動的リンク用で.aは性的リンク用という認識でいいの?
それで合ってる
> .saってなに?
こっちが聞きたい
0148デフォルトの名無しさん
2012/12/14(金) 11:28:40.94ttp://www.hi-ho.ne.jp/babaq/linux/libtips.html
> スタティックライブラリは、コンパイル時にコードがプログラムに組込まれます。
> モジュールサイズが大きくなりますが、別のマシンにバイナリで配布したときに
> そのライブラリがなくても動作します。 .a で終わるファイルです。
> 共有ライブラリは、プログラムの実行時にロードされます。マシンによっては、
> その共有ライブラリがなかったり、バージョンが違ったりして、動作しないことがあります。
> .so と .sa で終わるファイルです。.sa は、古い a.out 形式で使われた共有ライブラリです。
0149デフォルトの名無しさん
2012/12/14(金) 11:42:38.66言い方だけ学んでも意味がない。
Cのポインタを理解すれば正しい言い方をおのずと使うようになる。
0150デフォルトの名無しさん
2012/12/14(金) 11:46:06.560151デフォルトの名無しさん
2012/12/14(金) 11:49:44.13&p は何かを入れる入れ物ではない。
0152デフォルトの名無しさん
2012/12/14(金) 11:51:12.21お前が理解してないのはわかった
0153デフォルトの名無しさん
2012/12/14(金) 11:54:57.04.soの方は位置独立コードが要求されるから、大抵のOSではコンパイルし直さないと無理。
0154デフォルトの名無しさん
2012/12/14(金) 11:59:26.74外部参照について調べていたのですが
例 extern int func( char* );
char*の*はポインタ変数名を続けて書く意味でしょうか?
0155デフォルトの名無しさん
2012/12/14(金) 12:02:53.90.soは.oをリンクしちゃった結果で、
元のファイル名が失なわれてるから無理。
.aから.soはlinuxならできるような気がするけど、
-fPICじゃないので実行開始時のリンクが遅いかも。
0156デフォルトの名無しさん
2012/12/14(金) 12:06:09.23外部参照とは関係ないけど、そうだね。
関数プロトタイプでは、仮引数名を省略して型だけ書いてもいいので、
extern int func( char *p );
の意味。
0157デフォルトの名無しさん
2012/12/14(金) 12:09:13.54こいつみたいな炎上学習法を実践するクズが多くてウザい。
その筆頭がコテハンだから始末が悪い。
0158デフォルトの名無しさん
2012/12/14(金) 12:30:59.03即答ありがとうございます。m(_ _)m
0159デフォルトの名無しさん
2012/12/14(金) 12:44:36.22付けても変わらないように思えるのですが
0160デフォルトの名無しさん
2012/12/14(金) 12:45:07.030161デフォルトの名無しさん
2012/12/14(金) 12:49:13.55char array[100];
char *p = array;
とすると、array も &array も同じ値になっちゃうので、
付けてもいいように見えてしまう。
だけど、&p と p は違うので、動作しない。
0162デフォルトの名無しさん
2012/12/14(金) 12:50:04.43int data;
scanf("%s", buff);
scanf("%s", &buff[0]);
scanf("%d", &data);
0163デフォルトの名無しさん
2012/12/14(金) 12:52:58.66char s[10];
scanf("%s",&s[5]); //(「・ω・)「
scanf("%s",s[5]); //\(^o^)/
0164デフォルトの名無しさん
2012/12/14(金) 13:20:59.80顔真っ赤だな
死ねよゴミ
0165デフォルトの名無しさん
2012/12/14(金) 14:06:54.49ポインタ理解してないチンカスになに言われても全然答えないわけだが。
悔しかったらポインタ理解してから出直すことだ。w
0166デフォルトの名無しさん
2012/12/14(金) 14:52:01.120167デフォルトの名無しさん
2012/12/14(金) 19:56:54.950168デフォルトの名無しさん
2012/12/15(土) 00:37:58.89円と四角が同時に動くみたいな事をこのライブラリを使えばCでも書けるんですが
これって暗にDXライブラリの関数がスレッドの機能があるってことでしょうか?
0169デフォルトの名無しさん
2012/12/15(土) 00:45:35.610170デフォルトの名無しさん
2012/12/15(土) 16:26:48.25これを使うと「絶対的に」32ビットの大きさが確保されるの?
0171デフォルトの名無しさん
2012/12/15(土) 16:33:42.230172デフォルトの名無しさん
2012/12/15(土) 16:37:23.530173デフォルトの名無しさん
2012/12/15(土) 16:40:17.690174デフォルトの名無しさん
2012/12/15(土) 17:21:25.76typedef unsigned intuint32_t;
と書いてあった。
intって64bit環境だと64bitじゃないの?
0175デフォルトの名無しさん
2012/12/15(土) 17:25:05.380176デフォルトの名無しさん
2012/12/15(土) 18:00:02.580177デフォルトの名無しさん
2012/12/15(土) 18:03:07.80LPI64: long, pointer, intが64ビット
LP64: long, pointerが64ビット
LLP64: long long, pointerが64ビット
uint32_tはそれぞれの環境で32ビットになるようtypedefされている。
0178デフォルトの名無しさん
2012/12/15(土) 18:12:15.63なるほど。ありがとうございます。
0179デフォルトの名無しさん
2012/12/15(土) 18:24:39.860180デフォルトの名無しさん
2012/12/16(日) 01:06:19.61basicと同じ順次実行言語だし何か困るの?って疑問に思いました。
0181デフォルトの名無しさん
2012/12/16(日) 01:08:06.30無いよ
インタプリタで実行も出来るよ
0182デフォルトの名無しさん
2012/12/16(日) 01:11:33.85インタプリタは何言語で作ったら一番良いですか?
やっぱり文字列とかの機能が多いperlとか?
0183デフォルトの名無しさん
2012/12/16(日) 01:13:19.03何回も実行する
0184デフォルトの名無しさん
2012/12/16(日) 01:14:39.20せっかくだからCで作れやw
0185デフォルトの名無しさん
2012/12/16(日) 01:15:11.84Rubyは、Cでかかれているそうです。黒魔術もつかわれてる(つかわれてた?)
black art
0186デフォルトの名無しさん
2012/12/16(日) 01:18:52.01エクセルでnormsdist関数やnormsinv関数を使用したファイルを作成したのですが
計算する数値の量が多すぎて1回の再計算で数十秒近く時間がかかってしまうため
直接C言語で計算するプログラムを作ればこの時間を減らせるのかなと考えています
プログラムに関する知識は現時点でゼロです
長くなりましたが、
1.C言語でプログラムを作ることでエクセルによる計算より時間を短縮することは可能か
2.可能だとして、全くの初心者がそのプログラムを作る難易度はどのくらいになるか
(1日3時間勉強にあてることができるとして、何日かかるかを目安で)
この2点について、どうぞよろしくお願いします
0187デフォルトの名無しさん
2012/12/16(日) 01:37:41.73ゼロから自作するのは手間かかる。
0188デフォルトの名無しさん
2012/12/16(日) 01:42:26.89まずは計算量を減らす工夫できないか考えるのが先だろう。
アルゴリズムがクソだと言語とかライブラリ変えてもどうにもならない。
0189デフォルトの名無しさん
2012/12/16(日) 01:46:33.97GNU Octave 2.1.x 日本語マニュアル
http://ja.wikibooks.org/wiki/GNU_Octave_2.1.x_%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB/%E7%B5%B1%E8%A8%88
0190デフォルトの名無しさん
2012/12/16(日) 01:54:12.78早速のご回答ありがとうございます
それぞれ試行してみたいと思います
本当にありがとうございました
0191デフォルトの名無しさん
2012/12/16(日) 02:28:24.480194デフォルトの名無しさん
2012/12/16(日) 08:51:39.72チンカスは最強のめるせんぬついすたーをとなえた。えぃっ。wwwww
>>186
excelが遅いんじゃなくて、多分キミのExcelシートの作り方が悪い。
normsdistは標準正規分布表引くだけ、normsinvは逆引きだけの処理なので、非常に高速。
normsdistやnormsinv使わないで値そのままにしても同じくらい時間かかるんじゃないか。
= normsdist(A1)
のセルを
= A1
に変更して時間計ってみろ。
0195デフォルトの名無しさん
2012/12/16(日) 09:06:40.140196デフォルトの名無しさん
2012/12/16(日) 09:10:58.950197デフォルトの名無しさん
2012/12/17(月) 16:24:12.080198デフォルトの名無しさん
2012/12/17(月) 16:31:42.95ハードウェア依存。言語の問題ではない。
0199デフォルトの名無しさん
2012/12/17(月) 17:08:33.08DirectXあたりを使った高水準なモノまで
いろいろできる
音源チップ用のコントローラとかなると
そりゃもうデバイスドライバあたりの面倒くささになる
0200デフォルトの名無しさん
2012/12/17(月) 17:12:11.390201デフォルトの名無しさん
2012/12/17(月) 17:31:50.54system("start music.mp3");
0202デフォルトの名無しさん
2012/12/17(月) 17:35:47.80最小化した状態で起動するなら
system("start /min music.mp3");
0203デフォルトの名無しさん
2012/12/17(月) 17:36:05.550204デフォルトの名無しさん
2012/12/17(月) 20:01:46.44音でないけど…
0205デフォルトの名無しさん
2012/12/17(月) 20:03:57.70でも実際に音をならすのは端末の機能。
0206デフォルトの名無しさん
2012/12/17(月) 20:05:19.320207デフォルトの名無しさん
2012/12/17(月) 20:17:44.73int main(void)
{
int i;
int N = 10;
for(i = 0; i < N; i++) {
printf("\007");
}
return 0;
}
0208デフォルトの名無しさん
2012/12/17(月) 20:34:22.05うん
0209デフォルトの名無しさん
2012/12/18(火) 14:44:07.60消防以下のレベルに善く答えてあげたな。
0210デフォルトの名無しさん
2012/12/18(火) 15:44:41.85void test(){}
と()内にvoidと書かなくても大丈夫?
0211デフォルトの名無しさん
2012/12/18(火) 15:49:22.94今ならvoidつけた方がよい
0212デフォルトの名無しさん
2012/12/18(火) 15:59:02.16なんで?
0213デフォルトの名無しさん
2012/12/18(火) 16:06:52.580214デフォルトの名無しさん
2012/12/18(火) 16:10:18.25やろうとしていることはなるべく明示した方が良い。
バグ潰しの効率もずいぶん変わるし、何より考えすぎたコードは次の日自分でも何やってんだか分からなくなったり。
0215デフォルトの名無しさん
2012/12/18(火) 16:34:01.01>そのまま関数宣言に使ったときにも、引数がないことが明確になるから。
それ、チェック機能の弱い、古いコンパイラ時代の常識。
0216デフォルトの名無しさん
2012/12/18(火) 16:36:09.14他の言語(C#とか)だと書かないと自動的に引数なし扱いになるけど
0217デフォルトの名無しさん
2012/12/18(火) 17:03:29.860218デフォルトの名無しさん
2012/12/18(火) 17:41:21.750219デフォルトの名無しさん
2012/12/18(火) 18:28:18.400220デフォルトの名無しさん
2012/12/18(火) 19:07:08.530221デフォルトの名無しさん
2012/12/18(火) 19:46:48.090222デフォルトの名無しさん
2012/12/18(火) 20:11:10.05それ以外は略してもいいという認識で行く
0223デフォルトの名無しさん
2012/12/18(火) 21:00:22.850224デフォルトの名無しさん
2012/12/18(火) 21:35:50.500225デフォルトの名無しさん
2012/12/18(火) 22:56:50.250226デフォルトの名無しさん
2012/12/18(火) 23:05:38.140227デフォルトの名無しさん
2012/12/18(火) 23:10:46.83struct{int a, double b, char c,char d[10][10]}←できる
union{int a, double b, char c, char d[10][10]}←できる
0228デフォルトの名無しさん
2012/12/18(火) 23:14:38.62unionは1つの連続した領域として取られるハズ
0229デフォルトの名無しさん
2012/12/18(火) 23:14:49.550230デフォルトの名無しさん
2012/12/18(火) 23:16:10.570231デフォルトの名無しさん
2012/12/18(火) 23:16:15.65あやふやなら回答しない方がいい
0232デフォルトの名無しさん
2012/12/18(火) 23:16:52.600233デフォルトの名無しさん
2012/12/18(火) 23:17:39.480234デフォルトの名無しさん
2012/12/18(火) 23:19:03.780235デフォルトの名無しさん
2012/12/18(火) 23:26:51.91d[10][10]の領域の中に、int a, double b, char cの先頭を指してる
だから、どれか代入すると他のメンバ変数はメモリ上に載せることが出来ない
0236デフォルトの名無しさん
2012/12/18(火) 23:31:36.87最小のプログラムでunionの場合structと比べてこれができないっていう
例を教えて下さい。
0237デフォルトの名無しさん
2012/12/18(火) 23:34:55.94struct Foo a;
a.a = 10;
a.b = 0.1;
できない
union Bar b;
b.a = 10;
b.b = 0.1;
printfでconsoleにでも出力汁
0238デフォルトの名無しさん
2012/12/18(火) 23:36:51.350239デフォルトの名無しさん
2012/12/18(火) 23:38:26.58君には向いてないから
0240デフォルトの名無しさん
2012/12/18(火) 23:38:41.91ランタイムエラーだったけどありがとうございます。
さすればunionって欠陥品ということでしょうか?
0241デフォルトの名無しさん
2012/12/18(火) 23:41:06.740242デフォルトの名無しさん
2012/12/18(火) 23:41:42.630243デフォルトの名無しさん
2012/12/18(火) 23:46:24.410244デフォルトの名無しさん
2012/12/18(火) 23:59:23.38union ひとつの場所に、ある時はアレ、またある時はコレと使い分ける。
0245デフォルトの名無しさん
2012/12/19(水) 00:06:59.28tux racerなり落としてきて使い方眺めた方が早い
飯食うなら、枕元にBSDのコード置くぐらいのことした方が良い
0246デフォルトの名無しさん
2012/12/19(水) 07:47:18.990247デフォルトの名無しさん
2012/12/19(水) 10:53:20.830248デフォルトの名無しさん
2012/12/19(水) 11:24:42.620249デフォルトの名無しさん
2012/12/19(水) 14:57:04.28お前だ
0250デフォルトの名無しさん
2012/12/19(水) 21:34:21.71cの入門なら、gnome付属のゲームでも読めば?
大学講座の単位なんて飾りですw
入門者には、それが分からんのですw
0251デフォルトの名無しさん
2012/12/19(水) 21:55:21.74入門スレでしか暴れられない方々が多いな。
0252デフォルトの名無しさん
2012/12/19(水) 22:49:52.000253デフォルトの名無しさん
2012/12/20(木) 00:10:37.14char buf[10];
char buf2[10];
strcpy(buf,buf2[0]);
char buf3[2];
buf3[0]=buf2[0];
strcpy(buf,buf3);
とするのはさすがに面倒なので.....
と一文字だけコピーしたい場合エラーが出るので。
0254デフォルトの名無しさん
2012/12/20(木) 00:11:56.350255デフォルトの名無しさん
2012/12/20(木) 00:14:56.640256デフォルトの名無しさん
2012/12/20(木) 00:19:16.97はbuf2[0]がポインタでなくて、char型
0257デフォルトの名無しさん
2012/12/20(木) 00:23:56.74文法やコンパイルの仕組みを理解できないから、ある程度に達するまでemacsやvimを使え
0258デフォルトの名無しさん
2012/12/20(木) 00:24:26.63sprintf(buf, "%s%c", buf, buf2[0]);
0259デフォルトの名無しさん
2012/12/20(木) 00:29:58.53ポインタや、ポインタの派生型が大体、何かは理解できる。
屑大学の馬鹿って、院生にもなって動画サイトに上がってる
HSP製のゲームに感動するような場所w
0260デフォルトの名無しさん
2012/12/20(木) 00:45:48.07バカはお前だ
0261デフォルトの名無しさん
2012/12/20(木) 00:50:53.35学部2年の前半でUMLとデザパタを一通り暗記するぐらいのペース。後半でGUI弄る。
学部3年の前半で業界動向を調べつつ、4年次の研究テーマを事前に勉強。
このぐらいのペースでないと就職活動で皆が希望するような所には間に合わないよ。
0262デフォルトの名無しさん
2012/12/20(木) 00:52:05.62中身のない煽りって、どうでも良いな^^
0263デフォルトの名無しさん
2012/12/20(木) 01:04:24.52入門書を買うなら洋書を買え
0264デフォルトの名無しさん
2012/12/20(木) 01:13:05.49strcatで無いですかね?
buf[3]とbuf[7]を連続して
buffer[100]に連結したい。
でも一文字だからできないという。
0265264
2012/12/20(木) 01:15:10.71buffer[100]=all \0;
buffer[0]='U';
strcat(buffer,buf[3]);
strcat(buffer,buf[7]);
printf("%s",buffer)=Udh;
としたいです。
0266デフォルトの名無しさん
2012/12/20(木) 01:20:10.560267デフォルトの名無しさん
2012/12/20(木) 01:22:57.93strncat(buffer, &buf[3], 1);
strncat(buffer, &buf[7], 1);
0268デフォルトの名無しさん
2012/12/20(木) 01:27:08.77strncat(buffer,*buf[3],1);
strncat(buffer,*buf[7],1);
環境ないから動くかシラネ。
strcatでやれって課題なの?
0269268
2012/12/20(木) 01:27:51.040270デフォルトの名無しさん
2012/12/20(木) 01:28:10.41>>259 みたいな嘘ばかりの腐った中身なんて無いほうがいいだろ
0272264
2012/12/20(木) 01:30:23.53ありがとうー
いや連結したいからそれが実現できるなら何でもいいよ
何とかできそう
0273デフォルトの名無しさん
2012/12/20(木) 01:36:43.57strncat(buffer, buf + 3, 1);
strncat(buffer, buf + 7, 1);
0274デフォルトの名無しさん
2012/12/20(木) 01:38:44.24bufって定数だけど、それでポインタ演算うまくいくっけ?
0275デフォルトの名無しさん
2012/12/20(木) 03:57:38.16そんなことぐらい自分で判断しやがれ
ここで聞いても答えはでんだろ
他の人の意見を聞くならまだしも
お前が信じるかどうかなんて知ったことじゃねえ
0276デフォルトの名無しさん
2012/12/20(木) 12:44:20.860277デフォルトの名無しさん
2012/12/20(木) 12:53:00.14bufを書き換えるわけじゃないからok
0278デフォルトの名無しさん
2012/12/20(木) 13:19:11.34初心者ほど使いたがるけど初心者ほど使い方間違える
0279デフォルトの名無しさん
2012/12/20(木) 13:29:40.59>>259は実体験に基づいた真実だと思うぞ。>>259のようなことは書けない。
0280デフォルトの名無しさん
2012/12/20(木) 17:20:54.960281デフォルトの名無しさん
2012/12/20(木) 20:52:14.17putcharとgetcharがあればあとはいらない
0282デフォルトの名無しさん
2012/12/20(木) 21:31:34.700283デフォルトの名無しさん
2012/12/20(木) 21:37:13.120284デフォルトの名無しさん
2012/12/20(木) 23:15:50.610285デフォルトの名無しさん
2012/12/20(木) 23:39:55.940286デフォルトの名無しさん
2012/12/21(金) 13:36:57.42ソースは以下なのですが(自作関数略)VC++だとコンパイルでき、結果も正しくでます
しかし、bcc32や、他のコンパイラだとエラーが出ます
「エラー E2277 a.c 15: 左辺値が必要(関数 main )」
#include <stdio.h>
int mdays(int y, int m);
int uruu(int year);
int main(void)
{
int y1,m1,d1,y2,m2,d2;
int i,j,days;
while(scanf("%d%d%d%d%d%d",&y1,&m1,&d1,&y2,&m2,&d2)){
if(y1<0 || m1<0 || d1<0 || y2<0 || m2<0 || d2<0)
break;
for(i=y1,days=0; i<=y2; i++)
for(i!=y1? j=1: j=m1 ; i!=y2? j<=12: j<=m2 ; j++)
days+=mdays(i,j);
days-=d1;
days-=(mdays(y2,m2)-d2);
printf("%d\n",days);
}
return 0;
}
恐らく、三項演算子が原因だと思うのですが、どうしてなのかさっぱりわかりません
よろしければ是非教えてください。よろしくお願いします
0287デフォルトの名無しさん
2012/12/21(金) 13:58:09.57http://ideone.com/0CsnlE
こんな変な書き方する奴がいるから三項演算子禁止とかいう
アホルールが作られるんだろうなぁ
ループの条件判定で比較を無駄に増やして誰が得するんだ?
0288デフォルトの名無しさん
2012/12/21(金) 14:01:19.460289デフォルトの名無しさん
2012/12/21(金) 18:08:49.460290デフォルトの名無しさん
2012/12/21(金) 18:15:22.630291デフォルトの名無しさん
2012/12/21(金) 18:36:17.90本当にVC++でコンパイルできるの?
VC++2010だとコンパイル出来ねぇぞ
ひょっとしてVC++でだけ、C++でコンパイルしてないか?
条件演算子の優先順位がC++とCで微妙に異なるのでそのせいじゃないのか
0292デフォルトの名無しさん
2012/12/21(金) 18:46:44.540293デフォルトの名無しさん
2012/12/21(金) 20:12:30.880295デフォルトの名無しさん
2012/12/21(金) 20:31:05.510296デフォルトの名無しさん
2012/12/21(金) 22:34:24.350297デフォルトの名無しさん
2012/12/21(金) 22:47:02.520298デフォルトの名無しさん
2012/12/21(金) 22:50:25.88・ラーメンの待ち時間の長さ&商品によって異なる味の変化をデータベース化
例:商品Aでは4分で「麺のふにゃふにゃ感が芽生えはじめる」
というような情報に基づき柔軟に味を調節可能
データベースは、ある設定でラーメンが出来たら、感想フォームを表示、
ここに感想を入力していくことでオリジナルのデータベースが出来あがっていくという仕組み。
さらに、TCP/IP通信でこのデータベース情報を交換できる。
・ラーメンが出来るまでの時間をミニ格闘対戦ゲームで潰せる「時間があっというまに経つね」機能
TCP/IP通信で、ロビーをデディケートサーバーで提供できるような感じで。
・ラーメン作成回数・日時・商品情報から、ラーメンにおける摂取カロリー計算や
嗜好分析などを行える統計機能つき。
この統計から、「おすすめの新作カップメン」みたいな情報も表示できる。
タイムリミットは明日の6時までに適当なアプロダで、GPLで。
0299デフォルトの名無しさん
2012/12/21(金) 23:02:29.93真正のアホだ
0300デフォルトの名無しさん
2012/12/21(金) 23:09:47.710301デフォルトの名無しさん
2012/12/22(土) 00:08:21.07int a[5]; a[0]=0; a[1]=1; a[2]=2; a[3]=3; a[4]=4; a[5]='\0';
a[2]を削除して間を詰めて
a[0]=0; a[1]=1; a[2]=3; a[3]=4; a[4]='\0'; a[5]='\0';
としたいです。
全然方法が思い浮かばないんですが...
0302デフォルトの名無しさん
2012/12/22(土) 00:08:48.970303デフォルトの名無しさん
2012/12/22(土) 00:11:11.12人が並んでる行列を詰めるのと一緒だろ。
0304デフォルトの名無しさん
2012/12/22(土) 00:12:51.470305デフォルトの名無しさん
2012/12/22(土) 00:13:25.01a[2]=a[3];
a[3]=a[4];
a[4]=a[5];
つまり、
for(i=2;i<5;i++)a[i]=a[i+1];
0306デフォルトの名無しさん
2012/12/22(土) 00:15:54.27関数として一般化したらどうなりますか?
kansu(int a[] ,int integer){}
strlenした時に消した要素の分長さも減っていてほしいです。
0307デフォルトの名無しさん
2012/12/22(土) 00:18:23.78一度、似たような課題を何度か解いたことある人が半日でやってみせて
俺スゲェーってやるような問題.大体、やねうらお辺り
0308デフォルトの名無しさん
2012/12/22(土) 00:33:17.67>strlenした時に消した要素の分長さも減っていてほしいです。
int配列だから、strlen使えない。
ttp://ideone.com/Egj1nu
0309デフォルトの名無しさん
2012/12/22(土) 00:44:06.72ありがとう!
0310デフォルトの名無しさん
2012/12/22(土) 00:56:01.71どういうときに初期化するのですか?
初期化しないとどうなるんですか??
0311デフォルトの名無しさん
2012/12/22(土) 00:56:08.56詰めたいエリアの途中に、0があるとNG。
0312デフォルトの名無しさん
2012/12/22(土) 01:02:21.34初期化しないままでたらめなデータを使って計算すると意図しない動作になる
0313デフォルトの名無しさん
2012/12/22(土) 01:08:27.70呼ばれる度にデータが変わるので、初期化しないと変わったデータのまま処理してしまうってことですか?
0314デフォルトの名無しさん
2012/12/22(土) 02:32:17.38memmoveでも使ってろ
0315デフォルトの名無しさん
2012/12/22(土) 03:05:27.31#define DC(b) case b:a[b]=a[b+1];
int a[6]={〜};
switch (x){DC(0) DC(1) DC(2) DC(3) DC(4) DC(5)}
0316デフォルトの名無しさん
2012/12/22(土) 12:40:22.74C++にはstd::list::spliceですでに存在している
Cではそれっぽいソースをどこからともなく探せばいい
spliceについては、Javascript、php、perlの解説にその挙動が詳しい
0317デフォルトの名無しさん
2012/12/22(土) 14:42:31.05spliceという一般的な単語からそれっぽいソース探してなおすより
最初から書いた方がはやいわ。
0318デフォルトの名無しさん
2012/12/22(土) 14:51:34.050319桃白白
2012/12/22(土) 14:55:23.68そうか? spliceは値の挿入、値の削除、値の置換をしちゃう関数だ。
削除のためだけにspliceを実装するのはりんごを剥くために万能ナイフを
買いに行くようなもの。果物ナイフで剥けばいいじゃん。
0320デフォルトの名無しさん
2012/12/22(土) 14:58:31.470321デフォルトの名無しさん
2012/12/22(土) 16:18:26.88能力なさそうだからホームレスにでも転職すりゃいいのに。
0322デフォルトの名無しさん
2012/12/22(土) 16:38:08.22自動作曲をしようと思っているのですが、うまくいきません
評価関数とかをどういうふうにプログラムしたらいいのかわからなくて…
0323デフォルトの名無しさん
2012/12/22(土) 16:40:59.29人力じゃん人力
0324デフォルトの名無しさん
2012/12/22(土) 17:31:54.14みたいな用途(プレステ1のアストロノーカ)には適すると思うけど
作曲みたいに人の感性に依存するものは人にしか無理だと思う。
詳しく解説した書籍は知る限りでは洋書に頼ることになるはず。
日本語書籍では↑のアストロノーカ作者が書いた本が「あった」
のだが、今は絶版となっている。
0325324
2012/12/22(土) 17:31:59.88音を鳴らす方法を模索しています。
・printf("\a"); や
・ncurses で beep(); までは見つかったのですが
結局ビープ音しか鳴らすことができていません。
なにかよい方法 / ライブラリなどがありましたら教えてください。
環境:
Mac OS X 10.6.8
i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666)
0326デフォルトの名無しさん
2012/12/22(土) 17:33:27.050327デフォルトの名無しさん
2012/12/22(土) 17:35:04.91環境依存なのでC言語の規格が定める範囲の外の話です。
汎用的な方法はありません。お使いのハードウェアに適した
方法を使ってください。
0328デフォルトの名無しさん
2012/12/22(土) 17:37:30.12http://www.1101.com/morikawa/index_AI.html
本がウェブサイトになってました(
0329デフォルトの名無しさん
2012/12/23(日) 00:08:18.62C言語入門向けの一番のおすすめの書籍はありますか?
0330デフォルトの名無しさん
2012/12/23(日) 00:18:46.44ttp://www.yfcbookshelf.com/images/4-7561-0043-0.jpg
これ
0331デフォルトの名無しさん
2012/12/23(日) 00:19:02.860332デフォルトの名無しさん
2012/12/23(日) 00:20:46.65例題で学ぶUNIXプログラミング環境のすべて(ニール・マシュー)
0333デフォルトの名無しさん
2012/12/23(日) 00:25:02.790334デフォルトの名無しさん
2012/12/23(日) 00:26:42.910335デフォルトの名無しさん
2012/12/23(日) 00:27:41.390336デフォルトの名無しさん
2012/12/23(日) 00:35:50.140337デフォルトの名無しさん
2012/12/23(日) 00:38:07.23↓
「C言語ポインタ完全制覇」 or 「秘伝C言語問答 ポインタ編」 でポインタに関して完全理解する
↓
「エキスパートCプログラミング―知られざるCの深層」 でスタック、ヒープ、リンカ、ローダなど周辺知識を習得
↓
「C言語によるオブジェクト指向プログラミング入門」 で大規模プログラムの作り方を学ぶ
↓
「C言語デバッグ完全解説」でバグに強いプログラムの記述法をマスター
↓
「Code Complete(上)(下)」でより良いC言語プログラムとは何かを各人で考察する
↓
神の誕生
0338デフォルトの名無しさん
2012/12/23(日) 00:40:09.73は?それ、ようやく現場で役に立つレベルだろ
0339デフォルトの名無しさん
2012/12/23(日) 00:44:36.07いやあったら寧ろ遠慮したい。
0340デフォルトの名無しさん
2012/12/23(日) 00:47:20.760341デフォルトの名無しさん
2012/12/23(日) 01:08:37.35段階的には素直にjavaかc++でも覚えて、
デザパタなりリファクタリングなり覚えた方が悦楽に浸れるだろうし、
それに飽きてから、より高度でマニアックなプレーに走った方がソソるはず
0342デフォルトの名無しさん
2012/12/23(日) 02:24:42.90ファイル列のリストが欲しいだけなのだけど、IDEにアンダーラインで指摘されてしまいます。
『Error:型"const char *"の値を使用して型"unsigned char *"のエンティティを初期化することはできません』って。
これが出来ないんじゃmain関数に引数渡せないでしょ・・・とも思うけど、俺が何か勘違いしているんだろうなあ。
すいません、教えて下さい。 msdnのどこを見れば良いのか分からなくて。
VS2010EXPRESSなのですが。
0343デフォルトの名無しさん
2012/12/23(日) 02:30:08.120344342
2012/12/23(日) 02:41:25.71ありがとうございます!
昔からの習慣に思考停止しておりました。
IDEがそう教えてくれているのに理解出来ない辺り、どこに出しても自慢出来る低能ですね。
0345デフォルトの名無しさん
2012/12/23(日) 02:42:44.080346デフォルトの名無しさん
2012/12/23(日) 02:43:53.83fn[] ="a.bmp";だと適切なメモリを確保してくれるが。
0347デフォルトの名無しさん
2012/12/23(日) 03:01:42.18関数でコールバック関数ってのが出てきました。コールバック関数って何ですか?
0348デフォルトの名無しさん
2012/12/23(日) 03:11:23.290349デフォルトの名無しさん
2012/12/23(日) 03:20:34.17出ないはずなんだが・・・
右辺と左辺で型が違う時点で違和感を感じないとだめ。
というか文字列リテラルは基本的にsigned charだから。
0350342
2012/12/23(日) 03:25:36.96文字に負数はないから。
現存するwindowsではない古いコード読み直したら、文字列扱う場合は
総てunsigned付けていましたヽ(´∀`)ノ
0351デフォルトの名無しさん
2012/12/23(日) 03:25:41.98コールバックというのは何かのイベントが発生した時に
イベントをハンドリングする処理からコールバックされる
関数のこと。
割り込みハンドラなんかでよく使うけど、UI処理などでも
ボタンが押されたらイベントハンドラからコールバックを
してくれるとか、イベント系ではよくある処理方法。
0353デフォルトの名無しさん
2012/12/23(日) 03:37:14.97規格ではsigned かもしれん。
0354デフォルトの名無しさん
2012/12/23(日) 04:42:54.47C++だとそれぞれ別の型。
だったような気がする。
0355デフォルトの名無しさん
2012/12/23(日) 08:00:19.120356デフォルトの名無しさん
2012/12/23(日) 10:28:25.70なんでメモ帳にプログラムを書いて
結果が出るんですか?
メモ帳にそういう機能が付いているからなのでしょうか?
0357デフォルトの名無しさん
2012/12/23(日) 10:43:00.83>結果
普通出ません
0358デフォルトの名無しさん
2012/12/23(日) 10:46:41.68あ、そうなんですか?w
0359デフォルトの名無しさん
2012/12/23(日) 11:43:39.040360デフォルトの名無しさん
2012/12/23(日) 13:22:55.19裏技を使えば出る
0361デフォルトの名無しさん
2012/12/23(日) 14:26:27.960362デフォルトの名無しさん
2012/12/23(日) 19:23:49.74こういうレス好きだわあ
0363デフォルトの名無しさん
2012/12/23(日) 22:01:55.260364デフォルトの名無しさん
2012/12/24(月) 01:44:28.84txtファイルにある
14
1001 90 80 70 67
1002 60 50 40 60
1003 55 30 56 65
1004 88 70 77 20
1005 60 30 90 30
1006 100 0 100 100
1007 23 33 21 50
1008 65 66 46 98
1009 58 87 88 64
1010 30 55 63 32
1011 65 54 70 77
1013 98 89 79 90
1014 100 60 95 68
1016 30 22 56 30
という数値を2次元配列に格納して平均が高い順に並べ替えるプログラムを作成中なのですが、
イマイチどういう風に書くのかが分かりません・・・
ご教授頂けるとお願いします・・・
0365デフォルトの名無しさん
2012/12/24(月) 01:50:28.830366デフォルトの名無しさん
2012/12/24(月) 03:42:57.03sscanfでバッファ読み取って、配列に代入
平均求める関数とバカソートかいて
レポートを提出する
0367デフォルトの名無しさん
2012/12/24(月) 09:37:22.09X 教授
O 教示
0368デフォルトの名無しさん
2012/12/24(月) 10:08:23.72国語辞書ぐらいひけよ、ネトウヨ。
0369デフォルトの名無しさん
2012/12/24(月) 10:49:25.57その上で言ってるんだよ。ゴミカス。
テメーのようなゴミカスに「特別に与える」義理はねーし、
テメーのようなゴミカスを弟子にもった憶えもねー
きょう‐じゅ〔ケウ‐〕【教授】 [名](スル)
1 学問や技芸を教え授けること。「書道を―する」
さず・ける〔さづける〕【授ける】 [動カ下一][文]さづ・く[カ下二]
1 目上の者が目下の者に特別に与える。「学位を―・ける」「勲章を―・ける」
2 師が弟子に教える。伝授する。「秘伝を―・ける」「知恵を―・ける」
0370デフォルトの名無しさん
2012/12/24(月) 11:05:49.710371デフォルトの名無しさん
2012/12/24(月) 11:34:05.720372デフォルトの名無しさん
2012/12/24(月) 12:06:01.070373デフォルトの名無しさん
2012/12/24(月) 12:21:54.84国語辞書ひいても意味がわからんのか、ネトウヨは。。。
0374デフォルトの名無しさん
2012/12/24(月) 14:01:41.79人に教えをこうときは「教示」で正解だと思うんだけど、なんで言い争ってんの?
「教授」だと人称(つまり、ここでは言ってる人)だから変だよ?ってことなんじゃないのか?
教示:(相手に)教え示す(ように頼む)
教授:(自分が相手に)教え授ける
0375デフォルトの名無しさん
2012/12/24(月) 14:04:40.660376デフォルトの名無しさん
2012/12/24(月) 14:21:05.580377桃白白
2012/12/24(月) 14:38:46.85桃白白も話題に混ぜてほしい。
Aさんが教示するといったとき教示するという動作の主体はAさん。
Aさんが教授するといったとき教授するという動作の主体はAさん。
動作の主体は教示するといったときも教授するといったときも同じAさん
なわけだから、教示すると教授するに違いはない。
頂くが教授に付いている。頂くは前の動詞を自分が〜してもらうという意味にする補助動詞。
AさんがBさんに「ご逝去頂きたい」といったとき、AさんはBさんが逝去することを
Bさんにお願いしているわけ。
だから教授でも教示でもどっちだもいんじゃねってのが桃白白の結論。
0378デフォルトの名無しさん
2012/12/24(月) 14:44:37.23プログラミング以外の事には詳しいんだな
0379デフォルトの名無しさん
2012/12/24(月) 14:44:59.670380デフォルトの名無しさん
2012/12/24(月) 15:12:36.29教授するという場合は、師弟関係や主従関係などの上下関係が存在する。
どこの馬の骨ともわからない名無しにいきなり「教授して欲しい」と乞われて、
はいそうですかと授ける事はありえない。
貢物差し出して、どうか教授してくださいと懇願するなら考えない事もない。
0381デフォルトの名無しさん
2012/12/24(月) 15:16:52.19これ大事よね
どこの誰とも知らん相手から師匠になってくれと頼まれてはいそうですかとか
ありえん
道を示して欲しいというなら教えるものもいるだろう
0382デフォルトの名無しさん
2012/12/24(月) 15:19:19.90あとは蛇足、言葉遊びするよりコード書け(オレモナー)
0383デフォルトの名無しさん
2012/12/24(月) 15:36:07.71それはお前が勝手に付け足した解釈
だからお前はアホなんだ
0384デフォルトの名無しさん
2012/12/24(月) 15:50:27.94まだやってんのかよ。池沼。
0385デフォルトの名無しさん
2012/12/24(月) 15:53:53.960386デフォルトの名無しさん
2012/12/24(月) 15:54:56.23死ねゴミチョン
0387桃白白
2012/12/24(月) 15:56:35.66お前は道端で知人にあって知人から「よお大将、ひさしぶり」と声かけられたら
「ふざけるな俺は大将じゃない、俺の股間は足軽だ」とぶち切れるタイプ?
桃白白なら請われれば余裕でいっときの師匠となって桃白白がもつ
バブルソートの全技術を授けてやっちゃうけどね。桃白白なら余裕でそれ
くらいこなしちゃうけどね。そうやって桃白白の弟子たちが世に羽ばたいて
いってくれることが桃白白にとってなによりの幸せだから。
日本語では尊敬語や謙譲語を使うだけで上下関係というのは生じるわけで、
上下関係にないから教えることがありえないとするなら、お前はご教示頂けないでしょうか?
と言われたときにもどこの馬の骨じゃーと頭から湯気を出さざるを得ない状況に
置かれちゃうな。お前苦労人だな。というかクレーマーだな。
0388デフォルトの名無しさん
2012/12/24(月) 16:01:57.08わっ、 朝鮮人が火病った。
>>387
> 上下関係にないから教えることがありえないとするなら
違うよ、上下関係が無いから授ける事はありえないと言っている。
0389桃白白
2012/12/24(月) 16:13:14.89だったらお前は矢印でも神父でもないわけだから教示することもありえないだろ。
授けるという言葉だけが特別扱いされるものじゃない。
0390デフォルトの名無しさん
2012/12/24(月) 16:13:37.26これは回答者が上で質問者が下の上下関係。
0391デフォルトの名無しさん
2012/12/24(月) 16:15:24.900392デフォルトの名無しさん
2012/12/24(月) 16:20:47.40日本語不自由なら引っ込んでなよ。矢印でも神父じゃなくても示すことはできる。
示す:
考え・気持ち・反応などが相手に伝わるように、何かの方法で表して見せる。
「誠意を―・す」「態度で―・す」「格段の進歩を―・す」
0393デフォルトの名無しさん
2012/12/24(月) 16:25:11.33上下関係の有無を理由に誤用と主張してるやつは初めて見たわ
0394デフォルトの名無しさん
2012/12/24(月) 16:40:28.58それは示せってときだろ。お前は答えを示せと言われたらそれに
答えることができるが、上下の関係がないことを理由に教授という
ことがありえないという立場なのだから、ご教示頂きたいと言われた
ときには敬われる立場、高位の立場にないから答えられないということになる。
0395デフォルトの名無しさん
2012/12/24(月) 16:48:01.83> きょう‐じゅ〔ケウ‐〕【教授】 [名](スル)
> 1 学問や技芸を教え授けること。「書道を―する」
すなわち、「ご教示下さい」でも「ご教授下さい」でも可。人称云々も上下関係云々もこじつけ。
お前等あんまりネラー用法を増やすなよ。広辞苑がまた軽薄に採用してしまうだろう。
0396デフォルトの名無しさん
2012/12/24(月) 16:54:10.150397桃白白
2012/12/24(月) 17:00:11.30プログラムの書き方を教えてくれってんだから情報技術という学問の分野であり
完全にテクニカル。そんなのは解釈次第でどうにでもなるわけで、わざわざ
あてはまらない解釈の仕方をするのがおかしい。桃白白はそれがおかしいと思うの。
0398デフォルトの名無しさん
2012/12/24(月) 17:01:17.990399デフォルトの名無しさん
2012/12/24(月) 17:09:55.170400デフォルトの名無しさん
2012/12/24(月) 17:23:20.52そこに書かれている通りだ。
単に「学問や技芸を教えること」ではなく「学問や技芸を教え授けること」
授けるとは前に引用した通りに上下関係が存在する。
チョンやチャンコロにはわからないだろうが。
0401デフォルトの名無しさん
2012/12/24(月) 17:24:26.180402桃白白
2012/12/24(月) 18:26:59.58ほい。俺のことはパイパイ教授と呼べ。
http://ideone.com/Klekic
0403デフォルトの名無しさん
2012/12/24(月) 18:29:09.040404デフォルトの名無しさん
2012/12/24(月) 18:34:33.91悲しいことに日本語嫌いだから残念な結果に。
0405デフォルトの名無しさん
2012/12/24(月) 19:04:30.020406デフォルトの名無しさん
2012/12/24(月) 20:01:40.35はたまた宇宙空間なのか
物理的に……と問うには
そこまで要件を指定せねば無意味
あとは自分が柱を投げて
誰が移動するのか
何が移動するのか
その他のこまごまとした要件を誤解のなきよう定義せねば
一切の発言は無意味
さらには物理的に可能という言葉の詳しい意味も
明確に説明せねば無意味
0407デフォルトの名無しさん
2012/12/24(月) 20:12:48.37ありがとうございます。OpenAL がデフォルトで入っている様なので
SDL ではなく OpenAL について調べてみることにしました。
0408デフォルトの名無しさん
2012/12/24(月) 20:48:52.610409デフォルトの名無しさん
2012/12/25(火) 00:10:56.99就職は全く関係ない業種にしたいんだが
だめかな?もうプログラムは勉強したが上手くいかないことが
多すぎて自殺したいほど疲れた。
0410デフォルトの名無しさん
2012/12/25(火) 00:19:00.76がんばればなんだってできる
にんげんの可能性は無限だ
がんばりが人間の力だ
最後の最後までがんばることが肝心だ
がんばった先に素晴らしいことがまっている
がんばることこそ人間の証だ
とにかくがんばれ
がんばってみろ
0411デフォルトの名無しさん
2012/12/25(火) 00:20:17.80適正がないというほどやったのか?
学校の勉強程度じゃ
0412デフォルトの名無しさん
2012/12/25(火) 00:27:32.54>>410
>>411
ありがとう!
とにかくプログラム作って達成感なり感じれるようになったら
孤独とか不安ってのは無くなりますかね?
社会に活かせなくてもいいけど金にならなくていいけど
精神的に満たされたい
0413デフォルトの名無しさん
2012/12/25(火) 00:41:20.990414デフォルトの名無しさん
2012/12/25(火) 00:55:05.98何か分かる気がするわ。
0415デフォルトの名無しさん
2012/12/25(火) 01:08:18.92逆にミスする奴は死ぬほどするっていう
情熱大陸に出てた奴はミス少ないらしい
適性があると心は満たされるだろうなぁ
0416デフォルトの名無しさん
2012/12/25(火) 01:13:23.17間は無いんだよなぁ
0417デフォルトの名無しさん
2012/12/25(火) 01:25:57.26間違ったっていいんだよ、同じ間違いを繰り返さなければ
0418デフォルトの名無しさん
2012/12/25(火) 10:05:26.600419デフォルトの名無しさん
2012/12/25(火) 10:43:54.140420デフォルトの名無しさん
2012/12/25(火) 12:41:42.31なんだか妖怪っぽい
0421デフォルトの名無しさん
2012/12/25(火) 12:43:52.980422デフォルトの名無しさん
2012/12/25(火) 12:47:34.040423デフォルトの名無しさん
2012/12/25(火) 14:30:44.050424デフォルトの名無しさん
2012/12/26(水) 00:55:07.380425デフォルトの名無しさん
2012/12/26(水) 01:05:57.770426デフォルトの名無しさん
2012/12/26(水) 05:22:39.12一見、優しそうにみえる、酷い言葉
0427デフォルトの名無しさん
2012/12/26(水) 06:39:52.78プログラマの一部は宗教から入るため、必然的に不安や孤独感が無くなります。
0428デフォルトの名無しさん
2012/12/28(金) 13:23:47.27あるRGBの色と、別のRGBの色とがどのくらい近似しているか、
ということを評価したいんですが、どういう計算結果を評価するのがベストですか?
3次元上の2点間距離を求める公式に、R,G,Bを当てはめるというのは考えましたが、
それ以外にもっと良い方法はありますでしょうか。
0429デフォルトの名無しさん
2012/12/28(金) 16:40:43.94つ色空間http://ja.wikipedia.org/wiki/%E8%89%B2%E7%A9%BA%E9%96%93#.E5.9D.87.E7.AD.89.E8.89.B2.E7.A9.BA.E9.96.93
つ均等色空間・L*a*b*表色系 「シーラブ」http://ja.wikipedia.org/wiki/L*a*b*%E8%A1%A8%E8%89%B2%E7%B3%BB
もっとも単純な変換公式は定義できないように読める。
色とは、所詮人間のもつ3種の視細胞(錐体細胞)の刺激量の組み合わせでしかなく、色空間はそれら刺激量を数値化したものとして定義するのが本義だから、のようだ‥‥
たしかに困った、宿題 http://toro.2ch.net/test/read.cgi/tech/1354070278/447ができるとおもったのだけど。
0430デフォルトの名無しさん
2012/12/28(金) 16:51:19.253次元上の2点間距離の公式に当てはめると、
RGB(50a000)とRGB(009700)は、sqrt(6481)に、
RGB(50a000)とRGB(8b7300)は、sqrt(5506)になって、
後者の方が似た色と判定されてしまいますが、
実際の色を見てもらえれば明らかですが、前者の方が近いです。
どうしたらいいですか
0431デフォルトの名無しさん
2012/12/28(金) 17:21:48.420432デフォルトの名無しさん
2012/12/28(金) 18:01:45.78とりあえずYUBに変換してから、3次元上の2点間距離を求める公式に
YUBを当てはめてやってみましたが、RBGよりかはよくなりましたが、まだいまいちです。
0433デフォルトの名無しさん
2012/12/28(金) 18:02:35.86○YUV
0434デフォルトの名無しさん
2012/12/28(金) 19:14:09.520435デフォルトの名無しさん
2012/12/28(金) 19:25:35.850436デフォルトの名無しさん
2012/12/28(金) 20:11:03.51動的リンクは実行時に読み込むもので、静的リンクは実行ファイルに既に含まれているものって解釈でいいですか?
例えばC言語で使うstdio.hはコンパイル時には必要だけど実行時には必要ないので静的リンクですか?
phpなどの言語でincludeしてるのは動的リンクでしょうか。
stdio.hのライセンスを見たらLGPLで、LGPLは動的リンクの時だけ派生ソフトと見なさないらしいので
stdio.hをincludeしてるプログラムは全てLGPLライセンスに従って公開する必要があるのですか?
よろしくお願いします
0437デフォルトの名無しさん
2012/12/28(金) 20:24:28.670438デフォルトの名無しさん
2012/12/28(金) 20:32:30.490439デフォルトの名無しさん
2012/12/28(金) 20:37:35.100440デフォルトの名無しさん
2012/12/28(金) 20:45:32.020441デフォルトの名無しさん
2012/12/28(金) 21:21:38.15Cコンパイラの仕組みっていうのは
1.プリプロセッサ(.hファイルの読み込みとマクロ展開)
2.コンパイル(.cファイルを.objに変換)
3.リンク(.objファイルを実行形式にリンク)
という仕組みになっている。.hファイルはコンパイル以前に
展開されるものだからリンクには関係ない。
スタティックリンクはライブラリに含まれる.objファイルを
リンク時に実行形式に含めるもの。
ダイナミックリンクはライブラリに含まれる.objファイルを
実行時に読み込むもの。
0442デフォルトの名無しさん
2012/12/28(金) 21:31:36.130443デフォルトの名無しさん
2012/12/28(金) 21:35:43.30ライブラリの実態はobjファイル
コンパイルした時に一緒にするのが静的リンク
実行するときだけ一緒になるのが動的リンク
速度は静的リンクに分があって
メモリ効率や差し替えには動的リンクに分がある
嫁=静的リンク
セフレ=動的リンク
0445デフォルトの名無しさん
2012/12/28(金) 23:21:28.17ライブラリとかコンパイルやリンクの概念。
0446デフォルトの名無しさん
2012/12/28(金) 23:32:51.570447デフォルトの名無しさん
2012/12/28(金) 23:35:28.86自分でやれ
0448デフォルトの名無しさん
2012/12/28(金) 23:36:09.21バイナリエディタで機械語でも入力してろカス
0449デフォルトの名無しさん
2012/12/28(金) 23:43:22.51自分でやったよ?
0450デフォルトの名無しさん
2012/12/29(土) 05:40:16.07なんかだらだらと文章がでてやっとコンパイルされるんだが、
これ表示させないようにする方法とかあるのか?
だらだらとでる文章は
[main] gcc〜とか[main] gcc-4〜
とか長々としたもの。
警告文とかではない。
0451デフォルトの名無しさん
2012/12/29(土) 07:48:49.99そのメッセージを貼ってみ
それはそうと gcc4 から specs はなくなったそうで、じゃ、だれが -v をデフォルトオプションにふくませたんだろうね
0453デフォルトの名無しさん
2012/12/29(土) 09:37:40.770454デフォルトの名無しさん
2012/12/29(土) 15:47:47.06d 0xFFE90000 != 0x0 mem alloc base 0x0, state 0x10000, size 65536, Win32 error 4 87
347 [main] collect2 6904 C:\cygwin\lib\gcc\i686-pc-cygwin\4.5.3\collect2.exe
: *** fatal error in forked process - recreate_mmaps_after_fork_failed
>>450だけど、こんなかんじだ。
けせないのかこれは?
0455デフォルトの名無しさん
2012/12/29(土) 17:25:40.50ランダムアクセスなシーケンスですよね
ネットワークやパンチカードなら順次送られてくる流れという見方がしっくりくるのもわかります
でも現代的なファイルまでストリームでやる意味は無いと思います
0456デフォルトの名無しさん
2012/12/29(土) 17:41:19.57ひとつ10GBとか50GBあるファイルのことか?
0457デフォルトの名無しさん
2012/12/29(土) 22:18:49.67意味がないと思うなら、勝手に止めればいいと思う。
ただし、その考えを他人に押しつけるのだけは勘弁してくれ。
別にランダムアクセスしたければいかようにもできるし、でもランダムアクセスって固定長前提の様な気がするんですけど、固定長って今でも現役なんでしょうか?>プロの方
0459デフォルトの名無しさん
2012/12/29(土) 23:01:31.930460デフォルトの名無しさん
2012/12/29(土) 23:11:07.91それを書けよ
0461デフォルトの名無しさん
2012/12/29(土) 23:15:23.73その後すぐ終わるプログラムならいちいちしなくていいよ
0462デフォルトの名無しさん
2012/12/29(土) 23:51:00.70呼び元でmallocするなら呼び元でfree、呼び先でmallocするなら、解放用の関数作ってそこでfreeさせるようにしている。
0463デフォルトの名無しさん
2012/12/30(日) 00:12:14.87main以外★mallocの後にfree不要と言うバカいるの?
http://toro.2ch.net/test/read.cgi/tech/1352812333/
0464デフォルトの名無しさん
2012/12/30(日) 10:42:14.45基本的にはmallocしているところと対称の位置でfreeするよう考えながらプログラムするといい。
例:
ブロックの最初でmallocして、最後でfreeする。
for () {
p = malloc();
...
free(p);
}
最後に利用したところでfreeするという方法もあるが、ダングリングポインタが
発生する可能性があがるのでお勧めしない。
0465デフォルトの名無しさん
2012/12/30(日) 12:02:41.280466デフォルトの名無しさん
2012/12/30(日) 13:18:03.61その作法はwin32apiでも(一様ですが)仮定されているので、それはそれで一つのやり方だとは思うですが、それを守っていると正直つらいときがあります。
(くどくど言い訳16行を省略)
もうBoemGCでいいんじゃないですかー
0468デフォルトの名無しさん
2012/12/30(日) 13:25:11.940469デフォルトの名無しさん
2012/12/30(日) 14:02:07.610470デフォルトの名無しさん
2012/12/30(日) 14:04:40.87Foo** make_foo()
void delete_foo(Foo** foo)
のように領域を確保する関数、関数型マクロを用意する
0471デフォルトの名無しさん
2012/12/30(日) 14:44:05.14安倍内閣は危ない核
0472デフォルトの名無しさん
2012/12/30(日) 17:54:23.820473桃白白
2012/12/30(日) 19:48:47.81http://uploda.cc/img/img50e01979480bd.png
バイナリツリーに値が画像のように存在するときに再帰を使わずにこの形式で出力したいです。
6
5
4
3
2
1
0
書いたコードはこれです。このTree_dumpをどのように実装したらいいのか教えてください。
桃白白困ってます。教えてください。お願いします。
http://ideone.com/3LSYo3
0474デフォルトの名無しさん
2012/12/30(日) 20:19:45.14チンカスが寄ってくるから続きはうんこスレでやれ。
0475桃白白
2012/12/30(日) 20:38:38.59えーわかんなーい、桃白白そんな適当な説明じゃわかんなーい。
LIFOてスタックでいんでしょ。スタックをどう使うの? そこんとこ教えて。
0476デフォルトの名無しさん
2012/12/30(日) 20:53:27.63push 5
push 6
if(行き止まり) pop & print // 6
戻った pop & print // 5
push 4
if(行き止まり) pop & print // 4
戻った pop & print // 3
push 1
push 2
if(行き止まり) pop & print // 2
戻った pop & print // 1
push 0
if(行き止まり) pop & print // 0
という感じかな
0477デフォルトの名無しさん
2012/12/30(日) 21:50:24.28ttp://ideone.com/DLQDf8
0478デフォルトの名無しさん
2012/12/30(日) 22:16:42.77> 再帰を使わずに
> 再帰を使わずに
> 再帰を使わずに
お題も理解せずにドヤ顔でウンコードを張り付けるバカってなんなの?
0479桃白白
2012/12/30(日) 23:17:03.74見た。桃白白いま考えてる。超考えてる。
>>477
桃白白、スタックオーバフローが超怖いから再帰しないやりかたを知りたいの。
0480デフォルトの名無しさん
2012/12/31(月) 00:05:28.96再帰関数を自作スタックを使うように書き換えるだけでよくね?
基礎だからググればサンプルも山ほど見つかるんじゃね?
>スタックオーバフローが超怖いから
平衡二分木が現実的かと
昔は同じくスタックオーバーフローが超怖いので非再帰にこだわっていたこともありましたソースが発掘できたらあげます
hello, world!
みつけた、あげる
http://codepad.org/kktRxfQd
0484桃白白
2012/12/31(月) 02:19:23.24できたー、やったー、あけおめー。ありがとうございました。
http://ideone.com/RDNCac
状態変数を使って右をたどっているのか左をたどっているのか
わけるようにした。
いや、これは struct Node に作業用変数を設け、巡回時(int lib_output(struct Lib_node *p, int (*out_f)(void *)))に戻り位置を記録しておくもの。
これといった必要性もなく goto を使ってしまったと思っています。いずれにせよ当時は二分木の危険性を過大視しておりました。DOSだったし。
0487桃白白
2012/12/31(月) 06:37:12.05void a(Stack s, Node n) {
while (n != NULL) {
Stack_push(s, n);
n = n->right;
}
}
void Tree_dump(Tree tree) {
Stack s;
Node n;
s = malloc(sizeof(struct Stack));
a(s, tree->root);
while (s->root != NULL) {
n = Stack_pop(s);
printf("%d\n", n->value);
a(s, n->left);
}
free(s);
}
0488デフォルトの名無しさん
2012/12/31(月) 07:40:53.44Stack s;
s = malloc(sizeof(struct Stack));
--
腐ってやがる。
0489桃白白
2012/12/31(月) 08:02:57.83____
/ \
/ _ノ ヽ、_ \ そんなこと言われても
/ (●) (●) \ 桃白白どうすりゃいいのさ
| (__人__) |
\ ` ⌒´ /
/´ `\
/ / l l .
__l l_.[] _____/_/__
\, ´-'ヽ
ヾ_ノ
|
|
|__ コロ・・・・
_____\ コロ・・・・
()__)」
0490デフォルトの名無しさん
2012/12/31(月) 08:04:52.91実質的にいるのか?
0491デフォルトの名無しさん
2012/12/31(月) 08:26:14.480492デフォルトの名無しさん
2012/12/31(月) 09:30:14.89今すぐ、死ねばいいよ。↓これも
> Tree tree = malloc(sizeof(struct Tree));
> Tree_add(tree, 3);
0493デフォルトの名無しさん
2012/12/31(月) 09:30:30.120495デフォルトの名無しさん
2012/12/31(月) 09:50:30.28struct Treeとかstruct Stackはポインタなの?
ポインタだとするとmallocの引数がポインタのサイズになってておかしいよ
0496デフォルトの名無しさん
2012/12/31(月) 09:53:02.77気にせんといてー
0497デフォルトの名無しさん
2012/12/31(月) 10:03:11.04お前を含めて、わからないバカ共は死んだ方がいい。
死ぬのがいやならウンコスレでウンコこねて遊んでろ。出てくるな。
0498デフォルトの名無しさん
2012/12/31(月) 10:26:26.81typedefしないと、変数を定義する際にイチイチstructって書かないとダメだろ
>>494
Tree make_tree(){ return (Tree)malloc(sizeof(struct Tree)); }
free_tree(Tree *tree){ free(tree); }
0499デフォルトの名無しさん
2012/12/31(月) 10:28:37.810500デフォルトの名無しさん
2012/12/31(月) 10:37:33.69お前もバカだな。そういう意味じゃない。
0501デフォルトの名無しさん
2012/12/31(月) 10:39:12.44typedefすること自体に文句つけてると思ったのかよw
0502デフォルトの名無しさん
2012/12/31(月) 10:42:41.43お前破壊的にバカ。こんなバカ久しぶりに見た。そういう事じゃない。www
> >>494
> Tree make_tree(){ return (Tree)malloc(sizeof(struct Tree)); }
> free_tree(Tree *tree){ free(tree); }
0503デフォルトの名無しさん
2012/12/31(月) 15:20:00.79でまわす以外に方法ってなにかあるのでしょうか??
0504デフォルトの名無しさん
2012/12/31(月) 15:23:36.680505デフォルトの名無しさん
2012/12/31(月) 15:28:00.37memset
0506デフォルトの名無しさん
2012/12/31(月) 16:02:31.090507デフォルトの名無しさん
2012/12/31(月) 17:02:34.81VisualStudioはどうでもいいので、回答しなくて結構ですよ
0508デフォルトの名無しさん
2012/12/31(月) 17:03:23.74他人を煽りたいだけだろ
0509デフォルトの名無しさん
2012/12/31(月) 17:04:23.68emacs,vim
この話終わり
0510デフォルトの名無しさん
2012/12/31(月) 17:13:13.38微妙に違う。PGの適性の無いバカを煽ってるだけ。
おい、白白。おまえがクソコード撒餌したおかげで記録的なバカが釣れたぞ。
反省文書け。
0512デフォルトの名無しさん
2012/12/31(月) 17:20:47.70漢は黙ってcat
0513デフォルトの名無しさん
2012/12/31(月) 17:23:45.87>>492の解説は?
0514デフォルトの名無しさん
2012/12/31(月) 17:32:31.810515デフォルトの名無しさん
2012/12/31(月) 17:39:19.61解説が必要なバカも同罪。わかるまで考えて遺書か辞表か反省文書け。
しかもおせっかいな通りすがりがヒント出してるのに。
0516デフォルトの名無しさん
2012/12/31(月) 17:43:23.850517デフォルトの名無しさん
2012/12/31(月) 17:46:09.120518デフォルトの名無しさん
2012/12/31(月) 17:46:12.290519デフォルトの名無しさん
2012/12/31(月) 17:46:49.600520デフォルトの名無しさん
2012/12/31(月) 17:49:13.17適性の無いバカは哀れだねえ。気づいて無いのは白白と>>498の二人だけだろうな。
0521デフォルトの名無しさん
2012/12/31(月) 17:50:26.770522デフォルトの名無しさん
2012/12/31(月) 17:50:50.420523デフォルトの名無しさん
2012/12/31(月) 17:52:12.740524デフォルトの名無しさん
2012/12/31(月) 17:52:17.78まず罵ろうというのがおかしくね?
幼少時代になんかあったの?
0525デフォルトの名無しさん
2012/12/31(月) 17:54:54.79大学を卒業してM$AccessやPHPで仕事をする
0526デフォルトの名無しさん
2012/12/31(月) 17:57:08.87さあ、なんでだろうね。わからないけどバカみると吐き気がする。
0527デフォルトの名無しさん
2012/12/31(月) 17:59:53.300528デフォルトの名無しさん
2012/12/31(月) 18:01:58.14C++に慣れた頭からすると、C++だとstruct HogeはHogeという型名でもアクセスできるから、混乱しそうだなとは思うんだけど。
0529デフォルトの名無しさん
2012/12/31(月) 18:04:43.64gccないの?
0530デフォルトの名無しさん
2012/12/31(月) 18:05:11.20初めてパッと見たときに勘違いする
というのはわかるが、>>515には何がダメなのか解説してほしい
typedefが理解できてないだけなんじゃないか?
0531デフォルトの名無しさん
2012/12/31(月) 18:21:52.65>>488は引用が一行足りないので、もしかするとそれで煽ってたのかもしれないが、
>>492みて疑問を持たないバカは死んだ方がいい。
>>492
> Tree tree = malloc(sizeof(struct Tree));
> Tree_add(tree, 3);
0532デフォルトの名無しさん
2012/12/31(月) 18:22:19.90自動車業界なんかだと、MISRA-cなり規格やら検査ツールがあるらしい
きっと、年末年始や土日祝日も開発室に篭って仕事なんだろう
0533デフォルトの名無しさん
2012/12/31(月) 18:22:55.93どんな普通?
0534デフォルトの名無しさん
2012/12/31(月) 18:24:22.45BSDなり、メモリ確保するあたり
あんなの幼少時に何かあった人たちだよ
計算機に育てられたか、計算機の中で生まれたか
0535デフォルトの名無しさん
2012/12/31(月) 18:25:12.32http://toro.2ch.net/test/read.cgi/tech/1352812333/420 出てきて指摘してやれよ。
0536デフォルトの名無しさん
2012/12/31(月) 18:29:39.44具体的にコードで指摘してみろよ、バーカww
0537デフォルトの名無しさん
2012/12/31(月) 18:35:14.000538デフォルトの名無しさん
2012/12/31(月) 18:36:47.840539デフォルトの名無しさん
2012/12/31(月) 18:40:32.84#define MALLOCしとくとメモリアロケータをごっそり入れ替える事が容易。
ツールキットによっては独自のメモリアロケータ使う事が必要な場合もあるので、
オープンソースな開発ではかなり普通に使われているテクニック。
0540デフォルトの名無しさん
2012/12/31(月) 18:44:40.49うんこQzが得意とする炎上学習法。ww
「コードコード」と必死に連呼するさまもQzそのもの。
というわけで、修正
> 適性の無いバカは哀れだねえ。気づいて無いのは白白と>>498とバカのQzの三人だけだろうな。
0541デフォルトの名無しさん
2012/12/31(月) 18:54:22.840542デフォルトの名無しさん
2012/12/31(月) 18:56:16.99白白が気付いて反省文書くまでまってろ。w
0543デフォルトの名無しさん
2012/12/31(月) 18:58:26.120544デフォルトの名無しさん
2012/12/31(月) 19:00:02.870545デフォルトの名無しさん
2012/12/31(月) 19:01:36.950546デフォルトの名無しさん
2012/12/31(月) 19:02:33.840547デフォルトの名無しさん
2012/12/31(月) 19:11:35.86コテハン使うくらいだからそれなりに骨のある奴かと思ってたわ
0548デフォルトの名無しさん
2012/12/31(月) 19:28:40.380549デフォルトの名無しさん
2012/12/31(月) 19:47:40.780550デフォルトの名無しさん
2012/12/31(月) 19:51:32.31見た瞬間めまいがしてすぐに閉じた。w
0551デフォルトの名無しさん
2012/12/31(月) 19:54:38.850552デフォルトの名無しさん
2012/12/31(月) 19:56:41.710553デフォルトの名無しさん
2012/12/31(月) 20:03:45.18ごめんね
気づけのお薬あげる、よく利くよ つhttp://upload.wikimedia.org/wikipedia/commons/c/c2/Thorazine_advert.jpg
0555デフォルトの名無しさん
2012/12/31(月) 20:31:52.72こんな簡単な事も気づけないんだろうな。惨めすぎる。
白白はとっとと反省文書くように。その他のQzを含む気付けないバカ共は遺書を書け。
0556デフォルトの名無しさん
2012/12/31(月) 20:36:49.860557デフォルトの名無しさん
2012/12/31(月) 20:52:24.83これがおかしいコードだと気づけないバカは年越さずに死ね。
> Tree tree = malloc(sizeof(struct Tree));
> Tree_add(tree, 3);
> Tree_add(tree, 1);
0558デフォルトの名無しさん
2012/12/31(月) 20:56:34.63まぁ何にしろ書き込んでるのはひとりやろけどね
0559デフォルトの名無しさん
2012/12/31(月) 21:04:45.510560デフォルトの名無しさん
2012/12/31(月) 21:05:55.300561デフォルトの名無しさん
2012/12/31(月) 21:13:35.26でも、教えてもらったらきっと死にたくなるよ。えれー基本的な事だから。
こんなバカどものウンココードで世の中は動いてるんだろうと想像すると
こっちが死にたくなってくるけどな。
0562デフォルトの名無しさん
2012/12/31(月) 21:15:34.520563デフォルトの名無しさん
2012/12/31(月) 21:15:42.04> こっちが死にたくなってくるけどな。
0564デフォルトの名無しさん
2012/12/31(月) 21:16:58.26とっとと思いを遂げろ
自意識過剰のバカ
0565デフォルトの名無しさん
2012/12/31(月) 21:18:33.99くだらないやり取りを、自演という表現に換えただけですよ。
0566デフォルトの名無しさん
2012/12/31(月) 21:21:04.320567デフォルトの名無しさん
2012/12/31(月) 21:22:36.540568デフォルトの名無しさん
2012/12/31(月) 21:29:06.640569デフォルトの名無しさん
2012/12/31(月) 21:36:00.250570デフォルトの名無しさん
2012/12/31(月) 21:37:47.54○答えられない
0571デフォルトの名無しさん
2012/12/31(月) 21:45:15.590572桃白白
2012/12/31(月) 21:50:35.76typedef struct Hoge *Hogeの流派はないんじゃね。すくなくとも桃白白は
同じことをする人を知らない。マジでかーやめたほうがいいのか。
C++だとtypedefでどんな名前にしちゃうの?
0573デフォルトの名無しさん
2012/12/31(月) 21:51:43.85ところでわりんすけどタバコ買ってきてもらえません?
0574デフォルトの名無しさん
2012/12/31(月) 22:06:11.68matrix = (int **)calloc(gyo,sizeof(int));
if (matrix==NULL){
exit(1);
}
for (i=0; i<gyo; i++) {
matrix[i] = (int *)calloc(retu,sizeof(int));
if (matrix[i]==NULL)
{
exit(1);
}}
すみません、これなんですが、
callocで配列は確保できているみたいなのですが
ところどころ(5こおきに等)0になりません
間違いをおしえてくださいmm
0575デフォルトの名無しさん
2012/12/31(月) 22:12:57.28もしかして
sizeof(int) != sizeof(int*)
0576デフォルトの名無しさん
2012/12/31(月) 22:15:33.35構造体とそれへのポインタを同じ名前にするとかキチガイ沙汰。
とっとと>>557で指摘されてるのなおして反省文書くように。
バカ共が必死で答えを待ってるぞ。
0577デフォルトの名無しさん
2012/12/31(月) 22:23:42.950578デフォルトの名無しさん
2012/12/31(月) 22:27:22.17変数じゃねえだろ型にtypedefしてるだけだ
0579デフォルトの名無しさん
2012/12/31(月) 22:33:58.00すみません(int*)って何をあらわしてるんですか??
とりあえずsizeof(int) == sizeof(int*)でした
0580デフォルトの名無しさん
2012/12/31(月) 22:44:27.57更にわかってないバカが参入
0581デフォルトの名無しさん
2012/12/31(月) 23:03:05.22またくるんだね。
0582デフォルトの名無しさん
2012/12/31(月) 23:07:45.20Cの規格書読み直せバカ
あ、読んでねえからそんな発言がでんだな
0583574
2012/12/31(月) 23:44:20.84sizeof(int *)
今までわからずにつかってましたが、というかつかってないが
後ろの部分ってキャストだったんですね
(int **)calloc
の(int **)もよくわかりません、**ってのが特にわかりません
どうかおしえてください
0584デフォルトの名無しさん
2012/12/31(月) 23:46:15.740585デフォルトの名無しさん
2012/12/31(月) 23:55:19.30お前がバカって事は良くわかってるから、そんなに必死でアピールしなくてもいい。
もうすぐ年越すけどやっぱりわからないんだろ。さすがバカ。wwww
0586デフォルトの名無しさん
2012/12/31(月) 23:55:46.00再現する最小構成のソースを貼ってくださいと何度言わせれば
おそらくmatrixへのアクセスミスだろうとエスパーしてみた
5個おきではないので違うっぽいけど
http://codepad.org/Phyx7G5V
>>583
int**は読んでそのまま、intへのポインタへのポインタ。でっていう。
ポインタはCで挫折しやすい所だから、まずはしっかり勉強した方がいい。
ここで一から聞くのではなく、図などで分かりやすく説明してるサイトで勉強して、
そのうえで分からない所をここで聞け。
キャストなども同じ。基礎を勉強しないでノリでサンプル動かしてる感じかい?
0587574
2012/12/31(月) 23:59:06.50ですよねー
sizeof(int *)
は(int *)のサイズ求めてるだけですよねー;
もしかして581って違う人にいってたとしたらはずいな;
0588574
2013/01/01(火) 00:04:44.35ありがとうございます、すいません
はろうとしたのですが、なんか忍者修行中で、リンクはれませんでした;;
ですね。勉強します。
苦しんで覚えるC言語入門(サイト)
は一通りしました。
やり方ググッてとりつけてるかんじです。
0589574
2013/01/01(火) 00:08:23.660590574
2013/01/01(火) 00:09:35.950591デフォルトの名無しさん
2013/01/01(火) 00:10:48.30やりたいことは理解したつもりです。結論からいうと、>>484 のまずいところは以下の2点
1) malloc() して得た領域が 0 クリアされていることを仮定している。
> Tree tree = malloc(sizeof(struct Tree));
の直後に
> Tree_add(tree, 3);
をおいてしまっている。たぶん、c++/java のコンストラクタにあたるものを C にするときに書き落としてしまっているかと。
2) malloc() の帰り値はチェックしたほうがいいんじゃないかな?
>typedef struct Hoge *Hoge
名前空間が違うからねえ可能といえば可能だけれども。もう C++/java 的な考え方に染まっておられるんですね。
確かに非再帰に書けばスタックオーバーフローの恐怖からは逃れられるけれども、この問題の場合も私ならば再帰的に書いてしまう。
http://ideone.com/fya8EI
木構造は再帰的ゆえに木構造を扱うアルゴリズムも再帰的に書いて楽をしたくなってしまいます。
スタックオーバーフローは別の手段で回避しようかと、リンク時にスタックサイズを指定したり、ああ、最近 AVL 木を添削してもらったのでぼちぼち使い始めています。
あけおめ!
なるほどねえ、現に私ことQZも早々とアロケータはデバッグのための自前物にしちゃってるからねえ、オープンソースものに参加するのもいいかもしれませんね。
0594574
2013/01/01(火) 00:30:39.17最近のバカはその後httまで抜かすも戻るを押し書き込んだ模様です
0595デフォルトの名無しさん
2013/01/01(火) 00:40:29.530596桃白白
2013/01/01(火) 00:45:04.73rootにNULLを入れるのが抜けてるってことね。
mallocのNULLチェックは質問の本旨と関係ないから省いた。
AVL木の添削したのはじつは桃白白だったりしちゃうんだけど、削除の方はできた?
0597デフォルトの名無しさん
2013/01/01(火) 00:53:33.69その節はありがとうございます。:-)
今のところはうまくいっているようですが、まだ自分で再構成できるまでには至っていない、削除ルーチンはまだだし、当分は無理かなあ、まだ怖くて怖くて。
二分木の削除はOKですが、木回転が一回で終わらないのが今のところの難所になっています。ああ、これは本のサンプルを見たほうがはやいかもしれませんね。
0600桃白白
2013/01/01(火) 02:58:17.72削除時に回転が必要になるのは左右の木の高さの差が2になったとき。
左右の木の高さの差が2になるのは木の高さが1減ったとき。
木の高さが1減るのは木のバランスがイーブンになったとき。
木のバランスがイーブンになるのは
左に傾いている木の左のノードを削除したとき。
右に傾いている木の右のノードを削除したとき。
木の回転が行われたとき。
木のバランスがイーブンでなかったら木の高さは変わってないわけだから
平衡がとれてるってことでその上のノードでは回転は必要なくなる。
削除時の回転は、回転後にバランスがイーブンになるものと、
回転後にバランスがイーブンにならないものとがある。
分類するとこうなる。
http://i.imgur.com/8xf54.png
ノードのバランスをチェックすることで左への回転か右への回転かを
わけることができる。子のバランスをチェックすることで一重回転か
二重回転かをわけることができる。一重回転のときは子のバランスを
チェックすることで回転後のバランスをわけることができる。
二重回転のときは孫のバランスをチェックすることで回転後のバランスを
わけることができる。
削除時はパターンが2個増えて、平衡したという判断の仕方が変わるだけ。難しくないっしょ。
0601デフォルトの名無しさん
2013/01/01(火) 03:15:10.87C++の場合、
struct Hoge {
int a;
};
自体が
typedef struct Hoge {
int a;
} Hoge;
相当になる。というかclassとstructがほとんど違いがない。(メンバ変数のデフォルトのアクセス制限の違いだけだったはず)
0603デフォルトの名無しさん
2013/01/01(火) 08:29:15.39年を越したらようやく正解が出てたか。 白白は反省文書くように。Stackも同様。
こんな簡単な事を恥ずかしくないコード出せとか必死で煽ってたバカは死にたくなっただろう。
もう死んだ? >>549とか >>549とか >>549とか >>549とか
まぐれで動くこともあるから、普通にレビューの経験積んでればこの程度の事は一瞥で
わかるようになってるもんだ。
3年以上PGやっててわからなかった奴は才能無いからホームレスに転職しろ。
たしかにこの種のバグはデータ構造を扱うようになると一度は出会う、QZのような馬鹿だと何度も首をかしげることになりますね。
そこで、>>592 に一端を示してもいる「QZアロケータ」では malloc()したあとにランダム値を書き込んで返すという cmalloc() と真逆のことをして早期発見に努めています、本質的な対策にはなっていませんけど。
もっとも最近はめっきりと出会うことはなくなりました。
でも本当は c++ にさっさと移行してコンストラクタをきっちり書くことでしょうね。
>>603 ご指摘感謝アマチュアには身に余る配慮でした。
自然対数の底の展開もなんかやらかしてるのかな?
>>600
子ノードを左右とも持つノードの削除で思考/試行格闘中です。
0605デフォルトの名無しさん
2013/01/01(火) 11:20:31.42結局おまえば出せずじまいじゃん
ちょろっと晒してドヤ顔してればいいものを
よほど自信がなかったんだろうなwwバーーカ
0607デフォルトの名無しさん
2013/01/01(火) 12:46:41.66こんな簡単なのでドヤ顔で指摘しろとか、本当にバカって惨め。
>>515でヒントのヒント、そのあとでヒント>>557を出してるのにバカには
わからなかったんだな。吐き気がするほどのバカ、破滅的に頭が悪い。
んじゃ、お年玉代わりにバカ向けにドヤ顔で解説してやる。感謝しろよ。バカ。
>>515の「おせっかいな通りすがり」とは彼ら(>>503-505)
-------------------------------------
>>503
> 動的二次元配列を0で初期化したいのですがfor
> でまわす以外に方法ってなにかあるのでしょうか??
>>504
> calloc
>>505
> >>503
> memset
-------------------------------------
続いて>>557の解説
mallocの後の領域初期化は要注意ポイント。
それをいきなりTree_addに渡している。Tree_addの引用が一行だけなら
Tree_addで初期化する可能性も否定できないが、2行引用すればバグであること
が明らかにになる。
> Tree tree = malloc(sizeof(struct Tree));
> Tree_add(tree, 3);
> Tree_add(tree, 1);
0608デフォルトの名無しさん
2013/01/01(火) 12:58:18.380609デフォルトの名無しさん
2013/01/01(火) 14:03:48.62解説っつーか、バカだの死ねだの発言が問題なわけですがそれは理解できてるんですか?
0610デフォルトの名無しさん
2013/01/01(火) 14:26:29.350611デフォルトの名無しさん
2013/01/01(火) 14:26:49.590612デフォルトの名無しさん
2013/01/01(火) 14:32:48.840613デフォルトの名無しさん
2013/01/01(火) 14:56:58.500614デフォルトの名無しさん
2013/01/01(火) 15:01:27.840615デフォルトの名無しさん
2013/01/01(火) 15:16:38.98普段どんな惨めな生活を送ってるんですか?
よほどでなければこうまでねじ曲がらないと思うんですけど?
0616デフォルトの名無しさん
2013/01/01(火) 15:48:41.85お前のようなバカは、自分のバカさを認識して分をわきまえた方が生きやすいと思うぞ。
0617デフォルトの名無しさん
2013/01/01(火) 16:04:11.22有難くも私がお前はバカだアホだマヌケだと懇切丁寧に教えてやっているんだがな
カネとってもいいくらいだ
0618デフォルトの名無しさん
2013/01/01(火) 16:17:58.12実生活でのストレスやらはこんなところくらいでしか発散させられないほどのバカなんだろうな
0619デフォルトの名無しさん
2013/01/01(火) 16:26:43.13底辺PGなんてそんなものだ
察してやろうぜ
0620デフォルトの名無しさん
2013/01/01(火) 16:26:55.50>>615
0621デフォルトの名無しさん
2013/01/01(火) 16:27:09.760622デフォルトの名無しさん
2013/01/01(火) 16:47:42.380623デフォルトの名無しさん
2013/01/01(火) 16:50:05.510624デフォルトの名無しさん
2013/01/01(火) 16:50:51.95ビットマップ画像に、アルファベット、ひらがな、カタカナ、数字、記号を入れて、
指定した文字を画面に描画する処理を作っているんですが、
if分の分岐が100を超えてしまうと、VCがコンパイルエラー表示してしまいます。
if分の分岐を使わずに、指定した文字の座標をセットするにはどうしたらいいでしょうか
0625デフォルトの名無しさん
2013/01/01(火) 16:52:01.88バカ認定してる相手にバカって言われてそんなに悔しいの?www
だったら最初からかみついてくるんじゃねーよバーーーカww
0626デフォルトの名無しさん
2013/01/01(火) 16:53:21.450627デフォルトの名無しさん
2013/01/01(火) 16:53:52.77後学のためその力作のソースを是非とも見てみたいから
ideoneとかにうpしてくれると
新年から討論の種が増えてわたくしはうれしいので
是非ともうpしてちょーだい
0628デフォルトの名無しさん
2013/01/01(火) 17:00:55.690629デフォルトの名無しさん
2013/01/01(火) 17:01:17.32そんなに頭が悪くて生きているのつらくないか? バカだからそれすらないのか。
自然はうまくできてるな。
0630デフォルトの名無しさん
2013/01/01(火) 17:01:49.89if (strcmp(c_jp, "あ") == 0){ pos->src.x = CHAR_SIZE*0; pos->src.y = CHAR_SIZE*0; }
else if(strcmp(c_jp, "い") == 0){ pos->src.x = CHAR_SIZE*1; pos->src.y = CHAR_SIZE*0; }
else if(strcmp(c_jp, ":") == 0){ pos->src.x = CHAR_SIZE*20; pos->src.y = CHAR_SIZE*2; }
else if(strcmp(c_jp, " ") == 0){ pos->src.x = CHAR_SIZE*21; pos->src.y = CHAR_SIZE*2; }
else if(strcmp(c_jp, "「") == 0){ pos->src.x = CHAR_SIZE*22; pos->src.y = CHAR_SIZE*2; }
if (c == 'a'){ pos->src.x = CHAR_SIZE*10; pos->src.y = 0; }
else if(c == 'b'){ pos->src.x = CHAR_SIZE*11; pos->src.y = 0; }
else if(c == 'c'){ pos->src.x = CHAR_SIZE*12; pos->src.y = 0; }
else if(c == 'd'){ pos->src.x = CHAR_SIZE*13; pos->src.y = 0; }
0631デフォルトの名無しさん
2013/01/01(火) 17:05:10.14知能は働かないのかね。
0632デフォルトの名無しさん
2013/01/01(火) 17:05:10.48typedef void (*funcp)();
void str_a();
int main(){
funcp str_tbl[NCHARTYPE];
str_tbl['a']=str_a();
}
こんな感じのコードを書きたいけど、書けない学部生なら昔見た
0633デフォルトの名無しさん
2013/01/01(火) 17:05:29.22>>629
0634デフォルトの名無しさん
2013/01/01(火) 17:09:28.56ってやるとdataに"あ"のX座標とY座標が入るみたいなイメージ。
STLのマップとかでできないですかね
0635デフォルトの名無しさん
2013/01/01(火) 17:10:22.19cでやるならhash関数ぐらい自分で書け
0636デフォルトの名無しさん
2013/01/01(火) 17:12:14.000637デフォルトの名無しさん
2013/01/01(火) 17:12:54.450638デフォルトの名無しさん
2013/01/01(火) 17:15:50.85cstlってライブラリならあります。glibとか基本的なデータ構造は用意されてます
>>634
それって、構造体ポインタの配列(hash)じゃないの?
0639デフォルトの名無しさん
2013/01/01(火) 17:16:27.63普通は
"あ" -> 0, "い" -> 1
'a' -> 10, 'b' -> 11
を計算で求める。でも、計算式を考えるのが嫌だったら。
↓こういう関数作れば解決。
int z(const char *c_jp)
{
if(strcmp(c_jp, "あ") == 0){ return 0;}
if(strcmp(c_jp, "い") == 0){ return 1;}
}
int e(char c)
{
if(c == 'a'){ return 10;}
if(c == 'b'){ return 11;}
}
0640デフォルトの名無しさん
2013/01/01(火) 17:19:55.540641デフォルトの名無しさん
2013/01/01(火) 17:21:15.01if () return v;
これの連続だけなら楽勝で通る。
0642デフォルトの名無しさん
2013/01/01(火) 17:23:47.630643デフォルトの名無しさん
2013/01/01(火) 17:24:23.86この部分、関数かマクロで纏めろよ
0644デフォルトの名無しさん
2013/01/01(火) 17:27:46.87if () return v;
をうまく配置して格好いい絵でも書けよ。
0645デフォルトの名無しさん
2013/01/01(火) 17:30:49.1421世紀型プログラミングの真髄を垣間見た
これこそが今の時代に求められるC言語の使い方だ
わたくしはこれ以上この美しいソースを書きかえることなんてできない
0646デフォルトの名無しさん
2013/01/01(火) 17:31:05.49おまえさー、スゲー簡単な答えかもしれないって事を考えずにコードコードと煽ってたのか?
スゲー簡単な答えが出てきたら(実際出てきちゃったんだが)どうするつもりだったんだ?
バカの思考回路は良くわからないな。
0647デフォルトの名無しさん
2013/01/01(火) 17:34:58.94そうじゃなくて、煽ることばかりのお前の態度を指摘していたんだよ(最初から
それが読み取れないのはバカだから?日本人じゃないから?
0648デフォルトの名無しさん
2013/01/01(火) 17:35:11.24if () return z();
if () return e();
return -1;
}
#define INSERT(a,b,c)
Foo hash_tbl[]={
INSERT(hash("あ")),
INSERT(hash("い")),
...
}
アイディアだけ書く
0649デフォルトの名無しさん
2013/01/01(火) 17:36:33.780650デフォルトの名無しさん
2013/01/01(火) 17:37:56.14このぐらいならSTLなんてイラナイだろ
0651デフォルトの名無しさん
2013/01/01(火) 17:39:47.57それに対抗するために煽り返していたのか。バカの後付けの言い訳は見苦しすぎる。
足りない頭で必死に考えて、そんな回答ないと確信して煽ってたんだろうな。
バカすぎwww
0652デフォルトの名無しさん
2013/01/01(火) 17:40:23.36うかうかしてらんねーな
0653デフォルトの名無しさん
2013/01/01(火) 17:43:11.44STL使えるVC++でSTLを避ける意味はない。
0654デフォルトの名無しさん
2013/01/01(火) 17:43:27.03STLはこのくらいのものばかりだよ
0655デフォルトの名無しさん
2013/01/01(火) 17:43:46.71>そんな回答ないと確信して
ここら辺がバカすぎ
全く理解できてない
あるかないかは関係ないだろwww
0656デフォルトの名無しさん
2013/01/01(火) 17:45:12.940657デフォルトの名無しさん
2013/01/01(火) 17:45:24.81ひょっとすると、visual studioでgnuへ貢献しようとしてるかもしれないだろ
0658デフォルトの名無しさん
2013/01/01(火) 17:53:35.330659デフォルトの名無しさん
2013/01/01(火) 17:57:52.64つまり、気に入らない態度に対して同じ態度で煽り返していたと。バカ丸出しwww
バカは後付けで言い訳考えない方がいいぞ。
0660デフォルトの名無しさん
2013/01/01(火) 17:59:15.68いろんな分野の混じったとき、c++が読めない人も居るからとかなんとか
論文だか草稿だかならみた記憶ならあるけれど
0661デフォルトの名無しさん
2013/01/01(火) 18:02:25.550662デフォルトの名無しさん
2013/01/01(火) 18:06:35.59スラド民の誰かが、中の人が中二病起こしたって書いてたな
技術的な詳細なんてシラネ。そんな人間がこの板を通り掛かるわけもないだろうし
0663デフォルトの名無しさん
2013/01/01(火) 18:07:29.44同じことをしてやればさすがに理解できるだろうからだよwww
分かったかバカwwwww
しかし、バカにバカって言って何が面白いのか
0664デフォルトの名無しさん
2013/01/01(火) 18:10:21.92else if()
else if()
...
が、どのくらいいけるか試してみた。VC++ 500行OK, 700行はだめ。
clang, gccは10000行でもOK
VC++ 弱すぎ。
0665デフォルトの名無しさん
2013/01/01(火) 18:13:09.74残念ながらバカにバカといわれても全然平気。
それより気に入らない態度を自分が真似できる神経を尊敬する。バカってある意味最強だな。
0666デフォルトの名無しさん
2013/01/01(火) 18:15:42.51これが部下なら鉄拳制裁してやれるのにな
0667デフォルトの名無しさん
2013/01/01(火) 18:18:51.680668デフォルトの名無しさん
2013/01/01(火) 18:22:37.78バカと言われるのは平気と言いながらもレスを絶やすのはできないほど高いプライドをお持ちのようでwwww
0669デフォルトの名無しさん
2013/01/01(火) 18:23:29.49From: [498] デフォルトの名無しさん <sage>
Date: 2012/12/31(月) 10:26:26.81
>>491
typedefしないと、変数を定義する際にイチイチstructって書かないとダメだろ
>>494
Tree make_tree(){ return (Tree)malloc(sizeof(struct Tree)); }
free_tree(Tree *tree){ free(tree); }
0670デフォルトの名無しさん
2013/01/01(火) 18:23:42.010671デフォルトの名無しさん
2013/01/01(火) 18:25:48.21背後から忍び寄り、後頭部に手を置いて、そのままディスプレイに叩きつけるよ
0672デフォルトの名無しさん
2013/01/01(火) 18:26:36.97全然、違うよw
0673デフォルトの名無しさん
2013/01/01(火) 18:27:27.56お前ほどのとびっきりのバカはめったにいないからな。
0674デフォルトの名無しさん
2013/01/01(火) 18:30:22.43逆にお前のような奴はどこぞの半島に腐るほどいるんだよな
0675デフォルトの名無しさん
2013/01/01(火) 18:36:14.060676デフォルトの名無しさん
2013/01/01(火) 18:37:18.610677デフォルトの名無しさん
2013/01/01(火) 18:38:55.240678デフォルトの名無しさん
2013/01/01(火) 18:40:31.37まあしょうがないよ。↓こういう下等な人間もどきなんだから。
> 同じことをしてやればさすがに理解できるだろうからだよwww
0679デフォルトの名無しさん
2013/01/01(火) 18:41:48.30皆、正月だから小学生の頃に戻ってるんだよ
0680デフォルトの名無しさん
2013/01/01(火) 18:43:00.50日本には毒を以て毒を制すという言葉がありますが、朝鮮にはどうだかは知りません
0681デフォルトの名無しさん
2013/01/01(火) 18:45:31.69どっちもいい年なんだろうなと思うと哀れに思えるよね
0682デフォルトの名無しさん
2013/01/01(火) 18:46:29.61xxx.insert(pair<char*, FONT_INFO>("あ", font_info));
とやったとして、
xxx.find("あ");
は、必ず見つかるものなの?
"あ"が格納されてるアドレスは必ず同じだと思っていいの?
0683デフォルトの名無しさん
2013/01/01(火) 18:48:40.35また路上を遮ってりゃ、アイスピックでお前らのタイヤに穴開けといてやるからな
0684デフォルトの名無しさん
2013/01/01(火) 18:49:26.26char c[3];
c[0] = str[0];
c[1] = str[1];
c[2] = '\0';
xxx.find(c);
これ駄目じゃん。。」
0685デフォルトの名無しさん
2013/01/01(火) 19:06:57.05それは似て非なるもの。
0686デフォルトの名無しさん
2013/01/01(火) 19:07:46.74せめて、std::stringを使え。使ったところで動くか知らんけど
というか、>>648の意味わからなかった?
0687デフォルトの名無しさん
2013/01/01(火) 19:11:05.77とりあえず、全角文字って何バイトか調べろ
0688デフォルトの名無しさん
2013/01/01(火) 19:12:50.79これじゃないのか。
今回はこいつと張本人の白白、Qz以外は個別には罵倒していないはずだが、
大分前に罵倒したバカのうちの一人かな。粘着力が半島人。www
0689デフォルトの名無しさん
2013/01/01(火) 19:12:55.680690デフォルトの名無しさん
2013/01/01(火) 19:14:02.14C++スレで使い方を聞けっつてんだろバカ
お前の頭じゃマニュアルみても使い方わからんだろ
0691デフォルトの名無しさん
2013/01/01(火) 19:14:26.95STL理解してないだろ。理解するのに2〜3日、或いは一週間は掛かるぞ
0692デフォルトの名無しさん
2013/01/01(火) 19:25:24.00罵倒しようという姿勢が半島人
自分の粘着を棚に上げるのも
0693デフォルトの名無しさん
2013/01/01(火) 19:30:19.550694デフォルトの名無しさん
2013/01/01(火) 19:32:59.020695デフォルトの名無しさん
2013/01/01(火) 19:39:14.700696デフォルトの名無しさん
2013/01/01(火) 19:39:49.64オフセット付けるなり適当に工夫汁。
0697デフォルトの名無しさん
2013/01/01(火) 20:07:02.12unsigned int hash_val = str[0];
if(str[1] != '\0')
{
hash_val = hash_val * 256 + str[1];
}
xxx.insert(pair<UI, FONT_INFO>(hash_val, font_info));
0698デフォルトの名無しさん
2013/01/01(火) 20:08:01.280699デフォルトの名無しさん
2013/01/01(火) 20:10:28.880700デフォルトの名無しさん
2013/01/01(火) 21:06:45.71なぁ、そのhash関数って最大が幾つになるんだ?
0701デフォルトの名無しさん
2013/01/01(火) 21:35:22.57だからintで十分入ると思うが何か問題かな
0702デフォルトの名無しさん
2013/01/01(火) 21:48:09.15○65535
0703デフォルトの名無しさん
2013/01/01(火) 22:12:32.03255*256 + 255 = 65535
だからintで十分入ると思うが何か問題かな
0704デフォルトの名無しさん
2013/01/01(火) 22:51:26.100705デフォルトの名無しさん
2013/01/01(火) 22:55:53.57どのコード体系でいえばいいかにもよるけど、少なくともシフトJISなら
あり得る
0706デフォルトの名無しさん
2013/01/01(火) 23:17:31.74結局17桁くらいまでしか精度ないんだろう。利点とかってありますか?
0707デフォルトの名無しさん
2013/01/01(火) 23:18:28.860708デフォルトの名無しさん
2013/01/01(火) 23:25:29.22お前それサバンナでも同じ事言えんの?
0709デフォルトの名無しさん
2013/01/01(火) 23:48:00.62メリットはあるんですか?純粋な疑問
0710デフォルトの名無しさん
2013/01/01(火) 23:54:55.36>gcc gtk-sample.c -o gtk-sample `pkg-config gtk+-2.0 --cflags --libs`
「'」の意味と、gccにpkg-configの結果?を渡す理由を教えて下さい
0711デフォルトの名無しさん
2013/01/01(火) 23:56:14.560712デフォルトの名無しさん
2013/01/02(水) 00:07:12.90俺初心者だけどどういう意味ですか?
パンチガードって何?C言語関係あるの?
0713デフォルトの名無しさん
2013/01/02(水) 00:28:19.35ネタなのかマジなのかわからんが、100億倍って桁に直したら10桁だろ。intって8.4桁くらいだろ。足したら18.4桁。大体17桁と違いないから正しいじゃないか。
8桁じゃ困って17桁なら大丈夫な計算なら嬉しいだろう?17桁しかないなら8桁しかないのと同じだと思うの?
0714デフォルトの名無しさん
2013/01/02(水) 00:33:55.81有効桁数は
ビット数 × 0.30102999566398119521373889472449
符号付でも 32bit int なら精度9桁あるぞ
分野によっては数値の大小よりも「有効桁数」を優先する場合があります。
科学技術の実験値表現では例えば「光速度:2.99792458 × 10^8 m/s」とかいいますがこの場合有効桁数は9桁になります。
浮動小数点表現は有効桁数を優先した表現方法です。
0716デフォルトの名無しさん
2013/01/02(水) 00:58:20.44±10^(-308)〜10^(308)
って事は308桁の精度って事じゃないんですか?
intは24億だから10桁の精度。
精度にしたら30倍。違いますか?
0717デフォルトの名無しさん
2013/01/02(水) 01:01:16.63IEEE754でググれ
0718デフォルトの名無しさん
2013/01/02(水) 01:48:38.93すまん一桁カウントし間違えた。0.4桁分はその計算の言わんとする所の意味だよ。
言いたかったのは、100億倍とかいう表現と17桁とかいう表現を混ぜたら、前者は凄く広大な感じがして後者はわい小な感じがするけど、
整合性はだいたいとれてるだろ、ってこと。
そもそも17桁以上の精度を必要とする計算ってそんなに身近なのか?ということを考えた方がいいと思うんだよね。
17桁ってなんかしょぼいな、って感覚的に思って決めつけちゃう前に。大体のものは17桁の精度で測定なんかできないものばかりだろう。
まあ銀行系とかはdoubleじゃ困るだろうけどね。
0719デフォルトの名無しさん
2013/01/02(水) 06:11:28.690720デフォルトの名無しさん
2013/01/02(水) 12:23:06.27ファイルを読み込むとき例えば100字のテキストファイルがあって
その70行目まで読み込んでたとします。その時70字分の情報は以降
同じストリームから読み取れないんですか?
プッシュバックとかそういうソフトウェア的なことじゃなくて
もう一回fopenしない限り読み取れませんか?
というか読み込んだファイル情報はすぐにHDDに返されるのでしょうか?
0721デフォルトの名無しさん
2013/01/02(水) 12:33:52.650722デフォルトの名無しさん
2013/01/02(水) 12:51:42.66>読み込んだファイル情報はすぐにHDDに返されるのでしょうか?
なんで返すんだ?
まさかHDDからメモリに送られた情報は、送り返されるまでHDD上からは消えてるとでも思ってるのか?
0723デフォルトの名無しさん
2013/01/02(水) 13:05:42.03他のシステムユーザからのアクセスを遮断するために
消えると思うんですが違いますか?
で結局stdinなどで読み込んだ文字は以降は絶対に読み込む事は
できないんでしょうか?
0724デフォルトの名無しさん
2013/01/02(水) 13:08:51.06ストリームを閉じたらメモリから消えるという事ですかね?
0725デフォルトの名無しさん
2013/01/02(水) 13:12:01.61fseekって結局プッシュバックと同じ仕組みじゃないんですか?
ただのバッファとそこから取り出すっていうだけの仕組みでしょ?
僕が知りたいのはHDDから読み込めるかどうかです。
0726デフォルトの名無しさん
2013/01/02(水) 13:22:05.512chなんて信じられないんだろ
本買って読めよ
0727デフォルトの名無しさん
2013/01/02(水) 13:25:13.71はぁ?
0728デフォルトの名無しさん
2013/01/02(水) 13:26:54.20> fseekって結局プッシュバックと同じ仕組みじゃないんですか?
違うよ。
0729デフォルトの名無しさん
2013/01/02(水) 13:30:19.780730デフォルトの名無しさん
2013/01/02(水) 13:33:01.78手元の規格標でsetvbufを検索してみ
てか、糞でかいファイル扱う事を考えたら常識的に考えて分かるでしょ
0731デフォルトの名無しさん
2013/01/02(水) 14:38:50.060732デフォルトの名無しさん
2013/01/02(水) 14:43:54.030733デフォルトの名無しさん
2013/01/02(水) 15:59:28.260734デフォルトの名無しさん
2013/01/02(水) 16:13:21.040735デフォルトの名無しさん
2013/01/02(水) 16:21:50.250736桃白白
2013/01/02(水) 16:25:02.00いいのかな、掲示板見たらみんなやってるみたいなんだ、ぼくもプッシュバックしたい。
0737デフォルトの名無しさん
2013/01/02(水) 16:26:29.80バッククォートで括られた箇所は、コマンド実行に置換される
pkg-configってコマンドがあるわけ。manでも読め
実行すると、gtkのヘッダやライブラリの場所がズラズラ出てくる
0738デフォルトの名無しさん
2013/01/02(水) 16:27:20.27可哀想な子
0739デフォルトの名無しさん
2013/01/02(水) 16:35:00.230740デフォルトの名無しさん
2013/01/02(水) 16:37:18.530741デフォルトの名無しさん
2013/01/02(水) 16:38:47.96>>735や>>736は、すごく良い教養になった
0742デフォルトの名無しさん
2013/01/02(水) 16:40:09.40>ただのバッファとそこから取り出すっていうだけの仕組みでしょ?
配列の最後尾に追加するのとは全く逆のようだが
0743デフォルトの名無しさん
2013/01/02(水) 18:01:15.880744デフォルトの名無しさん
2013/01/02(水) 18:24:29.34ファイルストリームに関する質問だけど
ファイルを読み込むとき例えば100字のテキストファイルがあって
その70行目まで読み込んでたとします。その時70字分の情報は以降
同じストリームから読み取れないんですか?
プッシュバックとかそういうソフトウェア的なことじゃなくて
もう一回fopenしない限り読み取れませんか?
というか読み込んだファイル情報はすぐにHDDに返されるのでしょうか?
723 :デフォルトの名無しさん:2013/01/02(水) 13:05:42.03
>>722
他のシステムユーザからのアクセスを遮断するために
消えると思うんですが違いますか?
で結局stdinなどで読み込んだ文字は以降は絶対に読み込む事は
できないんでしょうか?
725 :デフォルトの名無しさん:2013/01/02(水) 13:12:01.61
>>721
fseekって結局プッシュバックと同じ仕組みじゃないんですか?
ただのバッファとそこから取り出すっていうだけの仕組みでしょ?
僕が知りたいのはHDDから読み込めるかどうかです。
0745デフォルトの名無しさん
2013/01/02(水) 23:00:58.920746デフォルトの名無しさん
2013/01/03(木) 00:34:19.91ヤフー知恵袋でやれ
0747デフォルトの名無しさん
2013/01/03(木) 13:35:24.990748デフォルトの名無しさん
2013/01/03(木) 17:08:15.27間違ってるどころか何もかも狂ってたから目論見が外れたみたいだけど
0749デフォルトの名無しさん
2013/01/03(木) 21:47:35.130750デフォルトの名無しさん
2013/01/03(木) 21:59:36.980751デフォルトの名無しさん
2013/01/03(木) 22:16:03.79なぜ、スレ違いなの?
めっちゃC言語、入門じゃん
0752デフォルトの名無しさん
2013/01/03(木) 22:24:00.11手で書けない人が自動生成ツールを使うのは難しいんじゃないかな。
0754デフォルトの名無しさん
2013/01/03(木) 23:44:31.42をインストールする時suのパスワードってなにいれるんですか??
0755デフォルトの名無しさん
2013/01/03(木) 23:47:31.93なんでもないです、
すみません
0756デフォルトの名無しさん
2013/01/03(木) 23:49:26.79これ以上はUNIX板にでも行けよ
0757デフォルトの名無しさん
2013/01/04(金) 00:23:23.61F 8
R 23
のような、「文字 数字」をコマンドラインから読み込みたいんだが
char c[5]; int a[5], i = 0; double k;
for(i=0; i<5; i++){
scanf(" %c %d%[\n]",&c[i],&a[i],&k);
}
のようにやるとなぜか6回「文字 数字」を読み込んでしまってうまくいかない。
文字はc[i] 数字はa[i] 改行をkに保存してるんだが
何がおかしいのだろうか・・・・・・orz
0758デフォルトの名無しさん
2013/01/04(金) 00:39:47.810759デフォルトの名無しさん
2013/01/04(金) 00:41:31.76ありがとうございます。
詳しく調べてみます。
0760デフォルトの名無しさん
2013/01/04(金) 10:48:43.15forを抜けた後iが6だったとか?
0761デフォルトの名無しさん
2013/01/04(金) 11:00:22.74A 1
B 2
C 3
D 4
E 5
F 6
のように・・・・・・printfで調べてみたらi=0でどうやら2行分読み込んでるようで。
でも格納されてる値をみたらc[0]〜c[4]はA〜E、a[0]〜a[4]は1〜5の値が入っていたのでさらに意味不明なことに・・・
0762デフォルトの名無しさん
2013/01/04(金) 11:09:28.77> double k;
> 改行をkに保存してるんだが
意味がわからん。
>>761
printf( ) デバッグするなら、i の値も一緒に表示すれば良いのに…
0763デフォルトの名無しさん
2013/01/04(金) 12:10:27.77char c[5], dummy; int a[5], i;
for(i=0; i<5; i++) {
scanf("%c %d%c", &c[i], &a[i], &dummy);
}
としてみるとか。
A 123 4567
と入力すると
A 123
4 567
となるけど。。
0764デフォルトの名無しさん
2013/01/04(金) 13:07:54.09コマンドラインからでなく、コマンドインタプリタを実行している端末エミュレータから入力しているんだろ。
改行文字をdoubleの変数に保存するなんて阿呆なことしていないできちんと書けよ。
つーか、fgets()で一行入力してからsscanf()でばらす方が無難だと思うが。
0765デフォルトの名無しさん
2013/01/04(金) 16:52:54.180766デフォルトの名無しさん
2013/01/04(金) 17:43:34.43一行の長さを調べるにはどうすればいいの?
0767デフォルトの名無しさん
2013/01/04(金) 17:48:53.95一行の長さが予測できない場合は、適当なサイズ毎に読み込んで
行末がでてくるまで文字数をカウントしていく。
0768デフォルトの名無しさん
2013/01/04(金) 17:50:08.92エスパー回答
http://toro.2ch.net/test/read.cgi/tech/1313183984/35
のどこかにあるchar *mygetline(FILE *fp)を調べれ
0769デフォルトの名無しさん
2013/01/04(金) 18:54:38.840770デフォルトの名無しさん
2013/01/04(金) 18:58:00.040771デフォルトの名無しさん
2013/01/04(金) 19:38:48.81標準入力がキーボードの場合シーク要求来たら大変だろ? (w
0772デフォルトの名無しさん
2013/01/04(金) 19:44:49.380773デフォルトの名無しさん
2013/01/04(金) 19:45:02.980774デフォルトの名無しさん
2013/01/04(金) 21:42:01.61しなけりゃできない
0775デフォルトの名無しさん
2013/01/04(金) 23:19:10.790776デフォルトの名無しさん
2013/01/04(金) 23:21:25.090777デフォルトの名無しさん
2013/01/04(金) 23:54:03.030778デフォルトの名無しさん
2013/01/05(土) 00:50:25.15echo > file
あるのなら
cat > file
だろう?
0779デフォルトの名無しさん
2013/01/05(土) 03:23:19.720780デフォルトの名無しさん
2013/01/05(土) 17:21:35.330781デフォルトの名無しさん
2013/01/05(土) 20:13:48.00「間接参照のレベルが'int*'と'int[4][5]'で異なっています。」
という警告が出てきます。
この警告の意味はどういうことなのでしょうか??
0782デフォルトの名無しさん
2013/01/05(土) 20:29:58.01警告そのまんま
int*とint[4][5]の型が違いますってこと
てかソース貼れ
0783デフォルトの名無しさん
2013/01/05(土) 21:10:22.920784デフォルトの名無しさん
2013/01/05(土) 21:18:41.750785デフォルトの名無しさん
2013/01/05(土) 22:39:59.17100以下がほとんどでない。
ほとんどが億レベルなんですが理由は何でしょうか?
234213423
23513123
5634521324
234523546
.
.
.
.
3
2000回に一回ペースで100以下が出る。
0786デフォルトの名無しさん
2013/01/05(土) 22:42:35.80全体のうち百以下の数の個数と
億単位の個数がいくつあるか
自分の手で計算してごらん
0787デフォルトの名無しさん
2013/01/05(土) 23:42:52.220788デフォルトの名無しさん
2013/01/05(土) 23:44:52.660789デフォルトの名無しさん
2013/01/05(土) 23:53:02.42僕らの上にはは空があるだけ
計算してごらん すべての人がその日暮らし…
0790デフォルトの名無しさん
2013/01/05(土) 23:54:00.820791デフォルトの名無しさん
2013/01/05(土) 23:56:14.160792デフォルトの名無しさん
2013/01/05(土) 23:57:58.370793デフォルトの名無しさん
2013/01/05(土) 23:58:10.02ヒント:NGワード
0794デフォルトの名無しさん
2013/01/06(日) 00:08:12.380795デフォルトの名無しさん
2013/01/06(日) 01:07:17.670796デフォルトの名無しさん
2013/01/06(日) 19:25:02.72なぜなのでしょうか??
適応度は個体によってバラバラなのになぜか遺伝子は1のみになってしまいます。
(個体は2次元配列で、2進数によって表現しているつもりです)
おかしい所だらけだと思うのですが、よろしくお願いします。
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#define N 5 // 遺伝子長
#define M 50 // 個体数
#define ml 4 //音符数
#define T 10 // 世代数
#define Pc 0.50 // 交叉確率
#define Pm 0.10 // 突然変異確率
// 遺伝子型の定義
struct genotype {
int gene[ml][N]; // 遺伝子
float fitness; // 適応度
};
float evaluation(int *a); //適応度計算
void one_point_crossover(struct genotype *ind); //交叉
void mutation(struct genotype *ind); //突然変異
void roulette_selection(struct genotype *ind); //選択
int flip(float prob); //
void print_process(struct genotype *ind, int generation); //出力
0797デフォルトの名無しさん
2013/01/06(日) 19:27:39.08int i; // 個体インデックス
int j; // 遺伝子座インデックス
int s; // 音符数インデックス
int t; // 世代インデックス
struct genotype individual[M]; // 個体
struct genotype erito; //エリート
// 乱数seedの設定
if(argc < 2) { // プログラムの引数が足りない場合
printf("Usage: %s [SEED_NUMBER]\n", argv[0]);
exit(1);
}
else {
srand(atoi(argv[1]));
}
// ステップ1 (0世代目)
for(i=0; i<M; i++) {
for(s=0; s<ml; s++){
for(j=0; j<N; j++) {
individual[i].gene[s][j] = flip(0.5);
}
individual[i].fitness = evaluation(individual[i].gene); // 個体の適応度計算
}
}
print_process(individual, 0); // 初期世代の個体群を表示
0798デフォルトの名無しさん
2013/01/06(日) 19:29:17.28for(i=1;i<M;i++){
if(individual[0].fitness < individual[i].fitness){
individual[0] = individual[i];
}
erito = individual[0];
}
// ステップ2 (1〜T世代)
for(t=1; t<=T; t++) {
// 交叉
one_point_crossover(individual);
// 突然変異
mutation(individual);
// 子個体の適応度値計算
for(i=0; i<M; i++) {
individual[i].fitness = evaluation(individual[i].gene);
}
// ルーレット選択
roulette_selection(individual);
0799デフォルトの名無しさん
2013/01/06(日) 19:29:51.37for(i=1;i<M;i++){
if(individual[0].fitness < individual[i].fitness){
individual[0] = individual[i];
}
erito = individual[0]; //更新
}
print_process(individual, t);
}
return(0);
} // End of main()
// 個体の適応度計算
float evaluation(int *a) {
int j; // 遺伝子座インデックス
int count = 0; // 遺伝子中の`1'の数
for(j=0; j<N; j++) {
count += a[j];
}
return((float)count);
} // End of evaluation()
0800デフォルトの名無しさん
2013/01/06(日) 19:33:20.45// 個体の中身や適応度値を画面に出力
void print_process(struct genotype *ind, int generation) {
int i; // 個体インデックス
int s; //音符数インデックス
int j; // 遺伝子座インデックス
float max_fit, min_fit, avg_fit; // 最大,最小,平均適応度
// 各個体の中身を出力
printf("\n世代数: %d\n", generation);
for(i=0; i<M; i++) {
printf("第%d個体:\n ", i);
for(s=0; s<ml; s++){
for(j=0; j<N; j++) {
if(ind[i].gene[j] == 0) printf("%c", '0');
else printf("%c", '1');
}
printf(" : %.0f\n", ind[i].fitness);
}
}
0801デフォルトの名無しさん
2013/01/06(日) 20:19:13.96> # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。
> # サイズが大きい場合はアップローダ等を利用してください。
> http://codepad.org/
> http://ideone.com/
0802デフォルトの名無しさん
2013/01/06(日) 20:31:55.59その精神性からしてすでに能力が透けて見える
そして極めつけは不要だと自分で判断したコードの中にバグがある場合
もしもここまで来るならそれはどうしようもない
0803デフォルトの名無しさん
2013/01/06(日) 20:32:19.38http://codepad.org/IX0mhVGD#comment-s6ofTdEf
0804デフォルトの名無しさん
2013/01/06(日) 20:38:50.37まあまあそう熱くなるなよ
答えてやるついでに軽く言うくらいが
大人の対応だぜ
0805デフォルトの名無しさん
2013/01/06(日) 20:39:37.14訂正があったので
http://codepad.org/00e0CHIz
0806デフォルトの名無しさん
2013/01/06(日) 21:02:07.37222行目
× > if(ind[i].gene[j] == 0) printf("%c", '0');
○ > if(ind[i].gene[s][j] == 0) printf("%c", '0');
でないかい?
0807デフォルトの名無しさん
2013/01/06(日) 21:09:35.36printf("%c", '0'); → printf("0");
で良いような
0808デフォルトの名無しさん
2013/01/06(日) 21:26:07.18float x = (float)rand() / (float)RAND_MAX ;
0809デフォルトの名無しさん
2013/01/06(日) 21:31:15.90やっぱり不要だと思って勝手に省いた部分ジャネーカ
隠れた部分にバグとか、そのままじゃぜってーみつかんねーよ
あおりまくってヴァカにするまでたたかないとコードはでてこねー
0810デフォルトの名無しさん
2013/01/06(日) 22:30:13.310811806
2013/01/06(日) 22:41:06.95float evaluation(int *a);
も気になる。
for (j = 0; j < N; j++) {
count += a[j];
}
↓
for (j = 0; j < ml * N; j++) {
count += a[j];
}
の方が期待される結果を得られるんでないかい?
0812806
2013/01/06(日) 23:27:48.98[1] 44行目
// ステップ1 (0世代目)
for(i=0; i<M; i++) {
for(s=0; s<ml; s++){
for(j=0; j<N; j++) {
individual[i].gene[s][j] = flip(0.5);
}
individual[s].fitness = evaluation(individual[s].gene); // 個体の適応度計算
//individual[i].fitness = evaluation(individual[i].gene); // 個体の適応度計算
}
}
↓
for(i=0; i<M; i++) {
for(s=0; s<ml; s++){
for(j=0; j<N; j++) {
individual[i].gene[s][j] = flip(0.5);
}
}
individual[i].fitness = evaluation(individual[i].gene); // 個体の適応度計算
}
でないかい?
[2] 141行目
temp[j] = ind[ia].gene[j];
↓
temp[j] = ind[ia].gene[s][j];
でないかい?
0813デフォルトの名無しさん
2013/01/06(日) 23:47:42.36struct genotype individual[M];
を
void print_process(struct genotype *ind, int generation); //出力
のindに渡しているけど、print_process()内で
ind[i]でアクセスして大丈夫でしたっけ。
void print_process(struct genotype ind[M], int generation); //出力
に渡すなら、間違いなくind[i]でアクセス出来るのはわかるけど。
0814デフォルトの名無しさん
2013/01/07(月) 04:56:25.900815デフォルトの名無しさん
2013/01/07(月) 07:44:29.95問題ないよ
0816デフォルトの名無しさん
2013/01/07(月) 09:27:31.16引き数リストのtype name[size]は、type * nameと解釈されるから全く問題ない。
寧ろ、配列そのものではないのでsizeは書かないのが一般的。
0817デフォルトの名無しさん
2013/01/07(月) 15:02:30.93声聞くと一番簡単なプログラムだがスイーツはこれを聞いたらすげえと思うのか
0818813
2013/01/07(月) 19:29:11.36ありがとうございます。
struct genotype *ind と struct genotype **ind で勘違いしていました。
ttp://ideone.com/GkZdrC で実験して理解出来ました。
0819デフォルトの名無しさん
2013/01/08(火) 00:35:40.79エディタはvimでいいんですけどビルドとかコンパイル対象のファイルの指定とか
makefile書くのめんどくさいんすけど
0820デフォルトの名無しさん
2013/01/08(火) 00:39:25.880821デフォルトの名無しさん
2013/01/08(火) 00:41:14.03難しく考えすぎなんじゃない
VCみたいなのといったらeclipseだろうか たぶんmakefileより面倒な気がするけど
0822デフォルトの名無しさん
2013/01/08(火) 02:02:44.92VSに慣れた自分はEclipseのCDTは結構使いやすく感じるよ。Makefileでのビルドもできるしね。
てか、補完に関してはVSより使いやすい部分も多いし。CamelCaseでの補完(JDTでいうBIS→BufferedInputStreamみたいなやつ)がはやくVCのIntellisenseにも実装されてほしいよ。
0823デフォルトの名無しさん
2013/01/08(火) 06:56:38.62Linuxはボランティアが作っているからねえ。
有料のVSと同じ環境が無料で得られたらMSが潰れてしまう。
楽したけりゃ金出してWindows使っとけという話。
0824デフォルトの名無しさん
2013/01/08(火) 08:12:56.240825デフォルトの名無しさん
2013/01/08(火) 12:03:31.11給料貰ってそれを仕事としてやってる人間の方がむしろ多い。
0826デフォルトの名無しさん
2013/01/08(火) 12:30:58.450827デフォルトの名無しさん
2013/01/08(火) 12:37:21.560828デフォルトの名無しさん
2013/01/08(火) 12:49:54.120829デフォルトの名無しさん
2013/01/08(火) 13:40:50.59開発環境はLinuxだけターゲットにしてるわけでもないだろうし
じゅんを
0830デフォルトの名無しさん
2013/01/08(火) 15:15:29.50そんな事は言い訳にはならない。
0831デフォルトの名無しさん
2013/01/08(火) 15:21:21.24自己主張が激しいだけの無能とかワラワラいそうだ
ブランチ作って永遠にそこから出て来るな!
って言ってもバカは言うことを聞かない
0832デフォルトの名無しさん
2013/01/08(火) 15:31:35.14抑止力になっているのか。
0833デフォルトの名無しさん
2013/01/08(火) 15:44:12.26広告アプリの足の引っ張り合いかも
0834デフォルトの名無しさん
2013/01/08(火) 16:55:53.56問題としていたところが解決されました。
本当にありがとうございました。
0835デフォルトの名無しさん
2013/01/08(火) 18:52:10.93何度もすみません。
現段階では、評価値が各個体ごとに出力されているのですが、
各個体の、各行(5ビットの2進数)ごとに評価値を出力させるには
どうしたらよいのでしょうか??
0836デフォルトの名無しさん
2013/01/08(火) 20:29:08.57http://codepad.org/gZhkoLWp
0837デフォルトの名無しさん
2013/01/09(水) 02:28:08.710x0edb8832,0x79dcb8a4,0xe0d5e91e,0x97d2d988,0x09b64c2b,0x7eb17cbd,0xe7b82d07,0x90bf1d91,
0x1db71064,0x6ab020f2,0xf3b97148,0x84be41de,0x1adad47d,0x6ddde4eb,0xf4d4b551,0x83d385c7,
0x136c9856,0x646ba8c0,0xfd62f97a,0x8a65c9ec,0x14015c4f,0x63066cd9,0xfa0f3d63,0x8d080df5,
0x3b6e20c8,0x4c69105e,0xd56041e4,0xa2677172,0x3c03e4d1,0x4b04d447,0xd20d85fd,0xa50ab56b,
0x35b5a8fa,0x42b2986c,0xdbbbc9d6,0xacbcf940,0x32d86ce3,0x45df5c75,0xdcd60dcf,0xabd13d59,
0x26d930ac,0x51de003a,0xc8d75180,0xbfd06116,0x21b4f4b5,0x56b3c423,0xcfba9599,0xb8bda50f,
0x2802b89e,0x5f058808,0xc60cd9b2,0xb10be924,0x2f6f7c87,0x58684c11,0xc1611dab,0xb6662d3d,
0x76dc4190,0x01db7106,0x98d220bc,0xefd5102a,0x71b18589,0x06b6b51f,0x9fbfe4a5,0xe8b8d433,
0x7807c9a2,0x0f00f934,0x9609a88e,0xe10e9818,0x7f6a0dbb,0x086d3d2d,0x91646c97,0xe6635c01,
0x6b6b51f4,0x1c6c6162,0x856530d8,0xf262004e,0x6c0695ed,0x1b01a57b,0x8208f4c1,0xf50fc457,
0x65b0d9c6,0x12b7e950,0x8bbeb8ea,0xfcb9887c,0x62dd1ddf,0x15da2d49,0x8cd37cf3,0xfbd44c65,
0x4db26158,0x3ab551ce,0xa3bc0074,0xd4bb30e2,0x4adfa541,0x3dd895d7,0xa4d1c46d,0xd3d6f4fb,
0x4369e96a,0x346ed9fc,0xad678846,0xda60b8d0,0x44042d73,0x33031de5,0xaa0a4c5f,0xdd0d7cc9,
0x5005713c,0x270241aa,0xbe0b1010,0xc90c2086,0x5768b525,0x206f85b3,0xb966d409,0xce61e49f,
0x5edef90e,0x29d9c998,0xb0d09822,0xc7d7a8b4,0x59b33d17,0x2eb40d81,0xb7bd5c3b,0xc0ba6cad,
0838デフォルトの名無しさん
2013/01/09(水) 02:28:39.970xe3630b12,0x94643b84,0x0d6d6a3e,0x7a6a5aa8,0xe40ecf0b,0x9309ff9d,0x0a00ae27,0x7d079eb1,
0xf00f9344,0x8708a3d2,0x1e01f268,0x6906c2fe,0xf762575d,0x806567cb,0x196c3671,0x6e6b06e7,
0xfed41b76,0x89d32be0,0x10da7a5a,0x67dd4acc,0xf9b9df6f,0x8ebeeff9,0x17b7be43,0x60b08ed5,
0xd6d6a3e8,0xa1d1937e,0x38d8c2c4,0x4fdff252,0xd1bb67f1,0xa6bc5767,0x3fb506dd,0x48b2364b,
0xd80d2bda,0xaf0a1b4c,0x36034af6,0x41047a60,0xdf60efc3,0xa867df55,0x316e8eef,0x4669be79,
0xcb61b38c,0xbc66831a,0x256fd2a0,0x5268e236,0xcc0c7795,0xbb0b4703,0x220216b9,0x5505262f,
0xc5ba3bbe,0xb2bd0b28,0x2bb45a92,0x5cb36a04,0xc2d7ffa7,0xb5d0cf31,0x2cd99e8b,0x5bdeae1d,
0x9b64c2b0,0xec63f226,0x756aa39c,0x026d930a,0x9c0906a9,0xeb0e363f,0x72076785,0x05005713,
0x95bf4a82,0xe2b87a14,0x7bb12bae,0x0cb61b38,0x92d28e9b,0xe5d5be0d,0x7cdcefb7,0x0bdbdf21,
0x86d3d2d4,0xf1d4e242,0x68ddb3f8,0x1fda836e,0x81be16cd,0xf6b9265b,0x6fb077e1,0x18b74777,
0x88085ae6,0xff0f6a70,0x66063bca,0x11010b5c,0x8f659eff,0xf862ae69,0x616bffd3,0x166ccf45,
0xa00ae278,0xd70dd2ee,0x4e048354,0x3903b3c2,0xa7672661,0xd06016f7,0x4969474d,0x3e6e77db,
0xaed16a4a,0xd9d65adc,0x40df0b66,0x37d83bf0,0xa9bcae53,0xdebb9ec5,0x47b2cf7f,0x30b5ffe9,
0xbdbdf21c,0xcabac28a,0x53b39330,0x24b4a3a6,0xbad03605,0xcdd70693,0x54de5729,0x23d967bf,
0xb3667a2e,0xc4614ab8,0x5d681b02,0x2a6f2b94,0xb40bbe37,0xc30c8ea1,0x5a05df1b,0x2d02ef8d,
0839デフォルトの名無しさん
2013/01/09(水) 07:16:17.33過去のテストでこのようなコードがでたのですが
ttp://ideone.com/zTUtAt
まったくわかりません。解説お願いします。
まずどこから考えればいいのでしょうか・・・。
0840桃白白
2013/01/09(水) 08:46:34.28arrayは
mainで[1, 2, 0]がセットされる。
functionで変更される。
mainで出力される。
functionでarrayの値がどう変わるのか考えればいい。
一回目のfunctionでは。
jは-3。
arrayの0番目には-3が加算される。
arrayは[-2, 2, 0]
jは3。
二回目のfunctionでは。
arrayは[-2, 2, 0]
arrayの2番目には3が加算される。
arrayは[-2, 2, 3]
jは-1。
arrayの1番目には-1が加算される。
arrayは[-2, 1, 3]
jは2。
arrayの0番目には2が加算される
arrayは[0, 1, 3]
jは-2。
0841デフォルトの名無しさん
2013/01/09(水) 14:46:50.03一応、makefileを自動で作成するツールはいくらでもあるけれど
君みたいな馬鹿が質問するレベルのことって、手書きのmakefileで十分な規模じゃないの?
0842デフォルトの名無しさん
2013/01/09(水) 14:49:43.18基本情報ぐらい取れば?
0843デフォルトの名無しさん
2013/01/09(水) 20:31:02.16このプログラムは何だか分からないけど、評価値って適応度(genotypeのfitness)のこと?
そうだとしたら、
// 遺伝子型の定義
struct genotype {
int gene[ml][N]; // 遺伝子
float fitness; // 適応度
};
↓
struct genotype {
int gene[ml][N]; // 遺伝子
float fitness[ml]; // 適応度
};
として、
evaluation();は
for(j=0; j<ml*N; j++) {
count += a[j];
}
↓
for(j=0; j<N; j++) {
count += a[j];
}
として、fitnessを設定するところでfitness[]それぞれについてevaluation();を呼び出す。
というのではいかが?
(fitnessを各5bitごとに持たせる。つまり、一個体につきfitnessを4つ持つことになるが良いのだろうか?)
0844デフォルトの名無しさん
2013/01/09(水) 20:33:37.260845デフォルトの名無しさん
2013/01/09(水) 21:17:03.56「独習C」になると歯が立ちません。その間を埋めるような教科書が無いでしょうか?
ポインタ、構造体などの基礎は理解しているつもりです。
たとえばレス ハンコックの「C言語入門」あたりなのでしょうか。
以上よろしくお願いします。
0846デフォルトの名無しさん
2013/01/09(水) 21:28:34.270847デフォルトの名無しさん
2013/01/09(水) 21:31:44.390848デフォルトの名無しさん
2013/01/09(水) 22:29:46.630849デフォルトの名無しさん
2013/01/10(木) 06:33:17.630850デフォルトの名無しさん
2013/01/10(木) 06:49:57.39一般人は5分で投げ出す。
翻訳者は高橋麻奈を見習えと言いたい。
0851デフォルトの名無しさん
2013/01/10(木) 09:19:03.770852デフォルトの名無しさん
2013/01/10(木) 09:25:29.86入門書ばっかり読む奴
全く素質無いから早く気づいてやめればいいのに
0853デフォルトの名無しさん
2013/01/10(木) 13:30:11.200854854
2013/01/10(木) 17:03:56.82char strload_y[] = "12345678901"; /* 11 桁 */
float loaded_y_float = atof(strload_y) / 10000000;
int loaded_y_int = atoi(strload_y) / 10000000;
上記において、割り算の結果を int に入れた時に数値がおかしくなる理由を教えてください。
Mac OS X 10.8.2(GCC 4.2.1)LP64(I32LP64)モデルです。
よろしくお願いいたします。
0855デフォルトの名無しさん
2013/01/10(木) 17:08:13.710856854
2013/01/10(木) 17:26:55.12ありがとうございました。11 桁の段階で既に int が扱える桁を超えていたということなのですね。
漠然としか理解できていなかったので助かりました!
0857デフォルトの名無しさん
2013/01/10(木) 18:24:38.750858854
2013/01/10(木) 18:49:45.54ありがとうございます。あの後調べたところ
long 型に変換する atol という関数があること
double 型に変換する atof と、atof が double 型を扱うことまで分かりました。
実際に使用しているプログラムでは 4 桁の数値を取り出すものだったので
たまたま問題にはならなかったみたいです。重ね重ねありがとうございました。
0859デフォルトの名無しさん
2013/01/10(木) 20:42:51.81Abort trap: 6
Segmentation fault: 11
など数字のついたメッセージを受け取ります。
他の数字のエラーメッセージを見てみたいのですが
これは何の規格で定義されているものですか?
0860デフォルトの名無しさん
2013/01/10(木) 20:44:27.310861デフォルトの名無しさん
2013/01/10(木) 20:50:43.4411 = SIGSEGV
Unix系なら<signal.h>付近に書いてある。
0862デフォルトの名無しさん
2013/01/11(金) 00:00:12.100863デフォルトの名無しさん
2013/01/11(金) 02:19:19.02Bに移行しろよ
0864デフォルトの名無しさん
2013/01/12(土) 23:29:53.77C言語で専ブラの画面を作るには、どのように作るのがベストなのでしょうか
C#で作られている専ブラのソース見てみたら、画面共通化されていない感じでした。
ちなみに、一番の問題はスレを表示する機能を実装する時に、
どのように高速動作 + 画像表示させるのかが問題になってくるかなと思っています。
0865デフォルトの名無しさん
2013/01/12(土) 23:31:32.430866デフォルトの名無しさん
2013/01/12(土) 23:36:07.81それでなくともショートカットやらマウスジェスチャやら
面倒は山積みだ
一番問題なのは2chブラウザにあたって
C言語を選定するその考えだ
0867デフォルトの名無しさん
2013/01/12(土) 23:37:09.660868864
2013/01/12(土) 23:37:19.15最初はwin32で作ろうかなと思ったのですが、面倒そうだったのでやめました
gtkを使ってプログラムしてこうかなって思ってます
過去に専ブラを作ろうと試みたこともあるのですが、スレを表示するのが難しくて困り果てました
表示するだけなら簡単だけど、画像を表示させたりすると難しいんですね
0869864
2013/01/12(土) 23:48:06.98.NETは会社で使っているので、スルーすることに決めました
>>867
それは過去に考えたことがあるんですが、独自描写でいきたいなと思ってます。
独自描写すればプログラム的に楽しそうだからです
0870デフォルトの名無しさん
2013/01/12(土) 23:50:54.930871デフォルトの名無しさん
2013/01/13(日) 00:16:25.060872デフォルトの名無しさん
2013/01/13(日) 00:32:50.72win32api が面倒とか言ってる奴が、C でやると言うのも理解できないけど、
そもそもなんで C++ でないのか?
まあ、それはそれでスレ違いになるけど。
0873デフォルトの名無しさん
2013/01/13(日) 00:42:10.180874デフォルトの名無しさん
2013/01/13(日) 01:12:12.85やめとけよ。
Cの標準ライブラリを見てみたか?
ブラウザを作れそうな機能なんて一つもないだろ?
そういう言語なんだよCは。
0875デフォルトの名無しさん
2013/01/13(日) 02:09:08.0520 ARGC=2:ARGV$(1)=">>874ボケが"
30 GOSUB *MAIN
40 END
100 *MAIN
110 PRINT ARGV$(1)
120 RETURN
0876デフォルトの名無しさん
2013/01/13(日) 11:59:25.23画像表示とか要らんので、lynxやmnewsみたいのを作って下せ。
0877デフォルトの名無しさん
2013/01/13(日) 12:05:20.43ゲームの画面みたいに全部独自のUIでやるのは面白いかもしれないな
そういうのないから大ヒットするかもしれんぞ
0878デフォルトの名無しさん
2013/01/13(日) 12:14:06.040879デフォルトの名無しさん
2013/01/13(日) 14:28:04.56freeglutとかで出来そう
0880デフォルトの名無しさん
2013/01/13(日) 14:52:14.037の倍数を抽出する部分は出来たのですが、一行に13個ずつ表示するという部分ができません。
授業では、if文とfor文しか扱っていないのでその範囲内で解決できるみたいです。
ご教授いただけると嬉しいです。よろしくお願いします。
0881デフォルトの名無しさん
2013/01/13(日) 14:57:50.46キューに貯めて
七個あったら一気に書き込み
0882デフォルトの名無しさん
2013/01/13(日) 15:06:05.08>一行に13個ずつ表示するという部分ができません。
13個出力したら、"\n" を出力するだけだろ。
0883デフォルトの名無しさん
2013/01/13(日) 15:10:22.12int main(void){
int count = 0;
for(int i = 1; i <= 200; i++){
if(i % 7 == 0){
printf("%d ",i);
count++;
if(count % 13 == 0){
printf("\n");
}
}
}
return 0;
}
0884デフォルトの名無しさん
2013/01/13(日) 15:14:00.230885デフォルトの名無しさん
2013/01/13(日) 15:22:00.000886デフォルトの名無しさん
2013/01/13(日) 17:14:41.970887デフォルトの名無しさん
2013/01/13(日) 17:20:35.14int main(int argc, char **argv, char **envp, char **apple);
0888デフォルトの名無しさん
2013/01/13(日) 17:21:08.260889デフォルトの名無しさん
2013/01/13(日) 17:35:12.75ていうかやってみたら実際に入ってた。
おおっぴらに使っていいもんではないのかも。
0890デフォルトの名無しさん
2013/01/13(日) 17:45:10.550891デフォルトの名無しさん
2013/01/13(日) 18:03:22.58そっちは書き換えるアプリがあるせいかね。
と思ったけどまったく同じでもないっぽい。
http://unixjunkie.blogspot.jp/2006/02/char-apple-argument-vector.html
0892デフォルトの名無しさん
2013/01/13(日) 20:37:28.450893デフォルトの名無しさん
2013/01/13(日) 21:08:38.17#define void int
0894デフォルトの名無しさん
2013/01/13(日) 21:17:19.16入門者が本気にするだろw
0895デフォルトの名無しさん
2013/01/13(日) 22:54:58.07予約語って書き換えできるっけ?
0896デフォルトの名無しさん
2013/01/13(日) 23:02:39.51できたよ
http://ideone.com/YJVWwH
0897デフォルトの名無しさん
2013/01/13(日) 23:22:30.52で、写像の意味を理解してないから、減点くらう訳ですね。
0898デフォルトの名無しさん
2013/01/13(日) 23:27:44.740899デフォルトの名無しさん
2013/01/13(日) 23:34:08.68プリプロセッサの気持ちはよく分かる
プリプロセッサ可愛いや
可愛いやプリプロセッサ
0900デフォルトの名無しさん
2013/01/13(日) 23:53:43.12黙って見ている蒼井そら
0901デフォルトの名無しさん
2013/01/14(月) 02:10:18.27UIって今後はjsで標準化されてくよ
QMLやgnome-shell、silverlight、javafx辺りが良い例。
0902デフォルトの名無しさん
2013/01/14(月) 02:38:06.680903デフォルトの名無しさん
2013/01/14(月) 02:41:03.09コマンドインタプリタ次第。
相対パスの場合もあれば、aliasの場合もある。
0904デフォルトの名無しさん
2013/01/14(月) 02:43:09.830905デフォルトの名無しさん
2013/01/14(月) 02:46:31.85ttp://ideone.com/soEDca
では、
argv[0]=./prog
と出た
0906デフォルトの名無しさん
2013/01/14(月) 04:28:45.10void a(int year, int month, int day){
struct tm b;
time_t c;
b.tm_year = year -1900;
b.tm_mon = month - 1;
b.tm_mday = day;
b.tm_hour = 0;
b.tm_min = 0;
b.tm_sec = 0;
c=mktime(&b);
/*
*/
}
関数を作っていてこれのmktimeの部分でエラーが出てコンパイルできないのですがなにが原因でしょうか
0907デフォルトの名無しさん
2013/01/14(月) 04:38:09.77どんな[エラー]?
こちらでは、
「関数 a(); で c に値がセットされたが使われていない」
というような[警告]は出るけどコンパイルは通るよ。
0908デフォルトの名無しさん
2013/01/14(月) 04:56:43.16Windowsではフルパスだよね
0909デフォルトの名無しさん
2013/01/14(月) 09:14:03.760910859
2013/01/14(月) 16:52:31.42>>861
ISO の規格に載っていたとは、検索の仕方がわるかったです。
>>862
iPhone アプリ制作の基礎として C 言語を学んでいるので
UNIX の知識はあまりありません。時間を見て調べてみます。
0911デフォルトの名無しさん
2013/01/14(月) 18:30:22.14マジかよ・・・
0912デフォルトの名無しさん
2013/01/14(月) 19:01:10.810913デフォルトの名無しさん
2013/01/14(月) 19:06:48.980914デフォルトの名無しさん
2013/01/14(月) 19:11:55.920915デフォルトの名無しさん
2013/01/14(月) 20:23:31.00ゲームのチートツールなどを作りたいと思っているのですが
これに特化した言語はありますか?全ての言語で出来ると良いんですが・・・
0916デフォルトの名無しさん
2013/01/14(月) 20:36:57.470917デフォルトの名無しさん
2013/01/14(月) 20:40:14.02かっこいいwwwありがとうございます!
0918デフォルトの名無しさん
2013/01/14(月) 20:41:31.100919デフォルトの名無しさん
2013/01/14(月) 20:58:04.62いいなら、1級までとる。
http://www.shikakude.com/minsikakupaje/cgengo.html
0920デフォルトの名無しさん
2013/01/14(月) 21:00:04.13なんかしらんが宿題スレがいま盛況だからちょうどいい
0921デフォルトの名無しさん
2013/01/14(月) 21:13:43.600922デフォルトの名無しさん
2013/01/14(月) 21:16:33.63レバーの魅力を語って
0923デフォルトの名無しさん
2013/01/14(月) 21:25:11.520924デフォルトの名無しさん
2013/01/14(月) 21:26:28.32お前って馬鹿だな
0925デフォルトの名無しさん
2013/01/14(月) 21:40:49.51会社でその資格に対して手当てとか出るなら、とったほうが良い。
そうでないなら、とる意味なし。
0926デフォルトの名無しさん
2013/01/15(火) 09:45:46.350927デフォルトの名無しさん
2013/01/15(火) 15:54:05.34違うのが資格の有無だけなら資格ありの方を選ぶだろ普通は。
資格があるということは、それだけの水準であることと、その水準になろう
という「やる気」がある証明になる。
資格が無いことは、水準もやる気も無いことの証明にはならないが、
「ある」かどうか分からない。
それなら、「ある」ことが分かっている、有資格者を選ぶだろ。
資格は役に立つ。やる気アピールの一つの表現方法でもある。
それを否定するのは人を選んだこと無い証拠。
と、当たり前のことだが書かずにはいられないな。
0928デフォルトの名無しさん
2013/01/15(火) 16:14:32.17このまま実行するとどういった不具合が起こるのでしょうか??
0929デフォルトの名無しさん
2013/01/15(火) 16:19:28.90787が墜落する
0930デフォルトの名無しさん
2013/01/15(火) 16:26:11.270931デフォルトの名無しさん
2013/01/15(火) 16:50:36.06表示方法として循環部分を()でくくる方法にしたいです。
例えば5÷7なら0.(714285)の様に表示させたいです。
0932デフォルトの名無しさん
2013/01/15(火) 16:51:23.63そういうライブラリがあったはず
0933デフォルトの名無しさん
2013/01/15(火) 17:08:15.17ポインタを使ったものが見つからないのですが、詳しく教えていただけませんか?
0934デフォルトの名無しさん
2013/01/15(火) 17:41:47.07探索していく、というプログラムを組みたいのですがどのように組んだらよいのでしょうか??
例えば、「10010010101110100101」という並びから最初の5bitを見て、「10010」
であればある変数に点数を加え、次の5bitを見ていき同様のことを繰り返していきます。
説明が下手ですみません。よろしくお願いします。
0935デフォルトの名無しさん
2013/01/15(火) 17:46:26.920936デフォルトの名無しさん
2013/01/15(火) 18:37:05.41官僚の天下り先を作る為に生み出された資格でしかないのに馬鹿じゃないの
そもそも客も資格持ってないから高度資格持ってたら逆に生意気だと思われたり
無茶な仕事振られたりするリスクが増えるだけ
本当に優秀な奴は実務経験で語る
0937デフォルトの名無しさん
2013/01/15(火) 18:39:59.31地頭も過去の経歴も年齢も全く同じ奴なんかいるわけないだろ
資格見る前に別の要素で勝負は決まるわ
0938デフォルトの名無しさん
2013/01/15(火) 18:43:23.240939デフォルトの名無しさん
2013/01/15(火) 18:46:21.41大体天下りの時代遅れのおっさんが問題作ってるんだから業務の役に立つわけが無い
なんなんだあの午後の問題はただの現代文の読解問題じゃないかあんなのでITスキルを図れると思っている方がおかしい
資格なんか取るくらいなら家でプログラミングしてapple storeにアプリ登録するとか
趣味でツールでも作ってsource forge辺りに登録でもしてる方が何倍もマシ
こういった活動は面接でもアピールになるしな
0940デフォルトの名無しさん
2013/01/15(火) 18:49:59.660941デフォルトの名無しさん
2013/01/15(火) 18:50:42.22vimをダウンロードしろ
ソフトウェア開発の素養のないドキュメント製作しか能のない
馬鹿たれどもが分かったか
0942デフォルトの名無しさん
2013/01/15(火) 18:52:36.26受注した仕事ほとんど外注にやらせて社員は資格の勉強してる会社見た事あるわw
0943デフォルトの名無しさん
2013/01/15(火) 18:55:04.610944デフォルトの名無しさん
2013/01/15(火) 18:59:25.840945デフォルトの名無しさん
2013/01/15(火) 19:03:56.58正直地頭悪いと取れない資格だと思う。
0946デフォルトの名無しさん
2013/01/15(火) 19:04:21.14何のために情報技術の世界に足を踏み入れたんだ
ソフトウェアを作りたいという純粋な気持ちからではなかったか
仕事がとれればどうでもいい
金さえ儲かればどうでもいい
面倒なことは下請けに押し付ければいい
こんな考えは人として間違っているのではないか
自分では何も生み出さず他人の成果を奪うだけの行為は間違っているのではないだろうか
0947デフォルトの名無しさん
2013/01/15(火) 19:13:18.130948デフォルトの名無しさん
2013/01/15(火) 19:57:07.40>同じような能力の2人が居て
資格の有無に着目するより本当に「同じような能力」なのかを見るべきでは?
0949デフォルトの名無しさん
2013/01/15(火) 19:58:00.08輪になって踊る数
1/7 = 142857/999999 = 0.142857143857142857...
0950デフォルトの名無しさん
2013/01/15(火) 20:12:59.39その能力を見極めるチャンスを与えてもらえる取っ掛かりになりえるんだよ。
資格がなければ門前払いもある。
いままでの実績も一つの指標であるが、その実績を作るために資格も学歴も無い
どこぞの馬の骨を雇ってくれた最初の人に感謝しろよ。
今の時代、そんな馬の骨が通用するかよ。まったく…
とにかく書きまくれってヤツ。
自己流の勘違い野郎を増長させるな。
0951デフォルトの名無しさん
2013/01/15(火) 20:27:08.12あとは読みまくれ書きまくれ
>自己流の勘違い野郎
それは書く量の絶対的不足を示唆しているに過ぎない。
0952デフォルトの名無しさん
2013/01/15(火) 20:37:44.43設計よりもいきなりコーディング。
設計の抜けを盛り込むためあちこちの関連を修正。
修正漏れで謎のバグ。
ちょっとした仕様変更で詰んで、
「健康理由により退職します…」
残された大卒・資格持ちが尻拭い。
0953デフォルトの名無しさん
2013/01/15(火) 20:47:17.62設計は普通大卒資格餅がするんだろう?なんで高卒に振るの?
0954デフォルトの名無しさん
2013/01/15(火) 20:47:59.720955デフォルトの名無しさん
2013/01/15(火) 20:52:16.28〜
char x;
x = +;
〜
ではダメだったので・・・
0956デフォルトの名無しさん
2013/01/15(火) 20:53:14.080957デフォルトの名無しさん
2013/01/15(火) 20:56:41.830958デフォルトの名無しさん
2013/01/15(火) 20:57:31.56??????
>>955
char hoge;
hoge = '+';
0959デフォルトの名無しさん
2013/01/15(火) 20:57:36.44文字なら'+'
0960955
2013/01/15(火) 20:59:53.54解決できました!
0961デフォルトの名無しさん
2013/01/15(火) 21:04:06.610962デフォルトの名無しさん
2013/01/15(火) 21:47:47.51土建業者か何かと勘違いしているから昭和生まれのロートル脳は困る
Linuxを開発したリーナス・トーバルズは設計書だけ書いて実装は下請け丸投げなんかしてるかよ
実装もやるし経験を積んだら実装+設計をやるのが正しい進化だ
それを何を勘違いしたか経験を積んだら下請け丸投げでふんぞり返ってるだけでピンはね丸儲けだと思ってる
全然違いますから!
0963デフォルトの名無しさん
2013/01/15(火) 21:50:25.44C言語初めて10分で得られる知識だろ。
0964デフォルトの名無しさん
2013/01/15(火) 22:10:10.41寂しかったんだねっ!
0965デフォルトの名無しさん
2013/01/15(火) 22:20:11.270966デフォルトの名無しさん
2013/01/15(火) 22:30:00.03プログラムをビルドする(不安定な)ツールである
0967デフォルトの名無しさん
2013/01/15(火) 22:53:58.14じゃあお前も真似すればええやん
0968デフォルトの名無しさん
2013/01/15(火) 23:02:38.70日本語でおk
0969デフォルトの名無しさん
2013/01/15(火) 23:20:26.60無駄に人件費を消耗して開発力を落としてるから家電メーカーは馬鹿にしていた韓国に負けるし
最後の砦であるところの自動車メーカーもソフトウェアの比重が高まるにつれて日本メーカーの
優位性が損なわれていっている。現に自動車の完全自動操縦機能なんか何十年も自動車開発
してきたトヨタがぽっと出のgoogleに先を越されてしまっている昭和生まれのハードウェア脳の
年寄りが支配するメーカーが革新的な製品を生み出せるはずがないこの国は年寄りが若者を
搾取するだけの未来の無い終わった国だエコカー減税だエコポイントだ税金を投入しないと利益
を出せない昭和な企業は倒産するべきだし税金は若者主導のベンチャー企業に使うべきだ
メーカー製PCのバンドルソフトなんか見ても分かるだろなんだあのセンスのないソフトウェアは
あんなのの開発費に税金が投入されているんだぞ年寄りの安定雇用のために存在する国なのかここは
0970デフォルトの名無しさん
2013/01/15(火) 23:40:29.580971デフォルトの名無しさん
2013/01/15(火) 23:42:51.480972デフォルトの名無しさん
2013/01/15(火) 23:44:36.27禿同
0973デフォルトの名無しさん
2013/01/16(水) 00:17:17.740974デフォルトの名無しさん
2013/01/16(水) 00:22:52.23入門の内容にしか答えられない人がハバを利かせてるスレの意
0975デフォルトの名無しさん
2013/01/16(水) 00:48:55.390976デフォルトの名無しさん
2013/01/16(水) 00:53:45.820977デフォルトの名無しさん
2013/01/16(水) 00:58:45.670978デフォルトの名無しさん
2013/01/16(水) 01:05:34.280979デフォルトの名無しさん
2013/01/16(水) 01:55:59.17int *pA , a=5;
pA = &a;
の場合はpAにaのアドレスが格納されますが
pA = a;
とした場合はaのアドレスが格納されず、aに格納されている5が代入されるだけですか?
0980デフォルトの名無しさん
2013/01/16(水) 01:56:49.310981デフォルトの名無しさん
2013/01/16(水) 01:56:58.860982デフォルトの名無しさん
2013/01/16(水) 01:57:20.94printfしてみ
0983979
2013/01/16(水) 01:57:36.230984デフォルトの名無しさん
2013/01/16(水) 02:18:26.32*pAには変数aが格納されてるってことでいいの?
0985デフォルトの名無しさん
2013/01/16(水) 02:23:27.780986デフォルトの名無しさん
2013/01/16(水) 03:23:01.55void func(int n)
{
printf("%d\n",n);
// return がない
}
return を書かないと、どうも気持ちが悪いのですが、たまに書き忘れてしまいます。
上記のコードをコンパイルエラーか、警告がでるようにしたいのですが、何か良い方法はないでしょうか?
0987デフォルトの名無しさん
2013/01/16(水) 03:38:14.630988デフォルトの名無しさん
2013/01/16(水) 03:50:11.38C言語の規格として、関数本体の終わりまでreturn文に出会わなかった場合、
そこに式のないreturn文があると見なされることになっている
特にバグの原因になるとも思えないし、書かなくて気持ち悪いというより、
省略できて便利だなあぐらいに思っておけば?
0989デフォルトの名無しさん
2013/01/16(水) 04:03:16.69ttp://ideone.com/qhRlqh
0990デフォルトの名無しさん
2013/01/16(水) 04:42:02.06C言語なら俺に聞け(入門編)Part 112
http://toro.2ch.net/test/read.cgi/tech/1358278884/
0991デフォルトの名無しさん
2013/01/16(水) 06:44:34.75格納されている文字列配列に、入力された数値に対応する文字列配列を出力するプログラムなのですが
文字列配列の数が増えると比例してmoji関数内の繰り返し文も増えてしまうのでコンパクトに出来ないでしょうか?
0992デフォルトの名無しさん
2013/01/16(水) 07:02:54.36「継続」の実装。
ttp://www.shido.info/lisp/scheme_cc.html
0993デフォルトの名無しさん
2013/01/16(水) 07:23:16.31returnがないのに慣れろ
妙な癖付けられると、そのソースいじる他の人にとっちゃたまったもんじゃない
0994デフォルトの名無しさん
2013/01/16(水) 07:24:40.82ttp://codepad.org/t74mO8zh
0995デフォルトの名無しさん
2013/01/16(水) 08:46:22.72例
if(! function() ) {
/* エラーならここにきます */
}
0996デフォルトの名無しさん
2013/01/16(水) 09:25:36.490997デフォルトの名無しさん
2013/01/16(水) 12:27:36.92実際は金額の安い方です
0998デフォルトの名無しさん
2013/01/16(水) 12:36:24.18returnを書き忘れないように気をつけるか
いっそのこと、returnを書かないようにするしかないのか・・・
0999デフォルトの名無しさん
2013/01/16(水) 12:36:41.48馬鹿の目線で考えないと
1000デフォルトの名無しさん
2013/01/16(水) 12:47:26.5810011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。