C言語なら俺に聞け(入門編)Part 120

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
C言語の入門者向け解説スレッドです。

★前スレ
C言語なら俺に聞け(入門編)Part 119
http://toro.2ch.net/test/read.cgi/tech/1378291160/
★過去スレ
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++の宿題片付けます 165代目
http://toro.2ch.net/test/read.cgi/tech/1370255305/
★C++言語については避けてください。C++対応明記スレへどうぞ。
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
  # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。
  # サイズが大きい場合はアップローダ等を利用してください。
http://codepad.org/
http://ideone.com/
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
2デフォルトの名無しさん:2013/09/27(金) 19:57:08.71
< `∀´>ニダー
3デフォルトの名無しさん:2013/09/27(金) 20:15:41.15
前スレ>>988が気になって眠れないんですがどっちなのでしょうか?
4デフォルトの名無しさん:2013/09/27(金) 20:21:45.82
#include <stdio.h>
int main(int argc, char **argv)
{
while (*argv) {
while (**argv) {
printf("%c", **argv)
(*argv)++;
}
putchar('\n');
argv++;
}
return 0;
}

ポインタを学習するのに最適なコード
gcc -S test.cでおk

ポインタ厨滅殺のため、テンプレ追加でオナシャス!!!
5デフォルトの名無しさん:2013/09/27(金) 20:25:50.40
>>4
argvって最後にNULL入るんだな。初めて知った。
6デフォルトの名無しさん:2013/09/27(金) 20:26:33.25
>>3

>>4に対して
987 名前:デフォルトの名無しさん[sage] 投稿日:2013/09/27(金) 19:08:21.67
>>984
こうやって関係あるな
(*argv)++;

*argv++;
との違い

988 名前:デフォルトの名無しさん[sage] 投稿日:2013/09/27(金) 19:23:42.68
それはインクリメントされるモノまで違う

990 名前:デフォルトの名無しさん[] 投稿日:2013/09/27(金) 19:31:56.27
インクレメントされるのはアドレスですが?

996 名前:デフォルトの名無しさん[] 投稿日:2013/09/27(金) 20:01:58.97
>>988
マジかよこんな奴でもマやってられるのかよ
俺なんかマにもってこいだな
Googleあたりやとってくれないかな

998 名前:デフォルトの名無しさん[] 投稿日:2013/09/27(金) 20:08:54.09
>>990
本当か?

999 名前:デフォルトの名無しさん[sage] 投稿日:2013/09/27(金) 20:19:08.65
>>996
この馬鹿何いってんの?
7デフォルトの名無しさん:2013/09/27(金) 20:29:00.96
>>4
以前、バグってるコードを調べたら、これみたいに引数の数をargcじゃなくて
*argvがnullかどうかで調べてたんだよな。

argcを使わなくて引数の終わりをチェックするなんて、そのコードと>>4でしか
見たことないんだけど、どうやって思いつくんだろう。

昔はそうやって書いてたとか?
8デフォルトの名無しさん:2013/09/27(金) 20:31:01.64
>>7
c89の仕様
9デフォルトの名無しさん:2013/09/27(金) 20:32:44.35
>>8
Solarisだと、NULLが入ってなくてバグってたんだけど環境依存じゃなくてCの規格なのかね。
10デフォルトの名無しさん:2013/09/27(金) 20:33:37.62
>>4
発想は素晴らしい、がコードは糞
11デフォルトの名無しさん:2013/09/27(金) 20:35:33.21
>>6
で、どっちが正しいの?><
12デフォルトの名無しさん:2013/09/27(金) 20:37:06.52
プログラミング言語C 第2版 P140
標準規格では・・・argv[argc]はヌル・ポインタであることが要求される。
13デフォルトの名無しさん:2013/09/27(金) 20:40:01.13
規格ってのは、こうなっていて欲しいなあ、と言っているだけ
実際に「正しい」のは、規格に違反している部分にも対応しているコード

別に難しい概念じゃない
いくら自分が法律を守っていても、巷にはチンピラヤクザの類がいる
渡る世間は鬼ばかりってやつだよ

それでも結果を出せるやつが「正しい」んだよ
14デフォルトの名無しさん:2013/09/27(金) 20:42:34.35
>>13
ワナビはお帰りください
15デフォルトの名無しさん:2013/09/27(金) 20:46:15.74
>>10
while (*s++ = *t++)
のもダメか?
16デフォルトの名無しさん:2013/09/27(金) 20:48:06.91
ほらな、こういう根拠法令のない不当要求てのはあるんだよ

かかる火の粉は払わにゃならん
>>14
アホ、カス、クズ、首吊って死ね
17デフォルトの名無しさん:2013/09/27(金) 20:48:37.23
>>15
平凡過ぎ乙
strcpy()自作してみ
18デフォルトの名無しさん:2013/09/27(金) 20:49:28.03
>>15
K&Rだろうと駄目なものは駄目だな。
19デフォルトの名無しさん:2013/09/27(金) 20:51:28.03
>>12
知らなかった。
正統な書き方だったんだな。
20デフォルトの名無しさん:2013/09/27(金) 20:51:44.14
>>4
このコード何の処理してるのかさっぱりわからないのだが、俺に教えてくれなイカ?
21デフォルトの名無しさん:2013/09/27(金) 20:51:57.96
何がダメなのか、結局「俺ルール」の域を出ないkzホイホイ
22デフォルトの名無しさん:2013/09/27(金) 20:52:58.59
>>20
コマンドライン引数でggrks
23デフォルトの名無しさん:2013/09/27(金) 20:53:15.97
#include <stdio.h>
int main(int argc, char **argv)
{
while (*argv) {
while (**argv) {
putchar( *((*argv)++) );
}
putchar('\n');
argv++;
}
return 0;
}

さらにクソにしてみた
24デフォルトの名無しさん:2013/09/27(金) 20:54:26.58
>>20
実行してみれば?
領域違反になるかもしれんが
25デフォルトの名無しさん:2013/09/27(金) 20:55:45.63
>>24
なんでだよ
26デフォルトの名無しさん:2013/09/27(金) 20:57:12.87
>>24
脳内デバッグ失敗wwwwwwww
27デフォルトの名無しさん:2013/09/27(金) 20:59:57.55
顧客が本当に必要だったもの。

#include <stdio.h>
int main(int argc, char **argv)
{
while (*argv) {
puts(*argv++);
}
return 0;
}
28デフォルトの名無しさん:2013/09/27(金) 21:03:05.67
>>27
ポインタからやりなおせ
29デフォルトの名無しさん:2013/09/27(金) 21:04:20.47
>>28
あんだって?wwww
30デフォルトの名無しさん:2013/09/27(金) 21:05:15.64
バカすぎるだろ
入院しろ
31デフォルトの名無しさん:2013/09/27(金) 21:06:22.90
この程度も読めないのに煽ってたのwwww
うわーww
32デフォルトの名無しさん:2013/09/27(金) 21:18:13.96
ポインタ説明してプログラムの動きを間違えてるな

ttp://www.grapecity.com/japan/powernews/column/clang/021/page03.htm
文字列中でスペース(0x20)が何文字目に現れるかを調べる場合、文字列から1文字ずつ取り出してはその内容を調べる
──という動作を行うことになります。そのためには、リスト1のような流れが考えられます。

リスト1:文字列からスペースの現れる位置を調べる〜冗長なソース
char *p; --------------- 取り出した1文字を受け取る
int n = 0; ------------- カウンタ
p = "Hello world!"; ---- 文字列の先頭アドレスを代入

while (*p != '\0') { --- 終端まで繰り返す
if (*p != 0x20) { ---- スペースでないとき
n++; --------------- カウンタを増加
p++; --------------- 次の1文字へ
}
else { --------------- *pがスペースのとき
printf("%d 文字目にスペースを発見しました。\n", n+1);
}

リスト2:文字列からスペースの現れる位置を調べる〜簡略版
char *p;
int n = 0;
p = "Hello world!";

while (*p++) {
if (*p != 0x20) { /* スペースでないとき */
n++;
}
else {
printf("%d 文字目にスペースを発見しました。\n", n+1);
}
33デフォルトの名無しさん:2013/09/27(金) 21:20:01.96
>>32
リスト1バグってるじゃん
34デフォルトの名無しさん:2013/09/27(金) 21:23:49.24
Precedence Operator Description           Associativity
2        ++     Suffix/postfix increment   Left-to-right
3        *      Indirection (dereference)  Right-to-left
35デフォルトの名無しさん:2013/09/27(金) 22:50:39.79
36デフォルトの名無しさん:2013/09/27(金) 23:20:15.31
>>12
だったら、argc なんてつけなきゃよかったのにな。
引数の終わりを示す情報が複数あるのはバグの元だし。
37デフォルトの名無しさん:2013/09/27(金) 23:26:48.88
>>36
要するにPerlさいつよ他は糞ってことだ
38デフォルトの名無しさん:2013/09/28(土) 00:55:15.79
× さいつよ
 さいきょう
39デフォルトの名無しさん:2013/09/28(土) 00:56:15.79
argvって何のためにあるんだろう。
コマンドラインから入力ってCUIの世界だけじゃん。
40デフォルトの名無しさん:2013/09/28(土) 01:00:44.61
>>39
と思うじゃん?
41デフォルトの名無しさん:2013/09/28(土) 01:02:50.09
>>40
実際は?
42片山博文MZコスモ ◆T6xkBnTXz7B0 :2013/09/28(土) 01:09:25.77
GUIがCUIプロセスをパイプにつなげて、こきつかってることもある。典型的な例がIDE。
43デフォルトの名無しさん:2013/09/28(土) 01:18:20.86
うひゃ、これ読んでみろって言われた

char (*(*x[3])())[5];
44デフォルトの名無しさん:2013/09/28(土) 01:18:21.78
>>39
Windowsではドラッグアンドドロップされたファイルはコマンドラインから渡される
45デフォルトの名無しさん:2013/09/28(土) 01:43:07.88
>>44
参考になるソースとかサイトはありませんか。
46デフォルトの名無しさん:2013/09/28(土) 01:45:18.80
lpszCmdLineでググる
47デフォルトの名無しさん:2013/09/28(土) 02:08:00.99
>>45
なんで>>44に出てきた単語を検索窓に入れることすらできないんだよゴミ
48デフォルトの名無しさん:2013/09/28(土) 02:31:30.76
>>45
Win32apiスレにあるよ
49 ◆QZschizo.ptH :2013/09/28(土) 03:29:11.03
>>44
すでに起動しているアプリの上にD&Dされたら、
WM_DROPFILES:
hDrop = (HDROP)wp;
DragQueryFile((HDROP)wp, 0xFFFFFFFF, 0, 0))
DragQueryFile(hDrop, 0, sFileName, sizeof(sFileName));
じゃなかったかと
50デフォルトの名無しさん:2013/09/28(土) 07:03:50.26
>>13
規格に準拠してない処理系やコードは「C言語」を名乗れない
C言語の規格を真似したなんだかよくわからん言語でしかないよ
51デフォルトの名無しさん:2013/09/28(土) 09:35:08.45
>>49
うんこのくせにレスつけるんじゃねー
全然違う
52デフォルトの名無しさん:2013/09/28(土) 11:55:25.77
おまえらQZに嫉妬しすぎだろ
くやしかったら実力つけろ
53デフォルトの名無しさん:2013/09/28(土) 12:28:57.82
それがどういう目的の煽りかよく分からない
QZの実力がこのスレ住人の平均の1割程度なのはバレてるから嫉妬というより同情しかできないし
そりゃ実力をつけるに越したことはないけど、あまりにも底辺にいると比較されると自分の実力がかなりあるように感じるし

真意が分からなくてもどかしい
54デフォルトの名無しさん:2013/09/28(土) 12:55:50.18
>>50
それで詐欺に問われた判例は?
55デフォルトの名無しさん:2013/09/28(土) 13:11:46.32
>>54
C言語の規格を真似したなんだかよくわからん言語にC言語と名付けてもまぁ詐欺にはならんと思うよ
56デフォルトの名無しさん:2013/09/28(土) 14:23:34.22
>>52
自演飽きないか?
57デフォルトの名無しさん:2013/09/28(土) 14:31:32.45
Qzが駄目なところ
他人が指摘した内容なのに自分が調子にのるところ
58デフォルトの名無しさん:2013/09/28(土) 14:33:44.82
>>43
スルーされてるけど、char* [5]を返す
関数ポインタ(void)型[3]要素配列でいいんだよな?
59デフォルトの名無しさん:2013/09/28(土) 14:40:18.12
lsでプログラムのサイズを調べてドヤ顔するゴミくずだから
60デフォルトの名無しさん:2013/09/28(土) 14:42:54.80
関数は普通の配列であれポインタ配列であれ配列は返せないだろ
ポインタ配列へのポインタなら返せるけど
61デフォルトの名無しさん:2013/09/28(土) 14:43:18.76
VC++でデバッグした後、おかしくてプログラム見直したら
全く書いた覚えのないコードが付け加えられたんですがウイルスですかね?
62デフォルトの名無しさん:2013/09/28(土) 14:46:07.60
違げーよ
>>43はchar [5]へのポインタを返す関数ポインタ(void)型[3]要素配列
63デフォルトの名無しさん:2013/09/28(土) 14:53:37.37
>>61
変なクスリやってるからそういうことになるんだろ
64デフォルトの名無しさん:2013/09/28(土) 14:55:49.52
これなら問題なくコンパイル出来て動く

char (*func(void))[5]
{
static char a[5] = "abcd";

return &a;
}

int main(void)
{
char (*(*x[3])(void))[5] = { func, func, func };

puts(*(x[0]()));

return 0;
}
65デフォルトの名無しさん:2013/09/28(土) 14:59:06.84
配列は返せないけど配列をメンバーに持つ構造体なら返せる。
Cってなんかダメだよな。
66デフォルトの名無しさん:2013/09/28(土) 15:02:18.85
>>55
程度問題だろうけど、その手の奴をベンダーが販売したら詐欺に問われてもおかしくないと思うが。
67デフォルトの名無しさん:2013/09/28(土) 15:08:40.98
>>66
全然珍しくないんだが
68デフォルトの名無しさん:2013/09/28(土) 15:24:58.35
独自拡張とかバグとかはあるけど、ぜんぜん違う言語をCって言ってるのはないだろ。
basicやCOBOLは方言バリバリだけど。
69デフォルトの名無しさん:2013/09/28(土) 15:50:00.04
「C」のくせにSmalltalkが使える言語とか
70デフォルトの名無しさん:2013/09/28(土) 16:01:07.75
obj-cとかC++とか、一応違う名前になってる
71デフォルトの名無しさん:2013/09/28(土) 16:01:55.23
やっとC99対応に乗り出したマイクロソフトさん
72デフォルトの名無しさん:2013/09/28(土) 17:15:51.00
>>70
その辺はまだ当時のCを最大限活かせるよう設計したからいいが
C#は何故Cを頭に付けたのかもはや解らんな…
73デフォルトの名無しさん:2013/09/28(土) 17:26:51.96
Cってつけときゃ勘違いした初心者が触ってくれる
74デフォルトの名無しさん:2013/09/28(土) 17:30:30.58
Mac版Xamarin Studioが超絶バージョンアップ!C言語やD言語、F言語にも対応!Visual Studio不要に
http://engawa.2ch.net/test/read.cgi/poverty/1380351550/
75デフォルトの名無しさん:2013/09/28(土) 17:44:32.90
>>56
自演じゃねーよ
自演して何が楽しいんだ?
76デフォルトの名無しさん:2013/09/28(土) 17:44:33.26
コピペマン参上!まで読んだ。
77デフォルトの名無しさん:2013/09/28(土) 17:56:43.74
潮騒のメモリー107歳はおばあちゃん禿げしくーwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
78デフォルトの名無しさん:2013/09/28(土) 17:58:37.79
ごめん、スレ間違った
79デフォルトの名無しさん:2013/09/28(土) 18:24:31.29
(´・ω・`)
80デフォルトの名無しさん:2013/09/28(土) 18:41:25.12
何行かあるファイルを読み込んで、中身の文字列を行毎に逆にして新たなファイルに書き出すにはどうすればいいですか?
ファイルを読み込む&書き出すは分かるのですが、肝心の行毎に逆にする作業がわかりません。
81デフォルトの名無しさん:2013/09/28(土) 18:45:09.12
だいたいC系って読みにくいんだよ
読めるけど言葉のリズムが悪い

しーぷらすぷらす
しーしゃーぷ
おぶじぇくてぃぶしー

そこで俺は新しいC系言語の名前として「C$」を提案する
読み方は「しーどる」!!
シーフードカップヌードルを彷彿とさせるスッキリとした名前だ
82デフォルトの名無しさん:2013/09/28(土) 18:49:28.34
>>80
ダブルポインタの扱いまで習得してから出直せ

ダブルポインタまで使いこなせるようになったら
strchrで\nを検索して
各行頭のアドレスを配列に入れ
最後にforで回して逆に書き出す
83片山博文MZコスモ ◆T6xkBnTXz7B0 :2013/09/28(土) 18:49:47.98
fgetsで一行読み込む。
strrevで文字列反転。
fputsで一行書き込む。
EOFまで繰り返す。
84片山博文MZコスモ ◆T6xkBnTXz7B0 :2013/09/28(土) 18:54:47.85
あっ、一行読み込んだ後に'\n'を取り除き、一行書き込むときに'\n'を書き込む処理が必要だった。
85 ◆QZschizo.ptH :2013/09/28(土) 18:55:19.60
>>51
いや「すでに起動しているアプリの上にD&Dされたのであれば」、これであってるね。
他の方法でもあるのか?
86デフォルトの名無しさん:2013/09/28(土) 18:59:16.19
ABCは知ってても、それだけじゃ困ります。
87 ◆QZschizo.ptH :2013/09/28(土) 19:01:25.41
>>65
K&R1の昔は構造体も返せなかった
巨大な構造体を返す馬鹿はいないと善意に解釈したのが愚かであった
構造体を返せるようにしたとたん、配列をメンバーに持つ構造体なら返せるとかほざく輩が湧き出てきた
88デフォルトの名無しさん:2013/09/28(土) 19:07:50.15
>>81
実際にはシーダラーと呼ばれる運命なので却下
89デフォルトの名無しさん:2013/09/28(土) 19:07:58.44
system("tac abc.txt");
90デフォルトの名無しさん:2013/09/28(土) 19:19:14.72
Cって文字扱い難くね
他のスクリプト言語やM$言語なんかは1つの関数でフォーマット変えたり分割できたりするのに
91デフォルトの名無しさん:2013/09/28(土) 19:22:56.09
修行が足りん
92デフォルトの名無しさん:2013/09/28(土) 19:24:34.10
その分処理速度は早い
スクリプト言語と比べたら100倍レベルで違うんじゃないかな
93デフォルトの名無しさん:2013/09/28(土) 19:26:49.79
>>85
ゴミくずはレスすんな。全然違う。
94デフォルトの名無しさん:2013/09/28(土) 19:30:01.03
CよりJSのほうが速いってことで決着ついてるはず。
95デフォルトの名無しさん:2013/09/28(土) 19:31:00.60
今の最適化技術ならpascalやら構造化basicあたりでもCと大差ないバイナリが
できると思うけど、これだけCが普及するとどうしようもないな。
96デフォルトの名無しさん:2013/09/28(土) 19:31:08.35
あーそっかそっかうんうんそういううんはいはいなるほどね
わかっただいたいわかったうんうんそういうことねはいはいはい
97デフォルトの名無しさん:2013/09/28(土) 19:32:25.90
>>94
同じくらい労力かけて最適化したらCのほうが早い。
98デフォルトの名無しさん:2013/09/28(土) 19:32:36.89
VC++で迷路ゲームというアプリを作ったんですが他PCに移動してやろうとしたら
dllファイルがありませんが出てきて、一つずつダウンロードしても結局最終的に
はダメでした。どうしたらいいですか?
99デフォルトの名無しさん:2013/09/28(土) 19:33:03.66
他の言語でもCと同等の速度が出せる、ってのはいいんだ。
C以外の言語だと、Cよりも早いコードが出せるぜ、ってなコメントがあるから荒れる
100デフォルトの名無しさん:2013/09/28(土) 19:33:42.76
Cは実行中の最適化がないのでどうやってもJavaやJavascriptには勝てない。
101デフォルトの名無しさん:2013/09/28(土) 19:34:31.39
>>98
インストーラー作ってそれでもっていけば、参照してるDLLも持っていってくれるんじゃないの。
102デフォルトの名無しさん:2013/09/28(土) 19:36:50.94
>>98
DLLはどこに置いてるの?
103デフォルトの名無しさん:2013/09/28(土) 19:37:27.44
releaseでビルドしてないんだろ
後スレチ
104デフォルトの名無しさん:2013/09/28(土) 19:43:12.16
Java使いはCをマーシャリングツールくらいにしか思ってないが、結局Cが無いとJavaは何も出来ない
105デフォルトの名無しさん:2013/09/28(土) 19:44:27.39
>>100
http://benchmarksgame.alioth.debian.org/
こういうベンチマークみるとやっぱJavaやJavascriptは遅いみたいだけど。
正規表現のところはjavascriptが早いね。
106デフォルトの名無しさん:2013/09/28(土) 19:55:14.74
>>92
だーかーらー、そういう比較は意味ねえって
せいぜい >>90 みたいのを量産することになるだけで
107デフォルトの名無しさん:2013/09/28(土) 20:08:59.51
ベンチマークはコールドスタートになるので実行時最適化にとってかなり不利。
最適化の分遅くなる。
だがしかし、たった一度しか実行しないソフトウエアは少ないので、
実用上はCよりスクリプトのほうが速い。
108デフォルトの名無しさん:2013/09/28(土) 20:14:09.72
109デフォルトの名無しさん:2013/09/28(土) 20:14:58.23
>>107
ベンチマークも同じコードをべらぼうな回数、繰り返し実行してるけど。
110デフォルトの名無しさん:2013/09/28(土) 20:15:15.42
ケチャック (SHA-3) を実装された方はいますか?

レファレンスを読んでみても理解できないいし、C言語のソースコードを読んでも、
コメントがついてなくて、よく分かりません。

どなたか、詳細なコメントつきのソースコードをうpしてくれると嬉しいです。
111デフォルトの名無しさん:2013/09/28(土) 20:15:37.49
JKとCしたい
112デフォルトの名無しさん:2013/09/28(土) 20:15:59.75
>>107 がJavaのほうが速い実例をだせばいいけど、出ないんだろうな。
113デフォルトの名無しさん:2013/09/28(土) 20:16:05.96
実行前に最適化しておけばいい(終了
114デフォルトの名無しさん:2013/09/28(土) 20:17:58.69
C言語より高速なJavaScriptによるバイナリ操作が話題
http://tech.a-listers.jp/2012/10/10/faster-than-c/
115デフォルトの名無しさん:2013/09/28(土) 20:29:36.74
Cによる最適化が不十分な例を出されてもねえ
116デフォルトの名無しさん:2013/09/28(土) 20:30:53.92
まあ認めたくないのはわかるよ。
でもこれが現実なんだよね。
117デフォルトの名無しさん:2013/09/28(土) 20:38:30.17
Javascriptてなに?
118デフォルトの名無しさん:2013/09/28(土) 20:40:51.96
カレーがおいしくなる魔法の粉のことだよ
119デフォルトの名無しさん:2013/09/28(土) 20:47:14.52
コリアンダーみたいのか
120デフォルトの名無しさん:2013/09/28(土) 21:00:31.42
おまいら、コードの話以外だととたんに元気だな
121デフォルトの名無しさん:2013/09/28(土) 21:01:33.32
>>111
惜しいな、レス番が 107 ならウケたのに
122デフォルトの名無しさん:2013/09/28(土) 21:34:52.82
ポインタっての使わないと C ではプログラム書けないんでしょうか?
123デフォルトの名無しさん:2013/09/28(土) 21:39:19.75
>>122
無理! 断言!
124デフォルトの名無しさん:2013/09/28(土) 21:44:35.22
速度面で負けると、Cの良さはアドレスを指定してメモリの読み書きができること
だけになるね。
これも特定用途以外では悪い部分になるしね。
125デフォルトの名無しさん:2013/09/28(土) 21:47:35.44
チップセレクト読めないアホはお呼びでない
そんなクズにRAS/CASが読めてるわけもないし
126デフォルトの名無しさん:2013/09/28(土) 21:54:21.78
>>122
書けるだろう
hellow world
127デフォルトの名無しさん:2013/09/28(土) 21:57:38.11
>>82>>108
ポインタはまだ習っておらず、ポインタ無しでやらなければいけません。
>>83
このやり方はポインタを使わないで大丈夫ですか?
128デフォルトの名無しさん:2013/09/28(土) 22:00:50.81
>>127
>ファイルを読み込む&書き出すは分かるのですが、
これをポインタなしでやってるんだ
へぇ〜
129デフォルトの名無しさん:2013/09/28(土) 22:05:22.45
>>128
ファイルポインタだけは使ってますが、一般的な?ポインタは習っていません。
130デフォルトの名無しさん:2013/09/28(土) 22:07:25.30
>>129
ファイルポインタも一般的なポインタですが、何か
131デフォルトの名無しさん:2013/09/28(土) 22:09:29.32
>>130
それではファイルポインタのみ使うやり方はありませんか?
132デフォルトの名無しさん:2013/09/28(土) 22:17:33.22
>>124は逃げたか?
NMI のタイミングも当てずっぽうだろう、てめーのコードわ
133デフォルトの名無しさん:2013/09/28(土) 22:23:31.46
>>131
ない
134デフォルトの名無しさん:2013/09/28(土) 22:26:58.37
ノートパソコンでC++のプログラミングをしてみようと思っているのですが、
コンパイラとテキストエディタをDLしたら容量が大きすぎたのか、
後でそれを削除した後もパソコンの具合が悪くなったままです。
ノートパソコンのWindowsではなくマッキントッシュのようなメモリが多く使えるOSで
プログラミングしたほうがいいということでしょうか。それから、まだほかに
DLしなくてはならないものがありますか?
135デフォルトの名無しさん:2013/09/28(土) 22:31:26.16
最初にDLするのはUbuntu。
ココを間違えると取り返しがつかない。
136デフォルトの名無しさん:2013/09/28(土) 22:32:54.68
>>135
取り返しがつかないとは?
137片山博文MZコスモ ◆T6xkBnTXz7B0 :2013/09/28(土) 22:33:31.75
>>80 携帯から
#include <stdio.h>
char buf[1024];
int main(void) {
FILE *fin, *fout; int i, j;
char c;
fin = fopen("input.txt", "r");
fout = fopen("output.txt", "w");
while (fgets(buf, 1024, fin) != NULL) {
for (i = 0; buf[i] != '\0' && buf[i] != '\n'; i++);
if (buf[i] == '\n') buf[i] = '\0';
i--;
for (j = 0; j < i; i--,j++) {
c = buf[j]; buf[j] = buf[i]; buf[i] = c; }
fprintf("%s\n", buf);
}
fclose(fin); fclose(fout);
return 0; }
138デフォルトの名無しさん:2013/09/28(土) 22:33:51.52
JavaVMがC以外で書かれてるとは考えられない。ならCを上回る事は不可能
139デフォルトの名無しさん:2013/09/28(土) 22:35:10.23
>>138
別に【推定】する必要なくね?
140デフォルトの名無しさん:2013/09/28(土) 22:35:16.93
CとC++は違う言語なのか
だから俺にはレスがつかない
失礼
141デフォルトの名無しさん:2013/09/28(土) 22:38:19.31
オブジェクト指向に挫折した人を救うべく開発されたのがC言語なのです。
142デフォルトの名無しさん:2013/09/28(土) 22:40:37.69
>>141
C言語だけできたところでプログラミングのデザインができなかったらただの
計算機にしかならないのでは?
143デフォルトの名無しさん:2013/09/28(土) 22:43:49.30
オブジェクト脳を持つ優秀な人が設計して、挫折組がコーディングするのです。
144デフォルトの名無しさん:2013/09/28(土) 22:43:53.52
>>134
開発はWindowsでも大丈夫。
そこに書いてある情報だけではなぜトラブルになっているかはわからない。
145デフォルトの名無しさん:2013/09/28(土) 22:45:49.97
>>144
DLしすぎたからだと思います。他にも80MbくらいあるPHPのコンパイラをDLしてます
146デフォルトの名無しさん:2013/09/28(土) 22:56:32.79
>>145
パソコン初心者か?
でかいファイルをダウンロードしただけで動作が重くはならんぞ
再起動してみ
147デフォルトの名無しさん:2013/09/28(土) 22:57:40.99
一行修正。

fprintf("%s\n", buf);

fprintf(fout, "%s\n", buf);
148デフォルトの名無しさん:2013/09/28(土) 23:15:06.81
>>137
#include <stdio.h>
char buf[1024];
int main(void) {
FILE *fin, *fout; int i, j;
char c;
fin = fopen("input.txt", "r");
fout = fopen("output.txt", "w");
while (fgets(buf, 1024, fin) != NULL) {
for (i = 0; buf[i] != '\0' && buf[i] != '\n'; i++); ←ここには実行文は必要無いですか?
if (buf[i] == '\n') buf[i] = '\0';
i--;
for (j = 0; j < i; i--,j++) {
c = buf[j]; buf[j] = buf[i]; buf[i] = c; }←これはどういう意味でしょうか?
fprintf("%s\n", buf);
}
fclose(fin); fclose(fout);
return 0; }
149デフォルトの名無しさん:2013/09/28(土) 23:16:23.88
>>126
printf( ) になに渡してると思ってるんだよ
150デフォルトの名無しさん:2013/09/28(土) 23:36:51.08
151デフォルトの名無しさん:2013/09/28(土) 23:59:13.94
>>150
・getlineは改行入らない
・std::reverse使え
・スレタイ100回声に出して読め
152デフォルトの名無しさん:2013/09/29(日) 00:43:35.57
>>80の応用。
何行かあるファイルを読み込んで、行の順を逆にして新たなファイルに書き出す
Cのコードを書け。

例)

123
ABC
アババ
 ↓
アババ
ABC
123
153デフォルトの名無しさん:2013/09/29(日) 00:48:47.86
154デフォルトの名無しさん:2013/09/29(日) 01:29:45.71
>>148
>for (j = 0; j < i; i--,j++) {
> c = buf[j]; buf[j] = buf[i]; buf[i] = c; }

c ← *j ← *i ← c(=*j)
つまり、*j ← *i、*i ← *j
配列中の、ある箇所と別の箇所の内容を、入れ替える
(変数cは、入れ替え用のメモリで、特に意味はない)

j++で、jは配列の先頭から、後ろのほうへ進んでいき、
i--で、iは配列の後ろのほうから、前のほうへ進んでいく
ただし、j < iで、jは、iより前のときのみ
155デフォルトの名無しさん:2013/09/29(日) 01:56:01.56
xor使えばtempいらない
156デフォルトの名無しさん:2013/09/29(日) 02:49:37.93
>>155
限られた状況でなければ、素直に変数使ったほうがいい。
http://ideone.com/wvrCRn
157デフォルトの名無しさん:2013/09/29(日) 03:12:12.81
K & R のと、今のじゃ、どこが違うん?
3行でよろ
158 ◆QZschizo.ptH :2013/09/29(日) 03:50:49.33
>>157
K&R1 は一度翻訳単位や関数単位の処理から抜けると、関数の呼び出しに際しての入出力界面に無頓着。
double f(doube, double)に平気で f(int, int) を渡せても、エラー、警句皆無
double を返してくるはずを int で受けても、エラー、警告皆無
極めつけは ヌルポインタ。ヌルポインタを渡したつもりが、数値の 0 がわたってしまい、そんなことにもコンパイラは無頓着。

最後のは今でも注意しないときいけないね。可変長引数にヌルポインタを渡すときはキャストすること、execv*() とかね。
159デフォルトの名無しさん:2013/09/29(日) 08:14:39.57
>>149
さあ
160デフォルトの名無しさん:2013/09/29(日) 08:34:33.20
hellowワロタ
161デフォルトの名無しさん:2013/09/29(日) 10:31:18.69
>>157
1 関数プロトタイプ
2 const, volatile
3 関数ポインタのデリファレンスが不要

三行と指定されてるのに1だけを長々と語るゴミ屑は早く死ねば良いのに
162デフォルトの名無しさん:2013/09/29(日) 10:48:20.77
161は釣られたんだと思う
163デフォルトの名無しさん:2013/09/29(日) 11:48:01.14
>>157
main(argc, argv)
int argc;
char *argv[];
164 ◆QZschizo.ptH :2013/09/29(日) 13:15:43.07
>>161
構造体を引数や返り値に取れるようになった、はでかいよね?私見では余計な改悪だとおもっちゃうけどね

enum, void は?
そういえば void * のかわりに char * をつかってたよね今の教科書でも execl() で末尾に (char *)NULL をかくとかときどきみるね
unsigned char なんてあったっけ?
long float とか long double とか混乱してたよね?
printf()群の書式指定子 %*d って昔からあったっけ?
#if 0 とかもたしか ansi からでは?#elif だけでしたっけ?
#define でも ## のおかげで ANSI では生成的マクロ=ジェネリックができるようになったね、テンプレート様には負けるけど

いろいろいいたいことがあるけど、プロトタイプ宣言でおなかいっぱい
165デフォルトの名無しさん:2013/09/29(日) 13:26:39.28
>>158
4行とも、今も同じだが?

C++ に似て非なる関数原型とconst
あはは、1行で言えちゃった
166 ◆QZschizo.ptH :2013/09/29(日) 13:43:35.85
>>165
>今も同じだが?
あら、そうでしたっけ、まあ翻訳単位が別だとねえ
C++はリンカに渡す名前を曼珠沙華でしたっけ、昔、far/near ポインタくらいそうすれば関数減ってよかったのにね
167デフォルトの名無しさん:2013/09/29(日) 14:09:18.74
farポなんかないさ
farポなんか嘘さ
寝ぼけた人が見間違えたのさ♪
168デフォルトの名無しさん:2013/09/29(日) 14:42:31.32
私見 wwwww

> ls -l プログラムファイル
169デフォルトの名無しさん:2013/09/29(日) 15:40:46.66
ソケットってなんですか?
170デフォルトの名無しさん:2013/09/29(日) 15:42:00.45
171デフォルトの名無しさん:2013/09/29(日) 15:53:55.28
>>169
電球を入れるやつ
172デフォルトの名無しさん:2013/09/29(日) 19:35:54.96
VC++でリリースでコンパイルしたけど
dllファイルがありませんって出てきました....
どうしたらいいですか?
173デフォルトの名無しさん:2013/09/29(日) 19:40:42.21
>>172
それだけでは何も分からない。どのdllが無いといつ出たの?
174デフォルトの名無しさん:2013/09/29(日) 22:24:48.52
>>172
> どうしたらいいですか?
回答が得られる質問方法を学びましょう。
175デフォルトの名無しさん:2013/09/29(日) 22:28:21.02
>>172
寝る
176デフォルトの名無しさん:2013/09/29(日) 22:33:50.06
だろうな
あいつ疲れすぎだよ
177デフォルトの名無しさん:2013/09/29(日) 22:54:03.11
MAC OS X で C やろうと思ったら、何 C がいいですか?
できれば C99 対応ので
178デフォルトの名無しさん:2013/09/29(日) 23:00:01.94
マカーか
179デフォルトの名無しさん:2013/09/29(日) 23:05:12.72
>>177
clang
180デフォルトの名無しさん:2013/09/29(日) 23:30:31.54
>>177
GCC
181デフォルトの名無しさん:2013/09/30(月) 00:02:25.10
clang一択だろうw
182デフォルトの名無しさん:2013/09/30(月) 00:06:42.03
>>172
VC++ DLL ファイルが見つかりません
で、検索せよ

まず、ここに書き込む前に、エラーメッセージで検索する癖をつけよ
183デフォルトの名無しさん:2013/09/30(月) 01:55:31.81
いや、ふつーにXcode標準のGCCでいいだろ
184デフォルトの名無しさん:2013/09/30(月) 02:51:39.66
Mac だったら、clang も GCC も標準で入ってるんだよね?
185デフォルトの名無しさん:2013/09/30(月) 04:58:54.87
MacつーかApple自体がオワコンだからなんとも
業績落ちまくりじゃん
iphoneも売れ行き落ちてるし
この間は切り札のdocomoでの販売したから今期は持ちこたえるだろうけど、
この後待ってるのは再び飽和状態による新機種売上の落ち込み
主要携帯会社では全て出してしまったからもう切り札なし

これからプログラミングやるならWindowsかLinux
186デフォルトの名無しさん:2013/09/30(月) 06:35:35.30
一人が二台,三台もってもいいもの,ってなにかないですかね
iphone は一台でいいや
187デフォルトの名無しさん:2013/09/30(月) 06:45:52.51
>>186
ギャラクシー
188デフォルトの名無しさん:2013/09/30(月) 08:03:03.93
androidの入ってる機種は総じてゴミ
189デフォルトの名無しさん:2013/09/30(月) 08:11:15.63
>>187
どうぞ祖国へおかえr(ry
190デフォルトの名無しさん:2013/09/30(月) 09:47:55.65
c言語でMagickWandを用いて画像の透明度(アルファチャンネル)をいじりたい
のですが、
ttp://magickwand.blog43.fc2.com/blog-category-35.html
を参考にしても使い方が全然わかりません。
ヘッダーのインクルードまでは終わったのですがその先に進めません。
MagickSetImageOpacity 関数を使うことになると思います。
使えるという方また、わかりやすいサイトなど有りましたら教えてください。
191デフォルトの名無しさん:2013/09/30(月) 10:37:22.81
Androidの世界シェアは8割
iphoneの世界シェアは1割5分
iphoneの世界シェアがAndroidの世界シェアを超えてるのは世界でも日本だけ
iphone使いは世界の流れに乗り遅れた情弱でFA
192デフォルトの名無しさん:2013/09/30(月) 10:38:11.41
>>190
元のマニュアルも読まずに質問するゴミクズか
お前みたいなゴミクズに使ってもらう前提で開発してあるわけじゃねーんだよ
説明書読まずに使い方が分からないとか頭悪いにもほどがある
193デフォルトの名無しさん:2013/09/30(月) 10:41:42.00
>>192英語でキツイと思ってたけどみながらなんとかやってみます。
ありがとうございました。
194デフォルトの名無しさん:2013/09/30(月) 10:44:41.16
>>193
じゃあプログラミング言語の前に英語やらなきゃいけないんじゃないの
物事の優先順位すら決められないのか
呆れた
195デフォルトの名無しさん:2013/09/30(月) 10:48:19.59
>>191
ソースは?
196デフォルトの名無しさん:2013/09/30(月) 10:53:42.54
質問する時は一口大に、簡単に答えやすくまとめて俺を気持ちよくさせろ
それ以外はゴミクズ
197デフォルトの名無しさん:2013/09/30(月) 11:30:13.39
日経新聞にOS別のスマホ世界シェアが掲載されているそうだが、

・android 79.3%
・iOS 13.2%
・Windows Phone 3.7%
・blackberry 2.9%

という状況だそうで、Androidが前年比10.2%、iOSが-3.4%と、Android好調が伝えられている。

一方国内では、5/10の調査で、2012年度の出荷台数シェアが

・iOS 35.9%
・Android 64.9%

ということでiPhoneが売れている特殊な国として有名だ。
198デフォルトの名無しさん:2013/09/30(月) 11:45:08.86
英語はやっとけ
199デフォルトの名無しさん:2013/09/30(月) 11:48:53.62
>>197
日本以外の国別集計があるといいのに
200デフォルトの名無しさん:2013/09/30(月) 12:29:43.47
文字化け関係でandroidが嫌われるのか?
201デフォルトの名無しさん:2013/09/30(月) 13:36:30.58
某社長の営業努力の賜物であろう
202デフォルトの名無しさん:2013/09/30(月) 14:00:57.18
>>185
>MacつーかApple自体がオワコンだからなんとも
それはあんたの希望()だろ?
これから C をやりたいって言ってるような >>177 や他から見たら、
Windows の方が激しくオワコン
てか、もう終わってる
203デフォルトの名無しさん:2013/09/30(月) 15:06:21.29
信者の頭がかわいそう
204デフォルトの名無しさん:2013/09/30(月) 16:32:17.91
Android は別にいいんだけど、メーカーがね(以下ry
205デフォルトの名無しさん:2013/09/30(月) 16:42:08.84
xperia買えよ
206デフォルトの名無しさん:2013/09/30(月) 17:19:56.49
MacがオワコンではなかったとしてもWindowsオワコン説には無理がありすぎだな
207デフォルトの名無しさん:2013/09/30(月) 17:24:16.87
そろそろリアルだろう
208デフォルトの名無しさん:2013/09/30(月) 18:21:52.32
ガキが多くなったな
209デフォルトの名無しさん:2013/09/30(月) 18:31:19.50
>>207
俺もそう思ってる。
一般人向けにPC自体が存在を消そうとしている状勢においてWindowsの居場所なんて残されてないと思う。

むしろLinux, Mac の方が、特殊ユーザーに支持されてるので、今後もPC用OSとして命脈を保つ可能性が高いと思う。
210デフォルトの名無しさん:2013/09/30(月) 18:47:55.73
エロゲが充実してるwindowsが滅びるはずがない
エロが全てを支配するエロを舐めるな
211デフォルトの名無しさん:2013/09/30(月) 18:48:18.52
一般人向けにPC自体が存在を消そうとしている状勢ってどこの世界線の話だ…
過剰供給だったものが正常化しているだけであって、PC需要が限りなくゼロに近づいてるって話ではないだろう
212デフォルトの名無しさん:2013/09/30(月) 19:14:27.56
>>211
お前の周りだけ「世界」が違うようだな(笑)
213デフォルトの名無しさん:2013/09/30(月) 19:24:31.09
>>212
お前も落ち着いて周り見てみろよ
214デフォルトの名無しさん:2013/09/30(月) 19:31:49.37
PC使わないような仕事の人はいいよね
目が疲れなくて
215デフォルトの名無しさん:2013/09/30(月) 19:43:42.22
スマホやタブレットでソフトウェア開発をしている企業は見たこと無いなあ
216デフォルトの名無しさん:2013/09/30(月) 19:52:13.32
現業以外大体誰でも仕事でPC使ってるはずなのになあ
仕事してる人間は一般人じゃないのかあ
217デフォルトの名無しさん:2013/09/30(月) 19:54:16.07
>>210
PCエンジンは不滅なの?
218デフォルトの名無しさん:2013/09/30(月) 19:55:24.23
>>212
俺もそう思う。
219デフォルトの名無しさん:2013/09/30(月) 19:55:47.59
PCのみ
PCとスマホやタブレットの併用
スマホやタブレットのみ
220デフォルトの名無しさん:2013/09/30(月) 19:59:31.28
>>215-216
つーか、信者の思いとは裏腹に、MS自身が、サーフィスで一般人向け用途のPCをリプレースしようとしているのが、俺らの世界線なんだが。
221デフォルトの名無しさん:2013/09/30(月) 20:02:03.19
>>220
>つーか、信者の思いとは裏腹に、MS自身が、サーフィスで一般人向け用途のPCをリプレースしようとしているのが、俺らの世界線(笑)なんだが(キリッ
って言われてもさあ、仕事でそんなもんすぐに乗り換えるわけねえじゃん
バカなの?
222デフォルトの名無しさん:2013/09/30(月) 20:09:40.20
>>221
MSの悪口はそこまで!
223デフォルトの名無しさん:2013/09/30(月) 20:33:15.57
C言語以外の話題は元気だな
224デフォルトの名無しさん:2013/09/30(月) 21:05:43.22
>>177 ですが、
clang にするか GCC にするか、迷います。
Linux だったら GCC でいくし、FreeBSD だったら clang だけど、
Mac の OSX ではどっちがいいの?
ちなみに C は独学です。
225デフォルトの名無しさん:2013/09/30(月) 21:52:15.91
どうして一つに絞ろうとするんだ?
どっちもできるようになればいいじゃないか
226デフォルトの名無しさん:2013/09/30(月) 22:05:58.45
特定のOSのプログラミング学ぶのにどのOSがいいですかって話ならわかるけど
ただCのプログラミングをしたいってのに、なにを迷うんだ。
227デフォルトの名無しさん:2013/09/30(月) 22:10:58.74
好みとか性に合う会わないとかあるから両方調べて良い方をメインにした方がいい
それくらいガッツが無いと勉強できん
228デフォルトの名無しさん:2013/09/30(月) 23:05:40.84
学校の課題で出たC言語でコンビネーションを出力するプログラムが書けません
たとえば 1, 2, 3 と数字があって
3 C 2 の場合 1, 2 と 2, 3 と 1, 3 を出力させたいんです。
n C m で n と m を可変で実装したいんですがさらっと出来る方いらっしゃいますか?
229デフォルトの名無しさん:2013/09/30(月) 23:07:35.57
>>228
できるよ
230デフォルトの名無しさん:2013/09/30(月) 23:17:34.56
>>228
います
231デフォルトの名無しさん:2013/09/30(月) 23:22:14.09
宿題は宿題スレへ
232デフォルトの名無しさん:2013/09/30(月) 23:25:26.66
再帰使えば簡単
233デフォルトの名無しさん:2013/09/30(月) 23:28:40.52
馬鹿乙
234デフォルトの名無しさん:2013/09/30(月) 23:29:16.34
質問内容は「さらっと出来る方いらっしゃいますか?」だ

やり方なんて聞かれてないだろ
235デフォルトの名無しさん:2013/09/30(月) 23:35:50.45
それくらいPGなら簡単だけど条件がよく分からん。
236宿題バイト:2013/10/01(火) 00:19:57.32
>>228
できるよ。
メアドに送ってきたらやるよ。
そのかわり500円くれ。
掲示板で質問したら本文が残るからメールで教えてあげる。
237宿題バイト:2013/10/01(火) 00:20:39.41
いつまでにやればいいんだ?
明日とかなら簡便。
3日後とかなら良いよ。
238デフォルトの名無しさん:2013/10/01(火) 00:29:44.21
さらっと出来るとわかったので解決しました
ありがとうございました
239デフォルトの名無しさん:2013/10/01(火) 00:32:36.61
240デフォルトの名無しさん:2013/10/01(火) 00:33:56.16
ありがとう
241デフォルトの名無しさん:2013/10/01(火) 06:28:46.09
sも引数にすればいいのに
242デフォルトの名無しさん:2013/10/01(火) 08:17:04.22
Cにもアキュムレータってある?
243デフォルトの名無しさん:2013/10/01(火) 08:44:40.06
xが1、yが2
x&y → 0
x&&y → 1
がわかりません
244デフォルトの名無しさん:2013/10/01(火) 09:01:48.92
定義がわからないことがわかった
245片山博文MZコスモ ◆T6xkBnTXz7B0 :2013/10/01(火) 09:48:08.81
>>243
xを二進で表すと01であり、yを二進で表すと10である。各位ビットごとのAND演算を行うと、1の位が0 AND 1=0で、
ニの位が1 AND 0=0となるので、(x&y)==(1&2)==0となる。一方、x&&yは論理積である。xもyも非ゼロであるからtrue&&trueとなってx&&y==trueである。
246デフォルトの名無しさん:2013/10/01(火) 10:27:27.25
>>242
その概念はありません。
敢えて言うなら、int変数が該当するかもしれません。
247デフォルトの名無しさん:2013/10/01(火) 11:27:04.72
>>245
荒らしは巣から出てくるな
248デフォルトの名無しさん:2013/10/01(火) 12:09:14.72
>>242
アセンブラの話と想定すると
アキュムレータはないけど
変数でそれっぽく計算するための演算子はある(++,+=,>>など)
249デフォルトの名無しさん:2013/10/01(火) 12:10:09.90
何か違う気がする
250デフォルトの名無しさん:2013/10/01(火) 13:54:07.49
c++のstlにならシーケンスの総和を求めるaccumulate関数がある
251デフォルトの名無しさん:2013/10/01(火) 14:06:14.33
CPUの話?
252デフォルトの名無しさん:2013/10/01(火) 14:40:06.11
アセンブリャにもアキュムレータあるよ
ベースポインタもこーどセグメントもデェスチネーションINDEXも
253デフォルトの名無しさん:2013/10/01(火) 14:47:15.75
>>252
いきなり得意気に一部のCPUの話をされても……
254デフォルトの名無しさん:2013/10/01(火) 15:34:26.52
アキュムレータ程度なら無くても作るのは簡単だろ
Cだとテンプレートないからマクロのがいいだろうけど
255デフォルトの名無しさん:2013/10/01(火) 16:56:00.47
アキュームレータという呼び方、インテル以外でもするの?
256デフォルトの名無しさん:2013/10/01(火) 16:56:37.12
二次元配列で
array[固定][動的]
というのはできますが
array[動的][固定]
とする方法があったら教えてください
257デフォルトの名無しさん:2013/10/01(火) 17:03:03.81
二次元配列に拘らず、構造体経由したら?

struct A {
 type e[固定];
};

struct A* array;

array[動的].e[固定] になる
258デフォルトの名無しさん:2013/10/01(火) 17:11:40.79
int (*array)[固定];
int *array[固定];
259デフォルトの名無しさん:2013/10/01(火) 17:23:42.43
{
int jx, jy, j;
static char *a;
float *X, *Y;
a = (char *) malloc(sizeof(float)*Lx*Ly);
for(j = 0; j < Lx*Ly; j++) a[j] = (char) 120;
(中略)
for(j = 0; j < n ; j++) {
jx = MIN2(MAX2(0, (int)(X[j]*(float)Lx)), Lx);
jy = MIN2(MAX2(0, (int)(Y[j]*(float)Ly)), Ly);
a[Lx*jy + jx] = (char) 250;
}
(以下、略)

超初心者です。上はあるサンプルコードからの抜粋です。

a[j]=(char) 120
a[Lx*jy + jx] = (char) 250

それぞれ、配列aに何を代入しているのですか?
260256:2013/10/01(火) 17:36:40.10
>>257-258
ありがとうございます
構造体にします
261デフォルトの名無しさん:2013/10/01(火) 17:43:27.64
>>259
120と250。
262デフォルトの名無しさん:2013/10/01(火) 17:47:25.85
'\x78'と'\xfa'
263デフォルトの名無しさん:2013/10/01(火) 17:48:02.52
>>261
すみません、当方の環境では、(char)250 は、-1となるのですが・・・・
(gcc4.2)
264259:2013/10/01(火) 17:50:32.62
まちがえました、-6 です
265デフォルトの名無しさん:2013/10/01(火) 17:52:04.34
char の範囲が -127 〜 127 の系で (char)250 の結果かー
266デフォルトの名無しさん:2013/10/01(火) 18:20:45.64
-128 〜 127 ですね
267259:2013/10/01(火) 18:25:49.65
つまり、(char)120とは、何をしとるんでしょう??
ふつうに120とするのと何がちがうのですか?
268デフォルトの名無しさん:2013/10/01(火) 18:30:59.25
>>267
1)charにキャストしてる
2)まあ意味は無い。char型の変数に代入してることを強調したかったのでは
269デフォルトの名無しさん:2013/10/01(火) 18:32:51.73
>>267
普通に120だとintだが、(char)120と書けばcharになる
ただ左辺がcharならコンパイラがcharにしてくれる
次にコード見たプログラマのためのおまじないみたいなもんだろう
270259:2013/10/01(火) 19:24:47.14
>>268 >>269
thx
271デフォルトの名無しさん:2013/10/01(火) 20:45:00.21
横からだけど
>>259
> static char *a;
このような場面でstaticにする理由をご存じの方いらっしゃいますか?
272デフォルトの名無しさん:2013/10/01(火) 20:47:03.68
>>271
このコードでは意味はない
ただ問題もない
273271:2013/10/01(火) 20:52:01.00
>>272
ありがとう
274デフォルトの名無しさん:2013/10/01(火) 21:15:10.87
>>271
returnするなら意味がある。
275デフォルトの名無しさん:2013/10/01(火) 21:38:08.91
asctime();やlocaltime();などは関数内の static struct tm バッファへのポインタを返すね。
あと外部に関数内のstaticを公開しない場面でも使われるね。
例えば何度も呼ばれる関数で前回の状態を覚えておくのとか。
276デフォルトの名無しさん:2013/10/01(火) 21:39:36.23
>>275
> asctime();やlocaltime();
> ctime();やlocaltime();

277デフォルトの名無しさん:2013/10/01(火) 21:42:38.27
ヒープ領域返すのはどうなんだろ
278デフォルトの名無しさん:2013/10/01(火) 21:45:13.48
ヒープ領域返すのは普通か
xx_Createとxx_Deleteとか作ればいいか
279デフォルトの名無しさん:2013/10/01(火) 21:46:08.89
localtime() == gmtime() を規格が要求している件
280デフォルトの名無しさん:2013/10/01(火) 22:23:11.46
>>253
ぴょまいはx86知らないのか?
281デフォルトの名無しさん:2013/10/01(火) 22:36:41.41
コードセグメントが80286からなのは知ってる
282デフォルトの名無しさん:2013/10/01(火) 22:37:37.14
なぬ?
283デフォルトの名無しさん:2013/10/01(火) 22:38:18.33
8086からだった
アチャーw
284デフォルトの名無しさん:2013/10/01(火) 22:48:42.56
はじめて読む8086オススメ
285デフォルトの名無しさん:2013/10/01(火) 22:49:58.32
ぴょまいら何歳なの?
286デフォルトの名無しさん:2013/10/01(火) 22:50:38.88
ちな俺21
287デフォルトの名無しさん:2013/10/01(火) 23:03:48.18
はじめて読む486、お勧め
特に、int 20が秀逸
288デフォルトの名無しさん:2013/10/01(火) 23:15:38.27
for(...)
{
処理1
処理A
処理3
}
for(...)
{
処理1
処理B
処理3
}
という感じでfor文の中に1箇所(1行)だけ違う処理(上記AとかB)がある場合、
マクロとか使って簡略化できないのもでしょうか?
289デフォルトの名無しさん:2013/10/01(火) 23:16:42.37
>>272
> ただ問題もない

リエントラントでなくなる

ことが問題になることはあるかも
290デフォルトの名無しさん:2013/10/01(火) 23:18:30.24
>>280
x86 と言えど一部の CPU であることは知っておいた方がいい
291デフォルトの名無しさん:2013/10/01(火) 23:34:47.53
冗長にしておいた方が結局は後で手を入れるときにやりやすかったりする
最適化しすぎるのもどうかと思うね
292デフォルトの名無しさん:2013/10/01(火) 23:53:42.66
>>288
マクロでできるし
フラグで分けることもできるし
293デフォルトの名無しさん:2013/10/02(水) 00:10:12.98
ここでいう処理Aや処理Bって、関数呼び出しなの?それとも処理の塊なの?
294デフォルトの名無しさん:2013/10/02(水) 00:11:31.14
>>288 例えば↓のような書き方はできる

#include<stdio.h>

#define MACA { puts("a"); }
#define MACB { puts("b"); }
#define MACMAIN(ARG1) { \
  for(i=0;i<2;i++) { \
    puts("1"); \
    ARG1 \
    puts("3"); \
  } \
}

int main()
{
  int i;
  MACMAIN(MACA);
  MACMAIN(MACB);
  return(0);
}
295デフォルトの名無しさん:2013/10/02(水) 00:18:14.68
>>288
マクロより関数ポインタ使った方がいい
AとBの引数と戻り値が一緒なら
http://codepad.org/GfLLuMAM
296デフォルトの名無しさん:2013/10/02(水) 00:21:19.66
マクロで無理やりやる例
http://ideone.com/SIsfzf
297デフォルトの名無しさん:2013/10/02(水) 00:34:51.38
素直にifでいいじゃん
298デフォルトの名無しさん:2013/10/02(水) 07:50:35.99
>>288
二回ぐらいなら素直にベタ書き
もっと多いなら関数化して、if か 関数ポインタ
ここで聞くようなレベルならマグロは使うな
299デフォルトの名無しさん:2013/10/02(水) 07:57:07.87
c99 の inline さんがよきに計らってくれるよ
300デフォルトの名無しさん:2013/10/02(水) 08:11:29.79
gcc -S [filename]してみ
301デフォルトの名無しさん:2013/10/02(水) 15:25:47.90
freadの第2引数と第3引数を間違えると不都合な場合はあるでしょうか?
第1引数がint型のポインタだったりすると、場合によってはSegmentation Faultすると思いますが、
void*やchar*に読み込む場合は変わりないですよね?
もしレアケースであっても違いの出る場合があったら教えてください。
302デフォルトの名無しさん:2013/10/02(水) 15:26:49.31
>>301
戻り値を使うときに違いが出る
303デフォルトの名無しさん:2013/10/02(水) 16:26:05.50
INT_MAXをfor文の条件式にいれると出力されなくなるのですがどうすればいいでしょうか
304デフォルトの名無しさん:2013/10/02(水) 16:29:10.56
修正すれば?
305デフォルトの名無しさん:2013/10/02(水) 16:31:42.11
>>304
初心者なのでどこを修正すればいいのか分からないです、、、

#include<stdio.h>
#include<limits.h>

int main(void)
{

int x,n;

x=0;

for(n=2;x<=INT_MAX;n=n+2)
{
x=x+n;
}

printf("int型での偶数の総和は%d,最大のnは%d",x,n-2);
return 0;
}
306デフォルトの名無しさん:2013/10/02(水) 16:35:44.56
x は int型だから
x に何かを足してINT_MAXを超えることはないでしょ
オーバーフローしてマイナスの値になってる
307デフォルトの名無しさん:2013/10/02(水) 16:38:37.86
ありがとうございます、理解しました
308デフォルトの名無しさん:2013/10/02(水) 17:25:33.28
>>305
初心者がどうかしたの?
言い訳してるゴミが成長するわけないだろ
成長しないゴミに教えるような無駄な労力を使わせるな
二度と来るなよ
309デフォルトの名無しさん:2013/10/02(水) 18:00:44.27
>>308
答えもせずに偉そうにw
310デフォルトの名無しさん:2013/10/02(水) 18:11:51.92
>>308
ようゴミ
311デフォルトの名無しさん:2013/10/02(水) 18:15:24.47
>>308
ようゴミ
312デフォルトの名無しさん:2013/10/02(水) 18:28:03.00
>>311
お前のほうこそ、
「二度と来るなよ」
313デフォルトの名無しさん:2013/10/02(水) 18:59:31.53
指定日以外ゴミをださないように[当番]
314デフォルトの名無しさん:2013/10/02(水) 19:09:36.95
int型での正の偶数の総和と最大の偶数を求めるの?

#include <stdio.h>
#include <limits.h>
int main()
{
int i, max_even = 0;
double sum = 0;
for (i = 2; 2 <= i && i <= INT_MAX; i += 2) {
sum += i;
max_even = i;
}
printf("int型での偶数の総和は%.0f,最大のnは%d", sum, max_even);
return 0;
}

時間かかるよ
int型での偶数の総和は1152921502593581312,最大のnは2147483646
315デフォルトの名無しさん:2013/10/02(水) 19:19:27.00
なぜdoubleを使うのか?
316デフォルトの名無しさん:2013/10/02(水) 19:19:49.23
短気な人多いよね
317デフォルトの名無しさん:2013/10/02(水) 19:23:14.01
>>305みたいに初心者を免罪符に使うってクズの典型じゃんw
318305:2013/10/02(水) 19:24:05.89
>>314
大学からの問題だったのですが、問題がすごく不親切なんです
恐らくint型で表現できる最大の偶数の総和と総和に使われた最大の偶数nを求めろってことだと思います
さきほど書いたソースコードを少し改良したらいけました
319デフォルトの名無しさん:2013/10/02(水) 19:24:53.57
お前らははじめて読む8086、はじめて読む486、はじめて読むMASM、プログラミングの力を生み出す本、エキスパートCプログラミング詠んでから出直してこい
320デフォルトの名無しさん:2013/10/02(水) 19:25:42.34
>>319
ほんとこれ
321デフォルトの名無しさん:2013/10/02(水) 19:26:58.38
>>318
お前生きてるだけで迷惑だよ
322デフォルトの名無しさん:2013/10/02(水) 19:28:23.13
>>318は人間の初心者なんだろ。
まともな思考回路してないし、
迷惑だから書き込むな。

荒らすのが目的ならまたどうぞ書き込んでください。
323305:2013/10/02(水) 19:31:39.74
プログラム板に来たのはこれが初めてでして、質問をする場所が間違ってたのならすいません
スレタイ的にここが質問スレだと思ってしまいました
324デフォルトの名無しさん:2013/10/02(水) 19:35:33.68
>>323
頭がアレな人が一人ずっと頑張っているんだよ
スルー推奨
325デフォルトの名無しさん:2013/10/02(水) 19:37:53.52
>>323
今のプログラム板は全体的にとても荒れてる
例えば↓のスレを見てもらえれば現在のプログラム板の状況を理解してもらえると思う

【初心者歓迎】C/C++室 Ver.86【環境依存OK】
http://toro.2ch.net/test/read.cgi/tech/1379742800/
326デフォルトの名無しさん:2013/10/02(水) 19:40:04.02
>>319
H8じゃダメなんですか!
327デフォルトの名無しさん:2013/10/02(水) 19:40:43.31
C言語については初心者でもいいが、「人間の初心者」はお断りだ。

>>303をみて答えられるエスパーなどいない。
328デフォルトの名無しさん:2013/10/02(水) 19:41:41.92
>>323
お前が余計な情報を付加するからだろ

自業自得

そんなことも理解できない奴がプログラミング()
329デフォルトの名無しさん:2013/10/02(水) 19:42:22.01
かかってこいよ
330デフォルトの名無しさん:2013/10/02(水) 19:42:23.10
>>326
日立のマイコンか?
いいんじゃね、別に
兎にも角にも今の若いのはassemblerの知識がないから駄目なんだよな
331デフォルトの名無しさん:2013/10/02(水) 19:42:33.08
初心者に噛み付いてる人については、どう思いますか?
332デフォルトの名無しさん:2013/10/02(水) 19:43:41.79
>>330
これが老害か
333デフォルトの名無しさん:2013/10/02(水) 19:48:33.77
>>328
プログラミング関数(引数なし)の呼び出しですね、わかります
334デフォルトの名無しさん:2013/10/02(水) 20:02:05.61
>>326
Armだろうjk
335デフォルトの名無しさん:2013/10/02(水) 20:05:14.30
俺はZ-80アセンブラプログラミング入門とMS-DOSマクロアセンブラ入門だったな
336デフォルトの名無しさん:2013/10/02(水) 20:08:09.29
ゼッパチいいよなゼッパチ
337デフォルトの名無しさん:2013/10/02(水) 20:10:29.43
このようにかわいそうな人がいるのです
338デフォルトの名無しさん:2013/10/02(水) 20:15:13.65
>>319
天ぷら追加しとけ
339デフォルトの名無しさん:2013/10/02(水) 20:16:04.35
テンプレ?
340デフォルトの名無しさん:2013/10/02(水) 20:18:27.92
Z80だとアレだけど、ARMとか全然かわいそうって感じしないな
341デフォルトの名無しさん:2013/10/02(水) 20:20:35.22
ここまで68020はいない
342デフォルトの名無しさん:2013/10/02(水) 20:24:49.24
ろくまんはっせんもよいよね
リニアなアドレス空間がよいよね
343デフォルトの名無しさん:2013/10/02(水) 20:44:24.81
副業で食っていけるようになりたいんだけど
勉強するならやっぱC?
344デフォルトの名無しさん:2013/10/02(水) 20:46:17.08
php
345デフォルトの名無しさん:2013/10/02(水) 20:51:22.08
>>343
アセンブラ
346デフォルトの名無しさん:2013/10/02(水) 20:52:32.75
C++をマスターできれば、C・C#・Java・Objective-Cまで一気に理解できるはず
347デフォルトの名無しさん:2013/10/02(水) 20:52:39.27
>>323-325
そいつ、PerlスレではPHP厨と呼ばれてる奴だと思う。C/C++でも迷惑かけてたんだ。

Perlについての質問箱 60箱目
http://toro.2ch.net/test/read.cgi/tech/1379783114/l50

Webプログラム板に行けと言われるのに対して、プログラム技術板自体に対して恨みを持ってるらしい。

つうか、板違い行為を平然と続けている段階で、2ちゃんに対して恨みがあるとしか思えないレベルの痛い人。
348デフォルトの名無しさん:2013/10/02(水) 21:54:54.05
初心者向けスレでの嫌がらせしか出来ない手合いは、無視に限る。
349デフォルトの名無しさん:2013/10/02(水) 21:57:04.77
C/C++はポインタを理解できるかがポイントらしい。
JavaとかC#だとオブジェクトの入れ物としか考えられてないが、具体的なメモリアドレス
(現在では機械的に仮装アドレスになっているが)を示してヒープを確保するなりスタックを
使うなりすればどの様にも使うことができる。
アセンブラ→C→C++が近道に見えるが、アセンブラで組める環境がなあ…
350デフォルトの名無しさん:2013/10/02(水) 22:12:11.18
そこでM$のDEBUGの出番ですよ
さすがにMASMまではついてこないけど
351デフォルトの名無しさん:2013/10/02(水) 22:18:16.38
C++の質問なんだけど

int型データ3つの構造体があります
typedef struct{
  int iData1;
  int iData2;
  int iData3;
} t_ST;
この構造体が例えば10個あります
値はランダムな物が入ってます

それを、ソートするアルゴリズムを考えてるんだけどなかなかうまくいかない
ソート方法はiData1昇順→iData1昇順を保ったままiData2昇順→1,2保ったまま3昇順
例えば
{1,1,1}
{2,1,1}
{2,0,1}
{1,1,3}
{1,0,1}
と並んでたとしたら、結果的に
{1,0,1}
{1,1,1}
{1,1,3}
{2,0,1}
{2,1,1}
とソートしたい。知恵をお貸しください。
352デフォルトの名無しさん:2013/10/02(水) 22:18:38.71
学習用ならCASLでいいじゃん
今はもう無いのかな
353デフォルトの名無しさん:2013/10/02(水) 22:19:47.13
>>351
スレ違うけど辞書式順序でぐぐれば
354デフォルトの名無しさん:2013/10/02(水) 22:20:07.32
351の補足
C++のコンテナを扱うdequeは使っていい前提です
vectorは遠慮願います(ソース統一性のため)

関数の汎用性は高ければ高いほどありがたいです
最低条件として、データ数は何レコードあってもソートできること
355デフォルトの名無しさん:2013/10/02(水) 22:21:05.64
>>351
安定ソートを使って

1.iData3 でソート
2.iData2 でソート
3.iData1 でソート

これでおk
基数ソートってのと同じ考え方
356デフォルトの名無しさん:2013/10/02(水) 22:27:50.56
>>353
ぐぐりましたが読みづらいですね…

>>355
iData3でソートって指定の仕方はどうするんでしょうか?
deque<TEST>test();
stable_sort(test.begin(),〜〜,test.end());
だとは思うんですが分かりません。
357デフォルトの名無しさん:2013/10/02(水) 22:29:09.10
>>351
C++スレ行けや
358デフォルトの名無しさん:2013/10/02(水) 22:30:12.20
>>354
t_STを比較する述語を用意してstd::sortを使う。
359デフォルトの名無しさん:2013/10/02(水) 22:30:21.51
>>356
C++ スレへGO!
360デフォルトの名無しさん:2013/10/02(水) 22:32:48.00
分かりました。C++スレに行きます。申しわけございませんでした。
361デフォルトの名無しさん:2013/10/02(水) 22:43:42.61
ぶっちゃけると分からない
362デフォルトの名無しさん:2013/10/02(水) 22:57:32.19
後だしするような奴には馬鹿の壁がある
363デフォルトの名無しさん:2013/10/02(水) 23:07:53.05
後出しと初心者を免罪符にする奴はクズ
364デフォルトの名無しさん:2013/10/02(水) 23:10:19.55
>>340
アセンブラで組むなら、6502が最高だと思う。
365デフォルトの名無しさん:2013/10/02(水) 23:13:35.98
>>305はプログラム組む資格ないでしょ。
頭が悪いほどにも程がある。
必要のない情報を書いて何がしたいのか意味不明。
必要のない情報から雑談を誘発させようって荒らしかね。
366デフォルトの名無しさん:2013/10/02(水) 23:18:54.38
プログラム組む資格が無いのはむしろ>>355
頭が悪いにも程がある。

> 安定ソートを使って
> 安定ソートを使って
> 安定ソートを使って
> 安定ソートを使って
> 安定ソートを使って
> 安定ソートを使って

こんなバカが回答とか激わら
367デフォルトの名無しさん:2013/10/02(水) 23:22:56.15
確かに 6502 は最高に面倒臭いな
368デフォルトの名無しさん:2013/10/02(水) 23:23:38.75
文字列のソートする時も

安定ソートを使って

0.文字列の最大長を求める
1.1文字目でソート
2.2文字目でソート
3.2文字目でソート
...
n. 最大長までソート

とかやるんだろうな。激わら
369デフォルトの名無しさん:2013/10/02(水) 23:27:38.18
超並列向きかもですね。
よくわかりませんが。
370デフォルトの名無しさん:2013/10/02(水) 23:32:37.91
激わら

>>355=プログラムを組む資格も回答する資格もない
371デフォルトの名無しさん:2013/10/02(水) 23:55:27.51
>>368
ソートすらできないwwwww
372デフォルトの名無しさん:2013/10/03(木) 00:41:47.25
ひとつくらいは出来てるだろう
373デフォルトの名無しさん:2013/10/03(木) 00:52:56.04
基数ソートはO(1)のアルゴリズムを使うときには有効
374デフォルトの名無しさん:2013/10/03(木) 00:59:31.31
これ基数ソートで駄目な理由て何があるの?
使ってくださいと言わんばかりのデータ定義だけど。
375デフォルトの名無しさん:2013/10/03(木) 01:02:04.68
基数じゃないからじゃね?
376デフォルトの名無しさん:2013/10/03(木) 01:31:04.91
バケットなしでデータごとにソートすると提案してたんか。
そりゃ馬鹿と言われるわ。
377デフォルトの名無しさん:2013/10/03(木) 01:32:59.20
>>366>>368 はあさっての方向にいってるんだが
そっちはいいのか?
378デフォルトの名無しさん:2013/10/03(木) 01:38:41.28
>>377
キニスンナ、条件によっては正しいし
379デフォルトの名無しさん:2013/10/03(木) 01:43:29.06
>>378
お前は馬鹿か
380デフォルトの名無しさん:2013/10/03(木) 01:44:40.20
>>379
要素数が 0 または 1 のときに限り正しい可能性がある
381デフォルトの名無しさん:2013/10/03(木) 01:59:38.06
どういう可能性?
結局、ソート関数を空呼び出しするだけ遅いような。
382デフォルトの名無しさん:2013/10/03(木) 02:06:21.68
バックスペースキーがめり込むようになった。部品をよく見るとプラスチックが少し摩耗していた。
使っていないscroll lockの部品と取り替えたら治った。
383デフォルトの名無しさん:2013/10/03(木) 03:55:06.39
>>355のバカっぷりを笑ってるだけで、別にあさっての方向には行ってないだろw
384デフォルトの名無しさん:2013/10/03(木) 11:27:53.31
Where is day after トゥモロー?
385デフォルトの名無しさん:2013/10/03(木) 18:50:52.78
スクリプトからくると、Cの戻り値がついた関数名が多いんですけど、あれは大事な事なんですか?
vAbc()とかint16Hoge()とか。 名前の付け方に違和感を感じるこの頃。
386デフォルトの名無しさん:2013/10/03(木) 19:09:38.17
スクリプトからくるの意味がわからんけど
それを書いた人の趣味では
387デフォルトの名無しさん:2013/10/03(木) 19:25:58.14
Scriptにもリターン値あるが…
sub marine {
$hoge = 10
}
388デフォルトの名無しさん:2013/10/03(木) 19:29:44.24
>>387
hoge厨はさっさと消えろ
ここはお前の落書き帳か?
389デフォルトの名無しさん:2013/10/03(木) 19:37:45.60
>>385
長さが大事って強調したいんじゃない?
たまに見かけるけど、そんな一般的な名付けじゃない
390デフォルトの名無しさん:2013/10/03(木) 19:48:45.36
>>388
ダマスカス
そのままブーメランにしてやんよ
391デフォルトの名無しさん:2013/10/03(木) 19:53:25.95
あ、>>351でキチガイみたいなプログラム書いてみた

構造体を無理やりint*にreinterpret_castしてstd::lexicographical_compare()で比較した
構造体は途中にパディングを入れられても文句は言えないからこういうのはやったらダメです
392デフォルトの名無しさん:2013/10/03(木) 20:20:58.40
>>391
お前日常会話でも、あって言ってそうだなw
あっあっ厨乙
393デフォルトの名無しさん:2013/10/03(木) 21:13:32.18
>>392
プログラムが書けない無能はそういう所で人の重箱の隅をつつく事しか出来ないですよね
394デフォルトの名無しさん:2013/10/03(木) 21:32:48.32
>>393
自己顕示欲乙wwww
395デフォルトの名無しさん:2013/10/03(木) 21:36:54.02
ゲームの製作において画像や動画を
パスで読み込みするときはPCによって変わるんだけど
どうやってるんですか?パス名がユーザーによって変わるのに
何で毎回読み込めてるんですか?
396デフォルトの名無しさん:2013/10/03(木) 21:41:36.09
相対パスというものがあってな
397デフォルトの名無しさん:2013/10/03(木) 21:45:04.41
>>396
例えばhtmlのjavascriptだとどうなるんですか?
C言語の環境だとVC++もDelphiのアプリもちゃんと相対パスでできると
主運だけどhtmlでも大丈夫ですか?
398デフォルトの名無しさん:2013/10/03(木) 21:47:14.27
>>394
PHP厨乙
399デフォルトの名無しさん:2013/10/03(木) 21:49:57.47
今ってハードとソフトってどっちの性能が優れているの?
正確に言えばどっちかの進化にもう片方が付いていけてないってのはあるのですか?
400デフォルトの名無しさん:2013/10/03(木) 21:51:30.53
void main(void)ってあり?
401デフォルトの名無しさん:2013/10/03(木) 21:58:12.56
あり
402デフォルトの名無しさん:2013/10/03(木) 22:01:13.16
>>399
日本語とコンピュータの本を勉強しなはれ
403デフォルトの名無しさん:2013/10/03(木) 22:11:35.69
>>402
ハードの性能をソフトが引き出せてない
それとは逆にソフトの性能が良すぎてハードが対応できない
とかあるのですか?と聞いています。
404デフォルトの名無しさん:2013/10/03(木) 22:17:03.18
>>403
チューニング、コードの最適化ならいろな方法があるが
405デフォルトの名無しさん:2013/10/03(木) 22:17:28.51
Cのスレなら、ハードウェア優先だろう。すなわち、ソフトウェアがおいついてない。
デバイスドライバがタコだからうんぬん・・・
406デフォルトの名無しさん:2013/10/03(木) 22:19:07.94
ソフトウェアはもっと快適に動くようになるって事ですか?
これ以上最適化する事とかあるんでしょうかね?
もう考えられる事はとっくにやってるんじゃないですか?
407デフォルトの名無しさん:2013/10/03(木) 22:21:00.42
ムーアの法則でぐぐってみ
408デフォルトの名無しさん:2013/10/03(木) 22:23:02.71
>>405
デバドラは発達途上って事ですか?
409デフォルトの名無しさん:2013/10/03(木) 22:28:54.35
手頃な質問か
410デフォルトの名無しさん:2013/10/03(木) 22:30:25.60
デバドラなんか、ハード屋の言うとおりにレジスタ叩くだけだから
ハード屋の考える限界までは性能出せるけどそれ以上にはならないし、それ未満ならダメプログラムだ
411デフォルトの名無しさん:2013/10/03(木) 22:33:31.84
>>387=社会の落伍者
412デフォルトの名無しさん:2013/10/03(木) 22:40:21.45
>>411
どうしてそう思ったの?w
413デフォルトの名無しさん:2013/10/03(木) 23:09:52.68
そもそもハードをフル回転させるどころか
休ませて省電するのが今のトレンドだろ
414デフォルトの名無しさん:2013/10/03(木) 23:12:39.33
>>412
どうも>>411みたいなキチガイが自己紹介してるらしいんで放置放置
415デフォルトの名無しさん:2013/10/03(木) 23:19:23.15
>>411
PHP厨自己紹介乙
416 ◆QZaw55cn4c :2013/10/03(木) 23:20:34.93
>>385
変数をハンガリアンにするときもある、一時アプリケーションハンガリアンを志したときもある
今でもスコープに関してハンガリアンはやるときもある
しかしハンガリアンの評判は昔も今もよろしくない、当時も馬鹿にされた、システムハンガリアンはしない

関数については返り値に関するハンガリアンはやらない、ただシステムコール/API と区別をつけたくて、自分で定義した関数をハンガリアンとしたことはある
今は、システムコール用にハンガリアンラッパを置いて、サンドボックス的なモジュールを経由して本尊をコールしようかと検討中

まあ、一般には関数にハンガリアンはしないと思う
417 ◆QZaw55cn4c :2013/10/03(木) 23:24:37.20
>>400
int main(void) が一般的
void main() はキチガイ扱いされるのがオチだからやめておけ
418デフォルトの名無しさん:2013/10/03(木) 23:47:59.79
>>411
よう屑
419デフォルトの名無しさん:2013/10/04(金) 00:56:04.04
C11の_Genericで何か面白いことは出来ないだろうか
420 ◆QZaw55cn4c :2013/10/04(金) 01:00:03.53
421デフォルトの名無しさん:2013/10/04(金) 09:28:10.97
>>487が発狂して自演しててワラタw
422デフォルトの名無しさん:2013/10/04(金) 09:56:44.48
>>421
オフサイド
423デフォルトの名無しさん:2013/10/04(金) 09:58:52.89
>>421
セグメンテーションフォールト
424デフォルトの名無しさん:2013/10/04(金) 10:17:22.09
hoge使うような奴をまともに相手にするのが間違い
hogeの意味すら説明できない奴がほとんど
意味を説明できないものを使うとか、
しかも他人に何かを伝えるときに使うとか
頭おかしいんじゃね?
425デフォルトの名無しさん:2013/10/04(金) 10:27:37.14
ぬるぽ
426デフォルトの名無しさん:2013/10/04(金) 11:03:33.64
>>421
Cでは前方参照は出来ない
427デフォルトの名無しさん:2013/10/04(金) 11:23:54.28
>>425
がっ
428デフォルトの名無しさん:2013/10/04(金) 11:30:23.98
>>424
hogeの意味説明オナシャス!!1
429デフォルトの名無しさん:2013/10/04(金) 11:54:57.17
> 意味を説明できないものを使うとか、
これが違うね。hoge厨はここを理解していないのか。
430デフォルトの名無しさん:2013/10/04(金) 12:20:28.47
anti-hogeの人はfooはいいの?
431デフォルトの名無しさん:2013/10/04(金) 12:33:18.80
おれはhogehoge()とかよく使う。
432デフォルトの名無しさん:2013/10/04(金) 13:07:43.57
俺もtypedef int HogeのHoge hage()とかよく使う
433デフォルトの名無しさん:2013/10/04(金) 13:11:21.46
じゃあ俺も
434デフォルトの名無しさん:2013/10/04(金) 13:17:01.56
ほげはげwwwwwwww
435デフォルトの名無しさん:2013/10/04(金) 13:18:46.93
英語ができないってかわいそうだな
俺なんかpublic virtual const def pureし放題だもんな
436デフォルトの名無しさん:2013/10/04(金) 13:21:49.88
Cでもhogeし放題だもんな
437デフォルトの名無しさん:2013/10/04(金) 16:22:40.19
C以外でもhogehogeし放題だろ
438デフォルトの名無しさん:2013/10/04(金) 16:26:39.39
439デフォルトの名無しさん:2013/10/04(金) 17:17:02.73
hogeとか馬鹿じゃねwww
440デフォルトの名無しさん:2013/10/04(金) 18:16:39.31
要素が20~30個のデータに対して
高速なソートアルゴリズムの名前を教えてください。

78K0Rという16bit CPUを13.5MHzで動かしていますが
中央値を求めるために4ms以下にしたいです。

バブルソートにしたら8ms以上かかってしまいました。

データは
struct{ int x, y; } v1, v2;
比較式は
(long)v1.y * v2.x < (long)v2.y * v1.x

intは2バイト、データはint x, y;
ポインタは4バイトです。
441デフォルトの名無しさん:2013/10/04(金) 18:19:49.61
>>440
クイックルワイパー
442デフォルトの名無しさん:2013/10/04(金) 18:32:21.47
>>440
ソートは自前で実装してる?
inline化するとか、変数をregisterに割り付けるとか、どうだろうか
443デフォルトの名無しさん:2013/10/04(金) 18:32:36.65
>>440
それって
A>B かつ B>C のときに A>C が成り立たないから
ソート結果に意味がなさそうな気がする
444デフォルトの名無しさん:2013/10/04(金) 18:53:29.95
ごめん
>>443 は勘違い
445440:2013/10/04(金) 19:03:02.79
みなさんありがとうございます。

>>441
クイックソートでしょうか。
とりあえず、探してきます。

>>442
自前です。ライブラリは使えません。
比較式はソート関数内に直接書いています。
registerも使ってみます。カウンタに使えば良いでしょうか?

>>443
条件を書き忘れてました。すいません。
データの範囲は0≦xです。
もとは以下の式です。
v1.y / v1.x < v2.y / v2.x (実数として) 
傾きの大きさを比較します。
446デフォルトの名無しさん:2013/10/04(金) 19:08:57.14
>>445
コムソートがお手軽で省メモリ
447デフォルトの名無しさん:2013/10/04(金) 19:55:45.67
>>445
inlineっつうのは、C89ならマクロ関数で書くってことだ
展開されたアセンブリコード見て、サイクル数足していけばそれが本当に出来るか分かるんじゃないかね
448デフォルトの名無しさん:2013/10/04(金) 20:00:30.18
シェルソートもあるよ
449デフォルトの名無しさん:2013/10/04(金) 20:10:03.58
プログラム作成スピードは遅いが質のいいのを作るプログラマか
スピード速いが凡庸で最低条件を満たすプログラムしかつくれないプログラマ
だとどっちが重宝しますか?
450デフォルトの名無しさん:2013/10/04(金) 20:19:13.29
作成スピードが速くてテストもドキュメントも書いて
質のいいのを作るプログラマ
451デフォルトの名無しさん:2013/10/04(金) 20:48:21.72
存在するかどうか、可能であるかどうか。ただしく、すなおにかんがえるひとがいい。
雑なひとは、だめだめ。プログラマにむいてない。論理的な思考が必要
452デフォルトの名無しさん:2013/10/04(金) 20:49:04.74
達人プログラマーおすすめしておくは
453デフォルトの名無しさん:2013/10/04(金) 20:56:37.41
プログラム作成スピードは遅い ← 訓練中なら仕事が来る。いつまでもそれではこまる
質のいいのを作る ← 上に行くほど理解者がすくなくなる(誤解されやすい。けおとされる可能性もある)
スピード速い ← わかりやすいから仕事が来る
凡庸 ← 実務というのは、そういう一面がある。没個性(ほぼ期待どおりの仕事ができる)
最低条件を満たす ← わかりやすいから仕事が来る
454デフォルトの名無しさん:2013/10/04(金) 21:26:13.55
最低条件を超えるものも未満のものも、作る必要ない
455440:2013/10/04(金) 21:31:32.67
>>446 >>448
コムソートとシェルソート使えそうなので試してみます。

>>447
マクロ関数というのが使えるか調べてみます。

みなさん、ありがとうございます。
456デフォルトの名無しさん:2013/10/04(金) 21:42:20.81
よくつれました◎
457 ◆QZaw55cn4c :2013/10/04(金) 21:57:04.75
>>455
http://toro.2ch.net/test/read.cgi/tech/1313183984/425 にコムソートを書いておきましたリストのソートにも適用しやすいのがよいところ
しかし高々20〜30なら選択ソートや挿入ソートも検討の余地があると
458 ◆QZaw55cn4c :2013/10/04(金) 21:58:31.13
半分おわったところで打ち切っていいしね
459デフォルトの名無しさん:2013/10/05(土) 02:47:21.17
0以上r未満の整数から重複無くn個選ぶ順列rPn通りから1つを一様な確率で時間O(n)で作るソースください。
460デフォルトの名無しさん:2013/10/05(土) 08:18:13.20
>>440

> (long)v1.y * v2.x < (long)v2.y * v1.x
意味不明
> (long)v1.y * v1.x < (long)v2.y * v2.x
ならわかるが。
こういう事ならソートする前に積を計算しとけ。
中央値を求めるならば全部ソートする必要はなくて、クイックセレクトと呼ばれるアルゴリズムが存在する。

こんなのに喜々として公開オナニーを見せつけるゴミクズはいつまで生きているんだろう。
とっとと死ねばいいのに。
461デフォルトの名無しさん:2013/10/05(土) 08:33:32.76
>>460
小学校の算数も分からないゴミが偉そうにw
462デフォルトの名無しさん:2013/10/05(土) 09:25:50.82
ゴミしかいないスレ
463 ◆QZaw55cn4c :2013/10/05(土) 09:32:36.11
>>460
>クイックセレクト
thx4 keywords これはいいね
464デフォルトの名無しさん:2013/10/05(土) 09:33:53.01
またゴミが来た
465デフォルトの名無しさん:2013/10/05(土) 10:23:19.56
太陽捕まえんぞ()
466デフォルトの名無しさん:2013/10/05(土) 10:55:54.49
>>445
>比較式はソート関数内に直接書いています。

ソート関数にしないで、main内に比較式を書く。
467デフォルトの名無しさん:2013/10/05(土) 11:04:26.08
ゴミがドヤ顔でゴミ知識披露w
468デフォルトの名無しさん:2013/10/05(土) 11:12:32.98
>>466
コールとリターンで9サイクル浮くな
0.7usくらいか
469440:2013/10/05(土) 12:12:25.76
コムソートとシェルソートを試して、5msくらいになりました。

>>457 >>458
charやintのインデックスのソートに置き換えてみましたが、
インデックス構築とアドレス演算のコストがバカにならないらしく
遅くなってしまいましたのでリストも使えなそうです。

あとは、代入回数を減らすとか、そういう最適化になりそうです。

ありがとうございました。
470デフォルトの名無しさん:2013/10/05(土) 17:39:37.12
組み込み始めたんだが規格全然まもられてなくてワロタ
わけわからない実行時エラーばかりで心が折れそう
471デフォルトの名無しさん:2013/10/05(土) 17:45:58.54
ゼッパチ?ゼッパチ?
472デフォルトの名無しさん:2013/10/05(土) 17:47:39.51
その守られてない規格って何だ?
実行時エラーは自分のせいじゃないのか
473デフォルトの名無しさん:2013/10/05(土) 17:56:09.71
組み込みはじめました

おでん、煮込みか
474デフォルトの名無しさん:2013/10/05(土) 19:23:17.81
Cのヘッダかソースから関数宣言を取り出すのに簡単な方法ないかな?
ctagsが使えるかと思ったんだけど、宣言を複数行にわたって書いている場合
関数の型や引数を取りこぼしてしまうのでダメだった。
yacc/lexの定義から自分でパーサー作るなんてのはさすがにやりたくないし。
475デフォルトの名無しさん:2013/10/05(土) 19:26:39.81
色々やったが結局パーサが一番楽だし確実だよ
476デフォルトの名無しさん:2013/10/05(土) 19:30:47.77
そこでbison/flexですよ
477デフォルトの名無しさん:2013/10/05(土) 19:41:26.67
cproto
478デフォルトの名無しさん:2013/10/05(土) 19:52:44.17
ざっくりやるならヘッダを { } と ; で区切るだけだが
精密にやりたいなら bisonでパーサーだな

C系の宣言はキーワードで切り出せないから思ってる以上に厄介なシロモノ

自分で好きにいじれるならヘッダに定型のコメントを突っ込むのが楽
479デフォルトの名無しさん:2013/10/05(土) 20:06:23.05
この早さなら言える
今日はオレの誕生日
プログラミングは置
いといて、英語の勉
強するは。。。。。
480デフォルトの名無しさん:2013/10/05(土) 20:55:49.86
>>474
global、doxgen
481デフォルトの名無しさん:2013/10/05(土) 21:02:34.50
プログラムなんか作ってどうするのよ
周りのみんなは受験勉強やら自己啓発で資格取得やら親しい友人と親睦深めたりしてるのに
プログラミングなんかしてても受験、就職、出世、何の評価にも繋がらないぞ
しかも10年も経てば今やってることなんざ時代遅れの何の役にも立たない糞知識と化すの分かってるのに
時間とエネルギーの無駄TOEICの勉強でもしてた方がなんぼかマシ残念
482デフォルトの名無しさん:2013/10/05(土) 21:08:29.96
英語を勉強することが目的ではなく、英語を使って何ができるかです
483デフォルトの名無しさん:2013/10/05(土) 21:10:13.83
PGで成功するには高専とか専門学校言って信用できる友人作って起業した方がいい
484デフォルトの名無しさん:2013/10/05(土) 21:34:25.60
>>477
>>474

ありがとう、今回はcprotoでいけた。
言われて気づいたけど、昔同じようなことをやるのにdoxgen使ったのを忘れてた。
485デフォルトの名無しさん:2013/10/05(土) 21:35:26.78
間違えた、>>484>>477>>480宛ね。
486デフォルトの名無しさん:2013/10/05(土) 21:36:48.73
一番速いソートはバケットソートでしょ。
ほぼ時間0で探索可能。
クイックソートなんて比べ物にならんくらい早い。
487デフォルトの名無しさん:2013/10/05(土) 22:18:19.91
>>440>>445
> v1.y / v1.x < v2.y / v2.x (実数として) 

比較関数で毎回この計算していたら遅くなるね。
最初に20〜30個の y / x を求めて、それに対してソートすれば
ずいぶん早くなるんじゃないの。
488デフォルトの名無しさん:2013/10/05(土) 22:20:33.20
>>445
> データの範囲は0≦xです。
> v1.y / v1.x < v2.y / v2.x (実数として) 

x == 0.0 の時もあるのか…
489デフォルトの名無しさん:2013/10/05(土) 22:29:33.28
>>485
よかったね、後出し
490デフォルトの名無しさん:2013/10/05(土) 22:51:13.59
>>487
割り算入れたくないんだろ
491487:2013/10/05(土) 22:57:40.84
>>490
ああ、そうか。
> v1.y / v1.x < v2.y / v2.x (実数として) 
を計算するわけじゃないね。
俺の書き込みは見なかったことにしてください。
492デフォルトの名無しさん:2013/10/05(土) 23:04:07.60
doubleのある値fより大きい最小の値が欲しい場合、f*(1.0+DBL_EPSILON)でいいんですかね?
それとも、この式だと問題ありますか?
493デフォルトの名無しさん:2013/10/05(土) 23:08:32.68
494デフォルトの名無しさん:2013/10/05(土) 23:27:30.81
>>492
よく分からないが、多分よろしくないと思う
495デフォルトの名無しさん:2013/10/05(土) 23:58:18.31
>>494
どのへんがよろしくないですかね?
496デフォルトの名無しさん:2013/10/06(日) 00:01:58.30
横だけど、doubleの定義は?
497デフォルトの名無しさん:2013/10/06(日) 00:07:16.90
あぁ、fが負の場合が考慮されてないってことですかね?正の場合なら問題ないですか?
498デフォルトの名無しさん:2013/10/06(日) 00:08:37.78
人の話を聞く気がないのね、お休み
499デフォルトの名無しさん:2013/10/06(日) 00:19:04.10
>>492
機械イプシロンの意味分かってるかな

int main(void)
{
double d = 1.0, e;

e = d + DBL_EPSILON;

if (d == e)
puts("d == e");
else
puts("d != e");

return 0;
}

これの意味が分かれば理解出来てるだろ
500デフォルトの名無しさん:2013/10/06(日) 00:21:02.88
>>492
f + DBL_EPSILONじゃないの?
501デフォルトの名無しさん:2013/10/06(日) 00:28:34.68
ヒント:指数
502デフォルトの名無しさん:2013/10/06(日) 00:43:02.26
>>499
さすがにそれは理解しているつもりですが。>>492だと問題があるんでしょうか?
503デフォルトの名無しさん:2013/10/06(日) 00:44:41.06
仮数部をint型とみなして1足せばいいんじゃね?
double a = -1.0 / 9;
uint64_t b = *((uint64_t*)&amp;a);
uint64_t c = (((uint64_t)1) << 54) - 1;
uint64_t d = b &amp; (~c);
uint64_t e = b &amp; c;
uint64_t _e = e + 1;
uint64_t _b = d + _e;
double _a = *((double*)&amp;_b);

printf("%.20f, %.20f\n", a, _a);
504デフォルトの名無しさん:2013/10/06(日) 00:50:14.54
>>492
例えば f が0よりも大きく、かつ0に最も近い値だった場合はどうなる?
505デフォルトの名無しさん:2013/10/06(日) 01:30:02.38
非正規化数の場合は確かに問題ありますね。正規化数なら問題ないでしょうか?
506デフォルトの名無しさん:2013/10/06(日) 02:08:45.68
変数++の++がないことに気づかないで半日バグってた・・・
507デフォルトの名無しさん:2013/10/06(日) 02:12:11.37
>>503
桁上がりも頼むぜ
508デフォルトの名無しさん:2013/10/06(日) 02:18:25.63
>>506
default: が defualt: になってた俺よりマシ
509デフォルトの名無しさん:2013/10/06(日) 02:20:17.01
f + f * DBL_EPSILON だとどうだろう
510 ◆QZaw55cn4c :2013/10/06(日) 08:04:04.84
>>492
任意の浮動小数点数の機械イプシロンはその指数部の値に依存しているから、単純に掛算ではもとまらないと思う。
511デフォルトの名無しさん:2013/10/06(日) 09:01:43.52
指数に依存するから掛けるんじゃねーかな?
求まらない例ってどんなのがある?
512デフォルトの名無しさん:2013/10/06(日) 09:45:57.79
仮数なら乗算だけど、指数ならべき乗じゃないの
513デフォルトの名無しさん:2013/10/06(日) 10:19:45.72
FPUん中どんな処理するか知らんけどビット動かすだけなら
x+=(*(double*)&(*(uint64_t*)&x & 0xfff0000000000000))/0x8000000000000;
じゃね
514デフォルトの名無しさん:2013/10/06(日) 12:43:53.51
>>508
どんなエディタ使ってるのさ
Emacsならイチコロさ
515デフォルトの名無しさん:2013/10/06(日) 12:57:17.75
てかプログラマがドザーってどうよ
まさかCygwinで開発してるの?
Virtual Boxとか?
516デフォルトの名無しさん:2013/10/06(日) 13:15:51.85
>>492
nextafter使え
517デフォルトの名無しさん:2013/10/06(日) 13:34:56.53
>>515
ベンダー提供の組み込み開発環境って、Windowsばっかじゃね
まさかアプリケーション作成で今さらC使うやつなんていないだろうし
518 ◆QZaw55cn4c :2013/10/06(日) 15:21:37.22
今は組み込みでも Java/C#(http://en.wikipedia.org/wiki/.NET_Micro_Framework / ARM)ときくしね
519デフォルトの名無しさん:2013/10/06(日) 15:39:59.02
>>507
open64のnextafterの実装見てみたら、非数とかチェックした後は
指数と仮数を区別したりせず単にuint64として1足してるだけだった。
仮数部の桁上がりがあるときは全bit0になるからこれでいいんだな。
520デフォルトの名無しさん:2013/10/06(日) 19:05:42.13
なかっち 動画
http://www.youtube.com/watch?v=z2qK2lhk9O0s



みんなで選ぶニコ生重大事件 2012
http://vote1.fc2.com/browse/16615334/2/
2012年 ニコ生MVP
http://blog.with2.net/vote/?m=va&id=103374&bm=
2012年ニコ生事件簿ベスト10
http://niconama.doorblog.jp/archives/21097592.html


生放送の配信者がFME切り忘れプライベートを晒す羽目に 放送後に取った行動とは?
http://getnews.jp/archives/227112
FME切り忘れた生主が放送終了後、驚愕の行動
http://niconama.doorblog.jp/archives/9369466.html
台湾誌
http://www.ettoday.net/news/20120625/64810.htm
521デフォルトの名無しさん:2013/10/07(月) 19:54:20.34
>>518
物を知らないってのは平和でいいなw
522デフォルトの名無しさん:2013/10/07(月) 23:03:32.21
>>510
結局これどうなの?
523デフォルトの名無しさん:2013/10/07(月) 23:07:03.72
>>517
Cのインタフェースが用意されていれば、どの言語でも結合できる
524デフォルトの名無しさん:2013/10/07(月) 23:30:46.84
果たして自分でやってみた上での発言だろうか?
525デフォルトの名無しさん:2013/10/07(月) 23:31:37.46
とうしろうだろうjk
526デフォルトの名無しさん:2013/10/08(火) 00:48:55.51
SDL
527デフォルトの名無しさん:2013/10/08(火) 08:34:49.27
>>522
ダメに決まってんだろ バカ
理由は自分でかんがえろ
528デフォルトの名無しさん:2013/10/08(火) 09:37:07.27
「俺に聞け」スレで言う台詞じゃねーな。
529デフォルトの名無しさん:2013/10/08(火) 11:22:31.98
C言語以前の問題だから
530デフォルトの名無しさん:2013/10/08(火) 11:54:53.00
スルー検定、死屍累々だな
531デフォルトの名無しさん:2013/10/08(火) 14:37:32.78
倍精度実数型の変数xを定義して、2.84521で初期化する。また、整数型の変数をそれぞれ、a=1.b=2.c=3と定義する。y=ax^2+bx+c yが上の式で与えられたとき、yの値を計算して、画面出力のプログラムです。

浮動小数点型の変数xとyを定義して、それぞれに、1.5,1.2を代入する。 z=x^2-y^2 zの計算をして、結果を画面出力するプログラムです。誰かわかりますか?
532デフォルトの名無しさん:2013/10/08(火) 14:47:22.83
/* >>531 前者 */
#include <stdio.h>
int main()
{
double x = 2.84521;
int a = 1;
int b = 2;
int c = 3;
printf("y = %g\n", a * x * x + b * x + c);
return 0;
}
533デフォルトの名無しさん:2013/10/08(火) 14:49:29.26
/* >>531 後者 */
#include <stdio.h>
int main()
{
float x;
float y;
x = 1.5;
y = 1.2;
printf("z = %g\n", x * x - y * y);
return 0;
}
534デフォルトの名無しさん:2013/10/08(火) 14:56:01.18
ありがとうございます( ^∀^)
助かります。
535デフォルトの名無しさん:2013/10/08(火) 19:53:03.35
円の半径radiusが10.0cmのとき、円周circumおよび面積areaを求めるプログラムの作成、ただし、変数はdouble型、円周率は3.1415926とし、小数点以下5桁目まで表示。
出来ればお願いします。
536デフォルトの名無しさん:2013/10/08(火) 20:02:02.43
πは
3.14159265358979… だから
3.1415926 ではなく
3.1415927 であってほしいな
537デフォルトの名無しさん:2013/10/08(火) 20:05:12.61
宿題スレの方がいいんじゃん
538デフォルトの名無しさん:2013/10/08(火) 20:17:04.54
面積に1桁違いが出るね
http://codepad.org/hxa3EqNf
わざとかもね
539デフォルトの名無しさん:2013/10/08(火) 20:47:29.52
スレ的にどこまでが入門?
540デフォルトの名無しさん:2013/10/08(火) 20:51:48.34
脱初心者するまえにハゲと同レベルにはなりたいね
541デフォルトの名無しさん:2013/10/08(火) 21:02:43.99
>>539
べつに統一見解とかないよ
542デフォルトの名無しさん:2013/10/08(火) 21:08:20.49
>>541
はぁ?
明確な基準もないものを掲げてんの?
お前プログラマーじゃないだろ
早く板から出ていけ
543デフォルトの名無しさん:2013/10/08(火) 23:05:23.91
数年前までは物理的に門があったんだが撤去されちまったからな
544デフォルトの名無しさん:2013/10/08(火) 23:06:50.30
羅生門
545デフォルトの名無しさん:2013/10/08(火) 23:23:46.02
南大門
546デフォルトの名無しさん:2013/10/09(水) 00:01:51.26
>>522
試してみればわかるが、両者は必ずしも一致しない。
とはいえ、差は高々1LSBだし依存するのはおそらく仮数部のMSBにだから
QZの言ってることは正しくないと思うがな。

double f = M_PI;
union {
double d;
unsigned __int64 u64;
} a, b, c;

a.d = f * ( 1.0 + DBL_EPSILON );
b.d = f;
b.u64 += 1;

__int64 diff = a.u64 - b.u64;
547デフォルトの名無しさん:2013/10/09(水) 00:12:01.23
ハッシュテーブル作りたいんやけど
チェイン法 と
オープンアドレス法
どっちがいいの?
548デフォルトの名無しさん:2013/10/09(水) 00:16:40.75
スピード重視ならオープンアドレス法

データの削除と追加が頻繁に行われるならチェイン法

平均的な速度と効率を出すには両者併用
549デフォルトの名無しさん:2013/10/09(水) 00:35:36.78
チョンからのアクセスをCGIレベルで弾きたいのですが、設計から教えてください。
判定にはAPINICからテキスト形式のIPアドレスリストをダウンロードして使いたいと思います。
リストは週1程度で定期的に取得する予定です。

このリストはどのような形式で持っておくのが良いのか望ましいのでしょうか。
CSVのようなテキストファイルで持っておくのか、データベースに入れておくのがよいのか。
またそのときの表記は123.123.123.123/30のような形式が良いのか、123.123.123.123〜123.123.123.126のような形式が良いのか。
もしくはもっと他の方法が良いのか。
判定方法にも関わる部分なので判定方法も含めて回答をお願いします。
550デフォルトの名無しさん:2013/10/09(水) 00:48:50.20
ファイルよりDBが早い
表記は正規化
551 ◆QZaw55cn4c :2013/10/09(水) 03:52:33.40
>>546
>差は高々1LSBだし
ためしてみると結構一致しますね.もっとだめかと思ってた,float で試してみました.http://codepad.org/pkYX1f3i

>依存するのはおそらく仮数部のMSB

仮数部の刻み幅,いいかえるといただいたコードにある「+= 1」の実際の量を決めるのは指数部なのでは?
552 ◆QZaw55cn4c :2013/10/09(水) 04:16:41.64
>>547−548
オープンアドレス法における衝突時処理のいろいろなやっかいさ(削除するときも空白マークとは別の削除マークをつけないと、そこで途切れちゃうよね)を考えるとまずはチェイン法でお手軽に組んじゃうよね。
チェインの方法を二分木にするとか結構うまくいきそうだ
553デフォルトの名無しさん:2013/10/09(水) 06:47:22.91
>>549-550
Linuxのiptablesを参照すれば?

Linuxのパケット・フィルタリング、netfilter(iptables)では、
適用ルールを線形探索するので、ルール数が5千以上あると、
性能が極端に低下する
32ビット・カーネルでは、25,000で、カーネルメモリが不足する

次に、IP rangeは、IPアドレスが連続している場合にのみ、
使えるが、アドレスがうまくまとめられないこともある

3つ目は、IP setで、不連続なIPアドレス
(+ネットワーク・アドレス、MACアドレス、ポート)を、
1つのルールにまとめる
ただし、カーネル2.6.39以降で使える

線形探索は、データ数nに比例する、O(n)ので、
2分探索、O(log n)のアルゴリズムが選択できれば、速い


>>547-548
オープンアドレス法は、アルゴリズムがややこしそう
554デフォルトの名無しさん:2013/10/09(水) 08:05:06.77
>>551
数値としての実際の値に影響するのは指数部だが、それには元の値との掛算でいい。
>>546で言っているのは、真の後者との1LSBの差が何によるものかということ。

(1.0+DBL_EPSILON)の仮数部のビットパターンは定義により以下のようになる。
#(1)はケチ表現で省略されたビット

(1)00...01

このとき、次のビットパターンで表される任意の値との乗算は

(1)a*...**

以下の加算と同等だが

(1)a*...**
(0)00...01a*...**

このとき、aのビットが1のとき繰上げが起きると推測。
まあ、ここの動作は環境依存かもしれないが。
555 ◆QZaw55cn4c :2013/10/09(水) 18:48:20.06
>>554
なるほど,深く納得しました,感激感謝
556デフォルトの名無しさん:2013/10/09(水) 19:23:42.63
お前らネトウヨかよ…
557デフォルトの名無しさん:2013/10/09(水) 19:35:13.80
仕事で中韓に投げると余計な手間が増えるから、
この業界だと中韓嫌いが多いんじゃねーの?
558デフォルトの名無しさん:2013/10/09(水) 19:41:07.49
インドの山奥で修行して♪
559デフォルトの名無しさん:2013/10/09(水) 20:14:14.60
ダイバダッタか?
560デフォルトの名無しさん:2013/10/09(水) 20:29:44.01
まずはHogeで修行しないと
561デフォルトの名無しさん:2013/10/09(水) 20:48:24.97
俺は Cu か Al まで
Au の化身にはなれなかった

師匠の禁を破り Pb も使うが
562デフォルトの名無しさん:2013/10/09(水) 20:59:47.21
青の錬金術師か?
563デフォルトの名無しさん:2013/10/09(水) 21:03:53.29
Hogeのクェイサー
564デフォルトの名無しさん:2013/10/09(水) 21:17:43.17
>>559
グロタンディークでしょ
565デフォルトの名無しさん:2013/10/09(水) 23:47:15.82
プログラミング初心者です。
学校で巡回セールスマン問題が出されたのですがプログラミングが出来ません…
近似解を求めれば良いのですが、とりあえず地点が5つ(地点0〜地点4)の場合を考えています。

それでスタート地点を地点0に固定にして開始して移動コストの一番少ない地点に飛び、
今度はその地点から移動コストの一番少ない地点に飛び、を繰り返して5箇所回るプログラムを考えています。
学校からはプログラムの雛形が与えられており、cost[i][j]が移動コストで
iが移動元の地点の値、jが移動先の地点の値になっています。

続きます
566デフォルトの名無しさん:2013/10/09(水) 23:50:46.01
地点0から始めて移動コストが一番少ない地点Xを求めるプログラムはわかるのですが、
地点Xから地点Yまで、地点Yから地点Zまで、と求める方法がわかりません。
具体的には地点Xから地点Yを考慮するときに、地点0と地点Yを抜いた残りの地点を任意の変数に格納する方法がわかりません。
例えば地点0から地点3に移動した時、残りの地点は地点1,2,4となるのですが、これを求める方法がわかりません。
これがわかればまずはひとつ進みそうなのですが…。

因みに出力はlist[N]で、N=0から回る順番を入れます(0→2→3→1→4と回るときはlist[N]={0, 2, 3, 1, 4}となります)
わかりにくい説明ですみません。
567デフォルトの名無しさん:2013/10/09(水) 23:56:33.18
ググれ
話はそれからだ
568デフォルトの名無しさん:2013/10/10(木) 00:03:56.96
>>566
訪れたかどうかのフラグを配列で持つ。
例えば、visited[N]={1, 0, 1, 0, 0}なら残りの地点は1,2,4
569デフォルトの名無しさん:2013/10/10(木) 01:01:11.16
>>565,566
課題の制約ある?
例えば、ダイクストラ法使っちゃダメ、とか。
570デフォルトの名無しさん:2013/10/10(木) 01:10:47.02
ソケット通信以外の通信って(実用的に使われてるもので)あるの?
571デフォルトの名無しさん:2013/10/10(木) 01:13:02.52
パイプとか?
572デフォルトの名無しさん:2013/10/10(木) 01:16:10.15
>>570
ソケット以下の層の通信なら映像配信とか機械制御とかいろいろあるけど
何を以ってソケットと言ってるのか
573デフォルトの名無しさん:2013/10/10(木) 01:30:19.74
WEBからデータ受け取ってごにょごにょしたい時に
ソケット以外の通信ってあるのかなと思って
574デフォルトの名無しさん:2013/10/10(木) 01:42:39.43
>>573
無いな
575デフォルトの名無しさん:2013/10/10(木) 01:58:40.81
じゃあソケットの勉強だけでいいんだね
サンキュー
576デフォルトの名無しさん:2013/10/10(木) 02:03:27.82
学校の課題の問題で詰まったから教えてほしい

要素の数が40の文字型配列 str1, str2, str3 を、初期値なしで宣言する。
その後、str1 に "Let's" を、str2 に "study" を、 str3 に "programming." を代入し、これらの文字をつなげて出力するプログラムを、strcat 関数を使わない場合と使った場合の2種類作りなさい。

n1がなんちゃらってやつなのはなんとなく分かるんだけど、どこで使えばいいか・・・
577デフォルトの名無しさん:2013/10/10(木) 02:57:41.66
>>576
strcat 関数を使わない場合
printf("%s%s%s¥n",str1,str2,str3);
578デフォルトの名無しさん:2013/10/10(木) 03:08:50.70
579デフォルトの名無しさん:2013/10/10(木) 04:29:50.28
>>577>>578
できたありがとう
580デフォルトの名無しさん:2013/10/10(木) 06:23:49.99
>>575
と誤解して去っていくのであった
581549:2013/10/10(木) 11:28:52.45
ありがとうございます。
とりあえず試験的に現在製作中のサイトでのみチョンDenyをしたかったのですが、
もうiptablesで80番443番ポートをチョンDenyします。
582デフォルトの名無しさん:2013/10/10(木) 11:33:16.62
おまえらネトウヨかよ…
583デフォルトの名無しさん:2013/10/10(木) 11:43:15.94
>>578
ごみかすだなぁ。
せめて、work[0] = '\0'するか初回のstrcat()をstrcpy()に変更するかしろよ。
584デフォルトの名無しさん:2013/10/10(木) 11:47:12.70
出題意図がstrcat()相当の関数を自作しなさいってことだったらNGだな。
585デフォルトの名無しさん:2013/10/10(木) 11:55:40.37
業務ならまだしもそれ以外なら基本的に中韓は火壁で全ポート弾くだろ
586デフォルトの名無しさん:2013/10/10(木) 12:18:49.43
韓国だけ弾いてる。
587デフォルトの名無しさん:2013/10/10(木) 12:49:53.13
どちらかというとネトサヨだけど
中韓は最優先、次点で露、南米を弾く
588デフォルトの名無しさん:2013/10/10(木) 12:55:14.77
自宅鯖やってるんだけど
中韓からのブルートフォースアタックが異常に多い
589デフォルトの名無しさん:2013/10/10(木) 13:06:35.24
アタック一度来たところは容赦なく遮断してる
590デフォルトの名無しさん:2013/10/10(木) 13:43:02.33
おまいら纏めてスレ違い。
591デフォルトの名無しさん:2013/10/10(木) 14:02:14.38
昔韓国からのアクセスを全ポートで弾いたら日本のとある施設からアクセスできなくなったことがある
俺の設定ミスかはたまた
592デフォルトの名無しさん:2013/10/10(木) 14:47:40.89
clangってMacでインストールするの楽?
593デフォルトの名無しさん:2013/10/10(木) 16:04:05.39
馬鹿には厳しい
594デフォルトの名無しさん:2013/10/10(木) 16:32:48.50
>>592
特になんにもやった覚えはないが入ってるな
~:$ clang --version
Apple clang version 4.0 (tags/Apple/clang-421.0.60) (based on LLVM 3.1svn)
Target: x86_64-apple-darwin11.4.2
Thread model: posix
~:$ uname -a
Darwin server.local 11.4.2 Darwin Kernel Version 11.4.2: Thu Aug 23 16:25:48 PDT 2012; root:xnu-1699.32.7~1/RELEASE_X86_64 x86_64
595デフォルトの名無しさん:2013/10/10(木) 16:55:51.74
亀レスすみません。
>>568
なるほど。そうすれば良いんですね。
しかし自分のレベルでそれをうまくできるか…とにかくやってみます
>>569
制約はないです
596デフォルトの名無しさん:2013/10/10(木) 19:21:18.54
最小経路探索法のクラスカル法と
最短経路探索法のダイスカトロ法の違いが分からん。
どっちも同じアルゴリズムになるんだが。
597デフォルトの名無しさん:2013/10/10(木) 19:23:49.04
最小全域木問題のラスカル
598デフォルトの名無しさん:2013/10/10(木) 20:00:02.88
Cのgotoって
何で
:LABELじゃないの?
LABEL:だと解析しにくくないか?
例えばforというラベルがあったらどうするんだろう?
for:だとコンパイルエラーになりそうな気がするが。
599デフォルトの名無しさん:2013/10/10(木) 20:34:37.49
予約語は使えないだろjk
600デフォルトの名無しさん:2013/10/10(木) 20:47:42.41
>>598
ラベルの意味が分かんないの?
601デフォルトの名無しさん:2013/10/10(木) 20:55:48.75
アセンブラのラベルが label: だったっしょ
602デフォルトの名無しさん:2013/10/10(木) 21:05:39.66
Cってポインタとか難しいわー
603デフォルトの名無しさん:2013/10/10(木) 21:05:59.23
そんな決まりあったっけ?
604デフォルトの名無しさん:2013/10/10(木) 21:45:54.40
Rubyよいよね
Cで書かれてるってところがスレチじゃなくてよいよね
605 ◆QZaw55cn4c :2013/10/11(金) 02:18:40.66
>>598
その書き方DOSとかのバッチファイルだけのやね、他の処理系はたいがいラベルは Label: と後ろにコロンを置くものだよ
606デフォルトの名無しさん:2013/10/11(金) 08:33:30.14
バッチファイルだと、
goto for
:for
できるし、このほうが合理的だね

さすが、後でできたもの
goto ラベルのあの書き方は BCPL からあったものだし
607デフォルトの名無しさん:2013/10/11(金) 09:22:06.33
バッチファイルみたいにラベル行はラベルしか書けない
という手抜き仕様でないと、行頭コロンはしづらいんだろうね
608デフォルトの名無しさん:2013/10/11(金) 09:25:33.47
え? だって改行は空白類じゃん
609デフォルトの名無しさん:2013/10/11(金) 16:56:07.48
ところでC11の機能って使ってる?
610デフォルトの名無しさん:2013/10/11(金) 16:56:40.16
あとC++14の予定はあるのにC14は無いのは何故かな?
611デフォルトの名無しさん:2013/10/11(金) 17:03:44.97
既に言語として完成されてるからに決まってるだろ
612 ◆QZaw55cn4c :2013/10/11(金) 17:34:24.41
keyword: 蛇の足
613デフォルトの名無しさん:2013/10/11(金) 19:41:27.35
C11ってどんな関数がプラスされたの。
VSでCの標準関数、使うと警告でて
「僕達、マイクロソフトは、こんな関数を用意したよ
だから、こっちを使って」って出るたびに、うっせーバカ
って思う。
あ、あと新しい関数や仕様の紹介やページのURLもし
張ってくれたら、俺にしたらどうでもいいので
持ってるNEXUS7をゴミ箱にすてます。
はー、AndroidアプリでC叩くのに忙しいー
614デフォルトの名無しさん:2013/10/11(金) 19:58:47.74
http://en.wikipedia.org/wiki/C11_(C_standard_revision)
615デフォルトの名無しさん:2013/10/11(金) 20:08:18.27
>>614
atomic/threadとか、gets削除とか結構まともな変更入ってるな。
616デフォルトの名無しさん:2013/10/11(金) 20:08:44.56
>>613
Nexus7、捨てるくらいならくれ。
617デフォルトの名無しさん:2013/10/11(金) 20:11:21.56
>>613
俺に
618デフォルトの名無しさん:2013/10/11(金) 20:24:36.31
動的に宣言した2次元配列を引数にするときにプロトタイプの引数はどういうふうに書けばいいの?
619デフォルトの名無しさん:2013/10/11(金) 20:28:31.59
動的に確保はできるが、動的に宣言はできない。
620デフォルトの名無しさん:2013/10/11(金) 20:32:49.07
>>619
ごめん間違えました

配列の大きさは実行時に決まるのにプロトタイプの引数はどうすればいいの?
621デフォルトの名無しさん:2013/10/11(金) 20:41:00.51
多分ポインタを使うことになる。その2次元配列らしきものはどういう風に確保してるのか?
622デフォルトの名無しさん:2013/10/11(金) 20:59:07.49
>>621
とりあえず可変長配列です

まず大きさを入力してもらいその大きさの配列を可変長配列で宣言します

でもプロトタイプで引数はa[ ] [3]みたいに大きさを宣言しなくてはいけないので困ってます
623デフォルトの名無しさん:2013/10/11(金) 21:01:05.00
ご存知の方がいましたら教えてください。

質問内容としては、
下のQAと同じ質問です。
http://okwave.jp/qa/q7823570.html
特に
----------
デフォルトゲートウェイがない状態で、C言語にてUDPのブロードキャストを送信したいのですが、
sendto: Network is unreachableとなってしまいます。何が原因なのでしょうか...
----------

この部分の理由ってわかりますかね?
624デフォルトの名無しさん:2013/10/11(金) 21:08:47.77
また宣言と確保を混同してるよ……
int **pp;
pp = (int **)malloc(n * sizeof(int *));
for (i = 0; i < n; i++)
pp[i] = (int *)malloc(m * sizeof(int));

こんな風に書けば、ppはint **型で渡せる。サイズを表すm,nも一緒に渡せばいい。
625デフォルトの名無しさん:2013/10/11(金) 21:16:40.34
>>623
エスパー何級が必要?
626デフォルトの名無しさん:2013/10/11(金) 21:17:03.09
>>622
a[][*]でいいだろ
627デフォルトの名無しさん:2013/10/11(金) 21:18:11.53
>>624

void display(int **a);

int main()
{
scanf("%d", &n);
scanf("%d", &m);

int pp[n][m];

display(pp);
}

これでいけますか?
628デフォルトの名無しさん:2013/10/11(金) 21:19:06.52
>>626
ありがとうございます

試してみます
629デフォルトの名無しさん:2013/10/11(金) 21:20:10.64
>>625
いや、単にLinux上でgatewayを設定していない状態だと
ブロードキャストをsendtoで送ろうとすると
エラーになるのだけど、何故だかわかる人いますかって話だよ。
setsockoptあたりで回避策があるのかなど知っている人がいたらなと。
630デフォルトの名無しさん:2013/10/11(金) 21:22:49.53
>>629
あーそー、頑張れや
631デフォルトの名無しさん:2013/10/11(金) 21:23:55.45
>>630
知らないなら無理してレスしなくていいぞw
無視してくれ
632デフォルトの名無しさん:2013/10/11(金) 21:28:35.68
>>631
しってるけど、さようなら
633デフォルトの名無しさん:2013/10/11(金) 21:30:04.99
>>632
へぇそれは凄いね
634デフォルトの名無しさん:2013/10/11(金) 21:36:56.26
>>627
全然ダメです
635デフォルトの名無しさん:2013/10/11(金) 21:43:48.94
>>224
Xcode入れれば?
勝手にコンパイラもインストールされる
636デフォルトの名無しさん:2013/10/11(金) 21:49:39.87
>>626
嘘教えないで下さい。
637デフォルトの名無しさん:2013/10/11(金) 21:51:58.59
\((*.*))/
638デフォルトの名無しさん:2013/10/11(金) 22:09:50.15
void display(void *a, int n, int m)
{
#define A(i,j) ((int *)a)[(i) + (j) * n]
...
}
int main()
{
int n,m;
scanf("%d", &n);
scanf("%d", &m);

int pp[n][m];

display(pp, n, m);
}
639デフォルトの名無しさん:2013/10/11(金) 22:17:43.94
#define A(i,j) ((int *)a)[(i) * m + (j)]
でなくて?
640デフォルトの名無しさん:2013/10/11(金) 22:23:23.69
>>639
試せばわかる
641デフォルトの名無しさん:2013/10/11(金) 22:30:52.40
話せば分かる
642デフォルトの名無しさん:2013/10/11(金) 22:40:01.79
教えてあげないよ、ジャン
643デフォルトの名無しさん:2013/10/11(金) 22:41:43.43
くやしい(棒)
644デフォルトの名無しさん:2013/10/12(土) 00:06:55.04
くやしい棒って全然違う意味に・・・いや何でもない
645デフォルトの名無しさん:2013/10/12(土) 00:59:32.74
俺も「くやしい棒」って何だ?と思ってしまった
646デフォルトの名無しさん:2013/10/12(土) 02:45:38.51
647デフォルトの名無しさん:2013/10/12(土) 08:30:23.63
>>629
こういうアホがブロードキャストしようするとは、世もまつだな
648デフォルトの名無しさん:2013/10/12(土) 08:57:46.62
世も桐だ
649デフォルトの名無しさん:2013/10/12(土) 11:07:25.35
埋め。
650デフォルトの名無しさん:2013/10/12(土) 11:25:18.31
次が坊主かKKKかで、世代が分かる
651デフォルトの名無しさん:2013/10/12(土) 12:42:33.90
アメリカのKKK?
釣れた?
652デフォルトの名無しさん:2013/10/12(土) 12:50:34.27
世も、とんがれとんがれ
653629:2013/10/12(土) 13:02:23.92
自己解決

結局、DHCPなどでやってると思い、
フリーのソースを参考に実装しました。

解決方法としては、socketをSOCK_RAWで作成し
自分でパケットを作れば問題ありませんでした。

>>647
知らないならレスしなくていいよw
てかそんなに悔しかったのかよ・・・。
これで勉強になってよかったね。
654デフォルトの名無しさん:2013/10/12(土) 13:04:25.65
>>653
よかったね、さようなら
655629:2013/10/12(土) 13:09:05.11
>>654
勉強になってよかったね。
656デフォルトの名無しさん:2013/10/12(土) 14:02:20.56
勉強になった、ありがとう
657デフォルトの名無しさん:2013/10/12(土) 14:02:53.78
>>655
だいじにとっとけよ、次はそこで聞けよ
658566:2013/10/13(日) 01:11:43.07
数日前に質問したのですが、わからなかったので質問させてもらいます。
>>568のvisited[N]={1, 0, 1, 0, 0}なら残りの地点は1,2,4
になるのは頭ではわかるのですがプログラムに出来ません…
どのようにすればよろしいでしょうか。
残りの地点の配列をplace[N]として
for文とif文で1と0の時で処理を変えれば良いのはわかりますが、
0の時に数値を代入するにはどうすればいいのかわかりません。
659デフォルトの名無しさん:2013/10/13(日) 02:23:19.77
>>658
n番目の移動でxに移動する場合、list[n] = x とすればいい。
xを求めるには、visited が0の場所すべてについて、n-1番目に移動した
場所と距離がもっとも小さいものを探せばいい。(移動コストが隣接の移動間の場合)

移動コストをトータルで計算するのなら、仮の移動をして、全部移動した(n=Nとなった)
ときにコストを計算する。NP困難なので、この仕様にはしないほうがいい。

学校の宿題ならここで聞く前に先生に聞きなさい。
660デフォルトの名無しさん:2013/10/13(日) 03:14:16.33
>>659
>NP困難なので、この仕様にはしないほうがいい。

>>565で近似解とあるから、いいんじゃね?
661566:2013/10/13(日) 03:27:29.41
>>659
そのvisitedが0の全ての場所を探す方法がわからないんです(~_~;)
あとこの課題月曜提出で教授の連絡先がわからないというオマケ付きで
ここで質問しました。すみません。
662デフォルトの名無しさん:2013/10/13(日) 04:35:05.66
663デフォルトの名無しさん:2013/10/13(日) 08:58:13.80
提出は火曜じゃね?
664デフォルトの名無しさん:2013/10/13(日) 12:36:53.12
次式のXに倍精度実数型データを入力しyを計算し、小数第二位まで表示。
y=(2x+1)(5x-3)/3x^2+2
実行結果 xに2.5を入力した例。
y=2,75
665デフォルトの名無しさん:2013/10/13(日) 14:08:05.67
>>663
何で?
>>661がどこの大学かは知らないけど、うちの大学は明日も問答無用で普通に授業あるよ
6661:2013/10/13(日) 14:16:25.12
日本の大学なら国民の祝日は休みだが
667デフォルトの名無しさん:2013/10/13(日) 15:15:05.36
>>666
日本の大学だよ
チョンチュン留学生がかなり多いが
668デフォルトの名無しさん:2013/10/13(日) 15:19:57.33
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define BUFLEN 256

int main(int ac, char **av)
{
char buf[BUFLEN];
double x, y;

while(1){
fprintf(stdout, "x = ? ");
if(!fgets(buf, sizeof(buf), stdin)) break;
if(!strlen(buf) || buf[0] == '\r' || buf[0] == '\n') break;
if(!sscanf(buf, "%lf", &x)) break;
fprintf(stdout, "x: %f\n", x);
// y = (2. * x + 1.) * (5. * x - 3.) / (3. * x * x) + 2.;
y = (2. * x + 1.) * (5. * x - 3.) / (3. * x * x + 2.);
fprintf(stdout, "x: %20.17f, y: %20.17f\n", x, y);
}
fprintf(stdout, "\n---END---\n");

return 0;
}
669デフォルトの名無しさん:2013/10/13(日) 15:26:03.73
BUFLENだってきっしょW
BUFFERLENGTHって書けないのかよこいつだっせW
670デフォルトの名無しさん:2013/10/13(日) 15:29:42.22
結局sizeof(buf)してるから#defineは不要
671デフォルトの名無しさん:2013/10/13(日) 15:31:24.22
名前なんて飾りです(AAry)
672デフォルトの名無しさん:2013/10/13(日) 15:32:29.41
頭文字は「亜」か?
673デフォルトの名無しさん:2013/10/13(日) 15:37:20.17
strとかcountとか省略したのとしないのがまぜっているのが嫌い
674 ◆QZaw55cn4c :2013/10/13(日) 15:48:42.49
>>668
おやくそく
そのコードだと入力が BUFLEN - 1 バイト以上でちょん切れるね.
BUFLEN = 256 なんてサイズを増やしてなどという姑息なことをせずに,なんとかなりまへんかね?
675デフォルトの名無しさん:2013/10/13(日) 15:50:01.80
わけのわからぬ特亜の主張
676デフォルトの名無しさん:2013/10/13(日) 15:55:33.17
どの程度のことができるようになったら
「Cできます」と言えますか?
677デフォルトの名無しさん:2013/10/13(日) 15:57:49.80
>>674
sscanf()でdoubleを読むだけなのに、そんなにバッファを大きくしてどうするんだ。
678デフォルトの名無しさん:2013/10/13(日) 16:00:57.41
>>676
コンパイラが作れるくらいっていうのが業界の統一見解。
yaccとか使わないで、パーサージェネレーターの段階から自作できないと、コンパイラが書けるとか言ったらダメ。
679デフォルトの名無しさん:2013/10/13(日) 16:09:46.49
OSは作れなくてもいいのか
680デフォルトの名無しさん:2013/10/13(日) 16:14:22.13
>!strlen(buf)
ちょっとアホすぎるんじゃないだろうか
681デフォルトの名無しさん:2013/10/13(日) 16:27:23.33
>>680
なんで?
682デフォルトの名無しさん:2013/10/13(日) 16:29:35.27
>>678
そこまでだと何ヶ月もかかりそうですね
とりあえず入門書を読んで、簡単だったからできたと思ってしまいました
683デフォルトの名無しさん:2013/10/13(日) 16:35:08.65
>>678
カーネル、システムコール知ってますかと思うた
684デフォルトの名無しさん:2013/10/13(日) 16:35:50.48
>>680
疑問型で書くな、頼むから
685デフォルトの名無しさん:2013/10/13(日) 16:36:26.88
>>683
そんなことはC言語知らなくても知ってるだろう
686デフォルトの名無しさん:2013/10/13(日) 16:36:28.62
>>681
strlenが何を返したときに条件をみたすのか、そのときbuff[]はどうなってるのか考えてみたら?
687デフォルトの名無しさん:2013/10/13(日) 16:37:27.60
>>685
えー、おそれいりやした
688デフォルトの名無しさん:2013/10/13(日) 16:37:44.51
>>686
!strlen(buf) は、strlen(buf) == 0 と等価だよ?
689デフォルトの名無しさん:2013/10/13(日) 16:39:45.66
最初の1バイトだけチェックすればいいのに
文字列の最後まで走査してるからアホっつってんだろ
690デフォルトの名無しさん:2013/10/13(日) 16:42:18.18
if(!buf[0] || buf[0] == '\r' || buf[0] == '\n') break;

こういうことか
691デフォルトの名無しさん:2013/10/13(日) 16:44:07.26
そもそもそのケースで文字列長が0になることってあるのかな
692デフォルトの名無しさん:2013/10/13(日) 16:44:58.34
ないけどフェイルセーフとしては悪くはない
693デフォルトの名無しさん:2013/10/13(日) 16:46:00.36
>>691
いきなりctrl-zとかctrl-dを押されたらどうなのかね。
694デフォルトの名無しさん:2013/10/13(日) 16:46:28.57
フェイルセーフって意味知ってる?

使ってみたかったじゃねwwwwwwwwwww
695687:2013/10/13(日) 16:46:47.14
>>685
言語の仕様書が書ける以下なんだ
2層コンパイラ?
696デフォルトの名無しさん:2013/10/13(日) 16:50:41.06
OSの知識と、プログラミング言語の知識は独立
697デフォルトの名無しさん:2013/10/13(日) 16:52:37.56
>>676
AとBが済んだら、Cに進みなさい
698デフォルトの名無しさん:2013/10/13(日) 16:53:40.39
>>696
設計、実装、歴史を考えると・・・
699 ◆QZaw55cn4c :2013/10/13(日) 16:55:04.16
>>678
ちょっと厳しんでないかい,簡単な数式処理くらいで勘弁してくれ
700デフォルトの名無しさん:2013/10/13(日) 17:08:13.04
ドラゴンブック相当のパーサジェネレータは書けるだろうけど、実用には
ほど遠いよ。
701デフォルトの名無しさん:2013/10/13(日) 17:08:31.06
>>699
そんなのexcelで出来るじゃんよ
702デフォルトの名無しさん:2013/10/13(日) 18:20:56.20
プログラムのサイズを調べるプログラムが書けたら「出来る」と言っていいよ
703デフォルトの名無しさん:2013/10/13(日) 18:34:00.19
>>694
例えばfgetsを別な関数で置き換える事が将来あるかもしれない
その関数の仕様如何では役に立つ可能性はある
704 ◆QZaw55cn4c :2013/10/13(日) 21:28:27.40
>>676
よくわからないので質問自体には答えられないけれども
宿題スレhttp://toro.2ch.net/test/read.cgi/tech/1370255305/
お題スレhttp://toro.2ch.net/test/read.cgi/tech/1354393458/では
未だにまともな多バイト長(多桁)計算(加減乗除)が現れてない(俺もまだまだ書けない)ので、
それを書いたら一定の水準にあるんじゃないか?
705デフォルトの名無しさん:2013/10/13(日) 22:53:31.23
本当にQzは低脳だな。バカすぎる。
706デフォルトの名無しさん:2013/10/13(日) 23:02:53.64
いい加減国に帰って欲しいですね
707710:2013/10/13(日) 23:08:57.94
>>700
> 実用にはほど遠いよ。

どう言うところが?
708デフォルトの名無しさん:2013/10/13(日) 23:12:35.12
特に字句解析のテーブルが大きすぎるとこかな。
構文解析の進行によって字句解析のモード変える必要もあるだろうし。
ドラゴンブック相当では実用にならないと思う。
チマチマ改良しても意味なさそうなレベルなんだよね。
709デフォルトの名無しさん:2013/10/13(日) 23:17:18.21
実際に作ってみたらガッカリ。
多少性能悪くても使えるレベルだと予想して取り組んだのに。
お勉強レベルで、実用には程遠かった。
特に字句解析。
構文解析は改良すれば使えそう。

でもなぜか、巷では構文解析を再帰下降で手書きしようみたいな解説が多いよね。
字句解析のほうが手書きする意義大きそうなのに。
対象の構文規則が解析能力を超える理由なら意味わかるんだけど。
そうでもないし。
710710:2013/10/13(日) 23:26:20.44
>>708
> 構文解析の進行によって字句解析のモード変える必要もあるだろうし。

???
711デフォルトの名無しさん:2013/10/13(日) 23:31:19.05
> ???

???
712710:2013/10/13(日) 23:35:53.45
なるほど、??? だとわからんか。
その程度ならしょうがないわな。
713デフォルトの名無しさん:2013/10/13(日) 23:40:16.28
>>711は別の人だけど、正直僕も???。
714デフォルトの名無しさん:2013/10/13(日) 23:58:12.51
構文解析で字句解析のモードを変える需要は広く認知されている
主要な字句解析器生成系はモードをサポートしている

>>710に説明責任があるな
715710:2013/10/14(月) 00:01:04.64
>>714
> 構文解析で字句解析のモードを変える需要は広く認知されている

具体的にどういうケースで?
716デフォルトの名無しさん:2013/10/14(月) 00:08:47.46
>>715
ドラゴン嫁
前提知識が不足
話にならん
717710:2013/10/14(月) 00:11:51.86
>>716
ああごめん、具体的に書けないならそう言ってくれていいから。
718デフォルトの名無しさん:2013/10/14(月) 00:19:39.23
ドラゴン以前
lexのstateの存在意義すら知らないボンクラは参加資格無し
719デフォルトの名無しさん:2013/10/14(月) 00:25:04.37
よくありがちなのは、空白文字やコメントじゃないかな?
これらを構文解析で処理しようとするとコンフリクトが起きることが
多くて、字句解析に頼るほうが楽になるとかあるよ。
JavascriptやHTML5の仕様では仕様書内にモードへの依存が明記されているし。
実際に必要とされているから実装されているんじゃないのかな?
720710:2013/10/14(月) 00:25:47.43
はいはい、具体的に書けないからってきゃんきゃん吠えるなよ (w
721デフォルトの名無しさん:2013/10/14(月) 00:26:12.23
逆に、710さんはなぜモードが必要ないと考えるの?
722デフォルトの名無しさん:2013/10/14(月) 00:27:44.69
あと、>>710の意味も知りたいな。
正直ほんとに???。
723710:2013/10/14(月) 00:33:38.73
>>719
すまん、>>720>>718 宛だ。

> よくありがちなのは、空白文字やコメントじゃないかな?

もうちょい具体的に書いてくれまいか。一応 C スレなので、C の例である?

> 実際に必要とされているから実装されているんじゃないのかな?

スクリプトとかだとそう言うケースがあるのは思い付くんだが、通常のプログラム言語であるんだっけ?
724デフォルトの名無しさん:2013/10/14(月) 00:37:48.00
あ、別の人に聞いてくだし〜。
さようなり〜。
725710:2013/10/14(月) 01:06:08.44
Ubuntuも使えない雑魚が。
726710:2013/10/14(月) 01:10:09.87
>>724
なるほど、具体的に聞かれると困るようですな。
727566:2013/10/14(月) 01:28:55.22
>>662
ありがとうございます!参考にさせていただきます!
728デフォルトの名無しさん:2013/10/14(月) 05:57:48.32
おはようございます。プログラム始めて1週間の工房です
3時間ほど足りない脳みそ使って考えてみたのですが解決しないので質問します
予想では引数の受け渡しがうまくいってなくてkazu関数の値を返せていないからだと思うのですが...
よろしくお願いします

#include <stdio.h>

int kazu(int,int);

int main(void)
{
int migi,hidari,kekka;

scanf("%d %d",&migi,&hidari);
kekka = kazu(migi,hidari);

switch (kekka) {
case 0:
printf("少ない\n");
break;
case 1:
printf("普通\n");
break;
case 2:
printf("多い\n");
break;
}
return 0;
}
729728:2013/10/14(月) 05:58:54.69
改行制限に引っかかったので分けました
続きです

int kazu(int migi,int hidari)
{
int goukei = migi + hidari;

if (goukei > 10)
return 2;
if (goukei > 5 && goukei < 10)
return 1;
if (goukei < 5)
return 0;
}
730デフォルトの名無しさん:2013/10/14(月) 07:20:45.32
いきなりプログラム貼られてよろしくお願いしますとか言われても・・・
731デフォルトの名無しさん:2013/10/14(月) 07:34:51.61
俺らに聞く前にコンパイラの警告をしっかり理解しろ
合計が10の場合
732デフォルトの名無しさん:2013/10/14(月) 07:42:15.65
デバッガーの使い方を覚えろ
合計が5の場合
733デフォルトの名無しさん:2013/10/14(月) 07:44:04.14
エスパーすると、migiとhidariの合計値で動作を変更したいのだと思うが、条件式がおかしい。

int kazu(int migi,int hidari)
{
int goukei = migi + hidari;

if (goukei > 10)
return 2; // 合計が10より大きいなら2を返す
if (goukei > 5 && goukei < 10)
return 1; // 合計が5よりも大きく、かつ10より小さいとき1を返す
if (goukei < 5)
return 0; // 合計が5未満のとき0を返す
}

あと、どの条件にも当てはまらないとき、関数の最後で値を返していないので警告がでるはず。
734728:2013/10/14(月) 10:23:26.88
>>730
こういう場合、どうやって聞くのがよかったでしょうか?
後学のために教えてもらえないでしょうか

>>731>>732
算数ができていませんでした...ありがとうございました

>>733
分かりやすく指摘してもらいありがとうございました!
一応、これで指示通り動きました

if (goukei >= 1 && goukei <= 3){
return 0;
}else if (goukei >= 4 && goukei <= 7){
return 1;
}else if (goukei >= 8 && goukei <= 10){
return 2;
}else{
return 3;
}

もう少し寝てご飯食べてまた勉強しようと思います
ありがとうございました
735デフォルトの名無しさん:2013/10/14(月) 10:34:08.58
>>734
>こういう場合、どうやって聞くのがよかったでしょうか?

大抵は、以下の1.〜3.の情報があればいい。
自分が質問された場合に、欲しい情報は何か?と考える習慣があると役に立つ。

1.やりたい事
例:
0未満の入力の場合、”小さい”と表示。
0以上の入力の場合、”大きい”と表示。

2.実際に起こった事
例:
0入力の場合に、"小さい"と表示されてしまう

3.回答者が状況を再現出来る程度の情報
例:
コンパイルが上手くいかない場合は
言語の種類、コンパイラのバージョン、OSのバージョン
736728:2013/10/14(月) 10:45:25.82
>>735
要点をまとめて質問すればよかったんですね
これからは気をつけようと思います
ありがとうございました
737710:2013/10/14(月) 11:05:00.89
おっ、礼儀正しい奴だな
738デフォルトの名無しさん:2013/10/14(月) 11:12:00.32
なぜなら、each、map、lambda、yieldなどがあるからです。
739デフォルトの名無しさん:2013/10/14(月) 11:12:45.26
>>738
クソワロタwwwwwwww
740デフォルトの名無しさん:2013/10/14(月) 11:47:23.92
宿題として宿題スレへ丸投げすりゃいいのに
741デフォルトの名無しさん:2013/10/14(月) 13:19:09.04
2次元配列って難しい?
742デフォルトの名無しさん:2013/10/14(月) 13:24:55.67
1次元配列と2次元配列の違いを教えろ下さい
743デフォルトの名無しさん:2013/10/14(月) 13:30:34.94
1次元配列 == {1,2,3,4}; (配列を1つだけもっている)
2次元配列 == {1,2,3,4}, {5,6,7,8} (配列を複数持っている)

でおk?
744デフォルトの名無しさん:2013/10/14(月) 13:41:03.35
本質的には両者には全く差がない
745デフォルトの名無しさん:2013/10/14(月) 13:43:44.75
>>742
自分で調べろ池沼
746デフォルトの名無しさん:2013/10/14(月) 14:05:54.85
>>745
何言ってんだこいつ
747デフォルトの名無しさん:2013/10/14(月) 14:07:18.71
>>746=ゴミ
748デフォルトの名無しさん:2013/10/14(月) 14:13:34.32
>>746
入門スレに逃げて来た奴に触っちゃだめ。
749デフォルトの名無しさん:2013/10/14(月) 14:15:03.51
>>747=塵
750デフォルトの名無しさん:2013/10/14(月) 14:16:00.17
>>747-748
いいから早く答えろください

それともこのスレには本物の約立たずしかいないのですか?
751デフォルトの名無しさん:2013/10/14(月) 14:19:30.38
>>750
よくわからないけどありがとう♪

けれども一応解決しました

1次元配列 [i]
2次元配列 [i][j]
3次元配列 [i][j][k]
……
752デフォルトの名無しさん:2013/10/14(月) 14:20:19.70
なにが違うって見た目から違うだろ。
わからない理由がわからんわ。
753デフォルトの名無しさん:2013/10/14(月) 14:21:04.96
>>752
だからもう解決したと
754デフォルトの名無しさん:2013/10/14(月) 16:09:35.00
755デフォルトの名無しさん:2013/10/14(月) 16:19:54.69
>>723
おまえさ、一応 C スレなら翻訳段階くらい理解してきているよな?
実際、翻訳段階ごとに予約語や識別子のテーブルはガンガン変わるし
756710:2013/10/14(月) 16:26:27.62
>>755
具体例も書けない奴に用はないよ。
757デフォルトの名無しさん:2013/10/14(月) 16:30:46.88
>>751
違うよ

1次元配列 [i]
2次元配列 [j][i]
3次元配列 [k][j][i]
……

こうだよ
758デフォルトの名無しさん:2013/10/14(月) 16:39:14.47
>>756
具体例: defined
759710:2013/10/14(月) 16:52:53.66
>>758
だから書けない奴には用はない。

まあ字句解析の話に翻訳段階とか予約語とか言う奴なので相手するだけ無駄かな (w
760デフォルトの名無しさん:2013/10/14(月) 17:11:29.82
>>759
字句解析と予約語は関係ねえって?
バイト単位、エスケープ単位、トークン単位と変わっていく中で???
761デフォルトの名無しさん:2013/10/14(月) 17:30:22.62
野暮用入ったんで今日は落ちる
2ちゃんできるのは明後日くらいの見込み
762デフォルトの名無しさん:2013/10/14(月) 17:37:10.61
2ちゃんでき升
763710:2013/10/14(月) 17:54:06.63
>>760
> バイト単位、エスケープ単位、トークン単位と変わっていく中で???

...、無理すんなって (w
764デフォルトの名無しさん:2013/10/14(月) 20:51:37.08
ドラゴンブックも第二版はちょっとなあ…
765デフォルトの名無しさん:2013/10/14(月) 21:05:16.66
766デフォルトの名無しさん:2013/10/14(月) 21:36:51.23
まだやってたんだ。
得るもの何もないのに。
僕は今日、新しいパーサジェネレータを考えたよ。
767デフォルトの名無しさん:2013/10/14(月) 22:02:09.91
>>766
yaccでおk
うpキボンヌ
768デフォルトの名無しさん:2013/10/14(月) 22:32:18.02
>>767
まずは何円払うか書けよボンクラ。
769710:2013/10/14(月) 22:51:19.37
頑張って 5円かな
770デフォルトの名無しさん:2013/10/14(月) 23:31:28.48
考えただけで実装してないから無理。
今わくわく中。
771デフォルトの名無しさん:2013/10/14(月) 23:40:40.94
まだやってんのw

っていうか、今時Cなんて出来てもチンカスくらい不要だろ
OSをかけるレベルまでに到達してるのは極一握りの人間

大抵の奴は標準出力にhello worldと出力して終わりw
772デフォルトの名無しさん:2013/10/14(月) 23:46:56.67
どっからどう見ても710がわかっていないんだけど、ほかの人たちは
世間がHello Worldだから説明する必要があるんだろね。
普通に考えたら710()でスルーできるはず。
あと、Cの時代はもう終わったほうがいいね。
773710:2013/10/15(火) 00:04:50.83
>>772
日本語からやり直せ。
て言うか、書く内容ないなら ROM ってろ。
774デフォルトの名無しさん:2013/10/15(火) 00:11:22.83
>>772
???
775デフォルトの名無しさん:2013/10/15(火) 01:43:12.85
std::queueにclearがないんだけど、
以下のうちだと、Bのほうが少ない記述で、しかも高速だよね?

A:
std::queue<T> qEmpty;
std::swap( q, qEmpty );

B:
q = queue<T>();
776デフォルトの名無しさん:2013/10/15(火) 09:38:36.20
半径rを入力して、円の面積sと円周c、および、球の面積gsと体積gvを計算し、小数第二位まで表示する。 なおπ=3.1415とし、gs=4πr^2 gv=4πr^3/3
実行結果にxに10を入力
input radius 10.0
En no menski=314.15
Enshu=62.83
kyu no menseki= 1256.60
kyu no taiseki=4188.67
誰かお願いします。
777デフォルトの名無しさん:2013/10/15(火) 10:34:11.67
どうぞ↓
778デフォルトの名無しさん:2013/10/15(火) 10:46:03.15
Perlでオナニーしてくるはwwww
779デフォルトの名無しさん:2013/10/15(火) 12:08:34.60
そういえば球の体積 4πr^3/3 とかの公式って
積分使わないでどうやって求めるの
780デフォルトの名無しさん:2013/10/15(火) 12:46:37.42
微分
781デフォルトの名無しさん:2013/10/15(火) 12:48:44.69
>>779
アルキメデスが水槽に球を沈めてなんたら
782デフォルトの名無しさん:2013/10/15(火) 12:51:09.20
内接と外接で簡単な大小の図形を作って
(外接 - 内接) / 2 + 内接
783デフォルトの名無しさん:2013/10/15(火) 12:59:34.92
Perlでオナニーした結果wwwwwwww
perl -v
はい草wwwwwwww
784デフォルトの名無しさん:2013/10/15(火) 13:09:18.41
785デフォルトの名無しさん:2013/10/15(火) 13:50:57.39
ちからゔぁりえり?
786デフォルトの名無しさん:2013/10/15(火) 13:51:45.31
クソワロタwwwwwwww
さとえりか
787デフォルトの名無しさん:2013/10/15(火) 13:55:13.40
>>786
クソワロタ
788デフォルトの名無しさん:2013/10/15(火) 17:37:18.98
PHPerだけど、C勉強するにはエキスパートCプログラミング読めばOK?
789デフォルトの名無しさん:2013/10/15(火) 17:48:08.57
PHPを勉強する時に、一冊で足りましたか?
まあPHPごときじゃそれでよかったのかもしれませんね
790デフォルトの名無しさん:2013/10/15(火) 18:05:11.87
>>788
ネットのC入門みたいなサイト見れば十分だろ。
791デフォルトの名無しさん:2013/10/15(火) 18:10:00.58
>>788
PHPなんてクソ言語にerなんて付けてる時点で無理
792デフォルトの名無しさん:2013/10/15(火) 18:18:20.06
>PHPerだけど
なぜこのくだりがあるのか全く分からない。
さまか"多少ならプログラム経験ありますけど"の意味で付けたわけじゃないよね?

まさか違うよね?
PHPなんてプログラム言語に部類されない電子産廃なんだから。
793デフォルトの名無しさん:2013/10/15(火) 18:21:20.45
乞食「料理の経験はありますよ、コンビニの破棄弁当もらってきたりとかゴミ箱漁ったりとかね」

PHPer「プログラム経験はありますよ、PHPでシステム開発したりとかね」



同じレベルwwwwwwwwwwwwwww
それ料理じゃないしプログラムじゃないからwwwwwwwwwwwwwww
794デフォルトの名無しさん:2013/10/15(火) 18:22:10.82
>>784力張エリ
他板違いなのにありがとうw

これで4次元超球の超体積 π^2*r^4/2 も出せるんかな
高3のとき受験勉強から逃避して計算してたけど超角錐がイメージできない
795デフォルトの名無しさん:2013/10/15(火) 18:26:36.46
>>793
いや、その例えは違う
796デフォルトの名無しさん:2013/10/15(火) 18:31:59.78
黙れ雑魚
俺はcakePHPでバリバリプログラミングしてたんだよ
お前らみたいな低レイヤーに言われたくないわwwwwwwww
797デフォルトの名無しさん:2013/10/15(火) 18:52:06.97
それで食えてるなら C言語やる必要はないやね
798デフォルトの名無しさん:2013/10/15(火) 19:29:08.26
C を勉強するって言うことは、単に(コンピュータ)言語を勉強することではないよ
799デフォルトの名無しさん:2013/10/15(火) 19:42:00.46
PHPとCは割と似てるから初めてよりだいぶ楽だよ。
800デフォルトの名無しさん:2013/10/15(火) 19:49:22.46
>>798
お前いいこと言うやん
801デフォルトの名無しさん:2013/10/15(火) 20:46:11.05
PHPを勉強することとはPHPのモジュールの使い方を覚えることである
Cを勉強するということはCでモジュールの作り方を覚えることである
802デフォルトの名無しさん:2013/10/15(火) 22:11:10.10
>>801
すこし違うな

Cを勉強するということはCで世界の作り方を覚えることである
803デフォルトの名無しさん:2013/10/15(火) 22:13:56.39
>>801
おまえは馬鹿なんだから黙ってればいいのに…
804デフォルトの名無しさん:2013/10/15(火) 22:14:49.56
>>802
おまえも801と同じく馬鹿なんだから黙ってたほうがいいぞ。老婆心ながら
805デフォルトの名無しさん:2013/10/15(火) 22:24:32.22
>>804
おまえも801と同じく馬鹿なんだから黙ってたほうがいいぞ。
806デフォルトの名無しさん:2013/10/15(火) 22:38:21.79
>>1-805 >>807-1001
おまえらも801と同じく馬鹿なんだから黙ってたほうがいいぞ。
807デフォルトの名無しさん:2013/10/15(火) 22:40:14.32
Cとphpがにてるとよく言うが、
全く違うと思う
まだperlとCの方が似てるんじゃないかと
808デフォルトの名無しさん:2013/10/15(火) 22:42:25.70
CとC++って兄弟みたいな関係?
お互いの短所を補い始めるみたいな
809デフォルトの名無しさん:2013/10/15(火) 22:44:39.58
Cで動くコードは、C++でもほとんど修正なしで動く
810デフォルトの名無しさん:2013/10/15(火) 22:45:15.90
お互いの短所をなめあうみたいな
811デフォルトの名無しさん:2013/10/15(火) 23:04:26.62
>>809
おまえも801と同じく馬鹿なんだから黙ってたほうがいいぞ。
812デフォルトの名無しさん:2013/10/15(火) 23:09:27.53
>>809
Cでは単なる識別子だけどC++で予約語 (new とか firend とか) の置き換え

それ以外に何かある? (呼び出し規約は環境依存の話だろうしなぁ)
813デフォルトの名無しさん:2013/10/15(火) 23:11:57.62
Cで動いてC++で動かないのは旧式の引数記述とプロトタイプ宣言の無い関数を使ったときだけでしょ
814デフォルトの名無しさん:2013/10/15(火) 23:15:32.78
int test(int (*a)[]); // ←こんなのの書き換え
815デフォルトの名無しさん:2013/10/15(火) 23:21:07.92
C++では
char *p = malloc(10);
にキャストが必要。
816デフォルトの名無しさん:2013/10/15(火) 23:22:52.28
普段意識していないけど、案外あるもんだな C/C++ 差
817デフォルトの名無しさん:2013/10/15(火) 23:27:09.17
C99以降の機能をほとんど削除
818デフォルトの名無しさん:2013/10/15(火) 23:55:32.40
>>807
そりゃ、HTML寄生型に特化しただけで、根本はPerlの丸パクりだもの、PHPはさ。
819デフォルトの名無しさん:2013/10/16(水) 00:19:02.57
PerlもPHPも、$を省略できるといいのに
820デフォルトの名無しさん:2013/10/16(水) 01:06:42.10
C++だとSTLに対してBoostのようなのがありますが
Cの場合Boostに相当するのは何?
821デフォルトの名無しさん:2013/10/16(水) 01:16:27.05
extern C{}を知らないカスばっかなの?
822デフォルトの名無しさん:2013/10/16(水) 01:51:31.92
>>819
$ が付いてるからひと目で変数って分かって便利じゃん
823デフォルトの名無しさん:2013/10/16(水) 02:01:51.20
>>822
for($i=0;$i<10;$i++)
一目で分かるって・・・
824デフォルトの名無しさん:2013/10/16(水) 02:03:29.62
stlみたいなの使いたいならCなんて使う意味ないよね
Javaで書けばいいのに
825デフォルトの名無しさん:2013/10/16(水) 02:25:17.61
素直にC++に行くのがいいと思うが
826デフォルトの名無しさん:2013/10/16(水) 02:35:42.76
>>804-806
おまえら801と言いたいだけだろ
827デフォルトの名無しさん:2013/10/16(水) 03:42:26.83
>>823
普通はforeach使うからな
Cが抜けないんだろうな可哀想に
828デフォルトの名無しさん:2013/10/16(水) 05:56:46.15
>>820
SRC_ROOT 使えって言ってんだろ
829デフォルトの名無しさん:2013/10/16(水) 05:57:47.13
コピペ誤爆った・・危ない危ない
glibな
830デフォルトの名無しさん:2013/10/16(水) 11:02:43.27
>>827

「10回処理を繰り返す」を foreach でどう書くか示してみて
831デフォルトの名無しさん:2013/10/16(水) 11:36:44.16
832デフォルトの名無しさん:2013/10/16(水) 11:44:20.20
>>831
今度からforeachを使うようにするよ
でも、$は必要なんだよね?
833デフォルトの名無しさん:2013/10/16(水) 11:47:57.06
C++ですらrange-based forが入ったというのに・・・
834デフォルトの名無しさん:2013/10/16(水) 12:36:26.78
C++はオワコン
835デフォルトの名無しさん:2013/10/16(水) 13:15:10.29
ところで extern "C" {} ではないか
836デフォルトの名無しさん:2013/10/16(水) 14:32:31.88
>>830
foreach (0..10) {
print
}
余裕だがな
837デフォルトの名無しさん:2013/10/16(水) 14:38:24.44
>>832
シジルさえ、いらんな
ただし、>>836は一回多く繰り返してるけど気にするな
838デフォルトの名無しさん:2013/10/16(水) 14:39:58.15
>>832
Perlは奥が深いぞ
ブレースで囲めばセミコロンさえいらないからな
839デフォルトの名無しさん:2013/10/16(水) 19:28:10.02
C++でコルーチン実装してみた
840デフォルトの名無しさん:2013/10/16(水) 21:14:11.97
>>839
ブログでやれ
841デフォルトの名無しさん:2013/10/16(水) 21:17:22.32
ダイクストラなんなキュー使えりゃできる
842デフォルトの名無しさん:2013/10/16(水) 21:46:52.24
そろそろ次スレ立てた方がいいと思う
843デフォルトの名無しさん:2013/10/17(木) 18:58:08.79
Cで動的言語書いてみたいんだけど、あれってどういう仕組みなんだろう。変数に型がないって言っても、内部的には型があるんでしょう?
844デフォルトの名無しさん:2013/10/17(木) 18:58:46.67
Rubyのソースでも読めばいいじゃん
845デフォルトの名無しさん:2013/10/17(木) 19:35:48.06
RHK
846デフォルトの名無しさん:2013/10/17(木) 19:36:56.11
間違えた

RHG
847デフォルトの名無しさん:2013/10/17(木) 20:12:07.83
C言語と全然関係無い話だけど、HDDの針のシークのスピードって
どのくらいなの?相当早いと思うんだけど。
848デフォルトの名無しさん:2013/10/17(木) 20:14:23.73
シングルなら45rpmだったかな。
849デフォルトの名無しさん:2013/10/17(木) 20:15:52.36
青木峰郎さんすごいよな
一橋大学出た文系プログラマだぜ
850デフォルトの名無しさん:2013/10/17(木) 21:51:25.85
プログラマって6割は高卒じゃないの?
俺も大学行くんじゃなかった。
851デフォルトの名無しさん:2013/10/17(木) 21:53:48.83
RUBYかよ、プログラム言語じゃねーだろ
852デフォルトの名無しさん:2013/10/17(木) 22:40:28.52
unionとstructで
853デフォルトの名無しさん:2013/10/17(木) 22:45:13.93
さて、どうした
854デフォルトの名無しさん:2013/10/17(木) 23:34:25.31
32bitなのにx86なのは何で?
86の由来何だ?
855デフォルトの名無しさん:2013/10/17(木) 23:43:46.36
4004→8008→8080→8086
856デフォルトの名無しさん:2013/10/17(木) 23:44:51.99
8086系CPU80386から32bitになった
857デフォルトの名無しさん:2013/10/18(金) 00:05:06.91
とうとうPentiumより前を知らない世代が現役か
俺も年取るわけだ
858デフォルトの名無しさん:2013/10/18(金) 00:12:21.99
Pentium高かったな。Socket7だといろんな銘柄のCPUが出た。現在も粘るAMD
859デフォルトの名無しさん:2013/10/18(金) 00:44:11.74
60MHz(2桁!)が100万超えしてたっけ
PCという名の風洞実験室
860デフォルトの名無しさん:2013/10/18(金) 00:52:09.83
486DX2の66MHzが安くて速かった
861デフォルトの名無しさん:2013/10/18(金) 00:56:50.84
このプログラムの中で書き方がおかしいところとかを教えてください
コンパイルは出来るのですが実行できないです…

#include <stdio.h>
#include <math.h>
#include <limits.h>

int main(void)
{
int t=0;
double i,sum=1.0,k,check;

for(i = 1.0;i < INT_MAX;i += 1.0){
k = (108.0*i*i)/(36.0*i*i-1);
sum *= k;
check = (M_PI/sum) - 1.0;
if(check < 1.0e-6 && check > -1.0e-6){
break;
}

t++;
}

printf("%d\n%f\n%f",t,sum,i,check);

return 0;
}
862デフォルトの名無しさん:2013/10/18(金) 01:01:59.75
>>861
コンパイルしただけでは実行できません。
まずリンクをヤフってください
863デフォルトの名無しさん:2013/10/18(金) 01:06:43.98
>>862
リンクをやふるってどうすればいいんですか?
864デフォルトの名無しさん:2013/10/18(金) 01:22:44.16
リンクをやふるってググってください
865デフォルトの名無しさん:2013/10/18(金) 01:37:23.37
すみません、古谷さんしか出てきませんでした・・・
866片山博文MZコスモ ◆T6xkBnTXz7B0 :2013/10/18(金) 01:38:47.50
まず、コンパイルしたときに、エラーメッセージが出てるか確認して下さい。
あれば、それをここに貼り付けて下さい。なければ、デバッグ実行をして下さい。
実行が一瞬で終わる可能性もあります。その場合は、return 0;の前にgetchar();を書き加えて、再コンパイル&実行して下さい。
867861:2013/10/18(金) 01:44:48.96
すみません自己解決しました
868デフォルトの名無しさん:2013/10/18(金) 01:48:51.19
sumが溢れてる
869デフォルトの名無しさん:2013/10/18(金) 01:49:36.15
>>866
無知ですみません
ありがとうございました!
870デフォルトの名無しさん:2013/10/18(金) 01:54:42.94
>>868
sumが溢れるとはどういう状況ですか?
871デフォルトの名無しさん:2013/10/18(金) 02:03:18.92
doubleで扱える最大数を超えている
872デフォルトの名無しさん:2013/10/18(金) 02:12:15.01
こういう場合はintmaxつかえないのですか?
873デフォルトの名無しさん:2013/10/18(金) 02:26:36.52
>>860
486にDXですらない「無印」があったのは知ってるよな
電波屋さんとの縦割りの壁が今となっては悔やまれる
874デフォルトの名無しさん:2013/10/18(金) 06:32:40.10
>>854
80486互換ぐらいの意味
875デフォルトの名無しさん:2013/10/18(金) 08:09:49.74
for文回すときはカウンタをintでやるべきかと
876デフォルトの名無しさん:2013/10/18(金) 08:41:31.97
FPU
877デフォルトの名無しさん:2013/10/18(金) 08:53:58.58
long intとか
878デフォルトの名無しさん:2013/10/18(金) 08:56:11.76
uint64_tだは、訂正
879デフォルトの名無しさん:2013/10/18(金) 09:06:16.11
for(i=0;i<N;i++)
for(i = 0; i < N; i++)
どっちで書いてますか?
880デフォルトの名無しさん:2013/10/18(金) 09:08:16.83
>>879
整形機能にルール付けすればいいレベルの話。
881デフォルトの名無しさん:2013/10/18(金) 09:47:17.96
int i=0;
x=a[i];
for (i=0;i<N;++i){〜

ばやい for(i=0; の代入を書いたモンかどうか悩む。
882デフォルトの名無しさん:2013/10/18(金) 10:20:02.00
(*p)[i]
こんなのをたまに見ますがこれはどういう意味なのでしょうか
883デフォルトの名無しさん:2013/10/18(金) 10:32:54.40
p[0][i]
884デフォルトの名無しさん:2013/10/18(金) 10:38:18.50
0[p][i]
885デフォルトの名無しさん:2013/10/18(金) 10:40:04.30
i[0[p]]
886デフォルトの名無しさん:2013/10/18(金) 10:44:00.06
#include <stdio.h>

int main(void) {
char *q = (char *)0x0100;
char **p = &q;
printf("%p\n", &p[0][1]);
printf("%p\n", &0[p][1]);
return 0;
}
887デフォルトの名無しさん:2013/10/18(金) 10:48:35.74
888デフォルトの名無しさん:2013/10/18(金) 10:50:39.08
八八八
889デフォルトの名無しさん:2013/10/18(金) 11:02:31.30
ひひひ
890デフォルトの名無しさん:2013/10/18(金) 11:05:05.14
999
891 ◆QZaw55cn4c :2013/10/18(金) 18:35:28.93
>>874
80386としたいのだが…
892デフォルトの名無しさん:2013/10/18(金) 18:59:03.22
最近は i686互換 と言われてるな
893デフォルトの名無しさん:2013/10/18(金) 19:26:45.05
Pro? II? そのへんからなにがなんだかわからなくなってきた…
894デフォルトの名無しさん:2013/10/18(金) 19:44:49.01
895デフォルトの名無しさん:2013/10/18(金) 20:09:22.62
出たw
Wikipedia厨w
896デフォルトの名無しさん:2013/10/18(金) 20:19:34.14
質問です
int main(int argc, char **argv)
{
public static void main(String[] args) {
def main
sub main {
def main():
}
end
}
}
このコードを動かしたいのですが、VisualC++2010というのをインストールしました
897デフォルトの名無しさん:2013/10/18(金) 20:20:06.91
C言語ではないようです
898デフォルトの名無しさん:2013/10/18(金) 20:51:29.25
>>897
何言語ですか?
オレオレ言語ですか??
899デフォルトの名無しさん:2013/10/18(金) 21:05:38.70
>>891
80486以降のCPUはマルチタスクを実装する機能に関してあまり進化していない
900デフォルトの名無しさん:2013/10/18(金) 21:17:13.71
C実践プログラミング P183の実習12-4を作っているのですが
比較の仕方がまずいのか、なぜかif文の中が実行されません。
開発環境はVC++2010
OSはXPです。
デバックの変数ではどちらも同じように見えるのですが・・・。
901デフォルトの名無しさん:2013/10/18(金) 21:17:23.25
>>892-893
MMXサポートかな
902デフォルトの名無しさん:2013/10/18(金) 21:21:10.55
>>900
その実行されないコードを貼ってみてよ
903900:2013/10/18(金) 21:25:09.97
#include <stdio.h>
#define DATA_SIZE 6

struct ticket_reserve {
char name[30];
char depart_code[4]; //depart=出発 3桁のコード
char arrive_code[4]; //arrive=到着
char depart_time[8]; //出発時刻 例:12220302 = 12月22日3月2日
char arrive_time[8]; //到着時刻
};
904900:2013/10/18(金) 21:26:16.12
struct ticket_reserve ticket_date[DATA_SIZE] = {
{"美しい海便", "ac2", "gt6", "12220302", "12230304"},
{"風が気持ちいい便", "ac2", "df7", "12220502", "12220503"},
{"夏を感じる便", "de4", "iu8", "04021211", "04021213"},
{"寒いけど心が引き締まる便","3e2", "te2", "01110825", "01110827"},
{"真夏の夜を感じる便", "ff4", "ff9", "08250101", "08250106"},
{"ネタがねぇ便", "gt6", "gr2", "06311112", "06311114"}
};

char search_depart_code1[4] = "ac2";
char search_depart_code2[4] = "de4";
905デフォルトの名無しさん:2013/10/18(金) 21:28:07.04
a
906900:2013/10/18(金) 21:28:39.29
int main() {
int i;
for ( i=0; i<=DATA_SIZE - 1; i++) {
if( ticket_date[i].depart_code == search_depart_code1)
printf("出発便[%s]を見つけました!:出発コード%s\n", ticket_date[i].name, ticket_date[i].depart_code);

if( ticket_date[i].depart_code == search_depart_code2)
printf("出発便[%s]を見つけました!:出発コード%s\n", ticket_date[i].name, ticket_date[i].depart_code);

}

getchar();
return(0);
}
907デフォルトの名無しさん:2013/10/18(金) 21:31:13.27
ぬるぽ
908デフォルトの名無しさん:2013/10/18(金) 21:34:43.43
>>906
×if( ticket_date[i].depart_code == search_depart_code1)

○if( strcmp(ticket_date[i].depart_code, search_depart_code1) == 0)
909デフォルトの名無しさん:2013/10/18(金) 21:43:35.00
struct ticket_reserve {
char name[30];
char depart_code[4]; //depart=出発 3桁のコード
char arrive_code[4]; //arrive=到着
char depart_time[9]; //出発時刻 例:12220302 = 12月22日3月2日
char arrive_time[9]; //到着時刻
};

にしないとまずくないか?
ようわからんけど
910デフォルトの名無しさん:2013/10/18(金) 21:50:37.22
911900:2013/10/18(金) 22:52:23.57
>>908
文字列は文字列関数で比較しないとダメなんですね。
ありがとうございます。動作しました!

>>909
確かに配列が1足りないですね。
ご協力ありがとうございます。

>>910
別サイトに投稿ありがとうございます。
すっきり見やすくて、理解が深まりました。
先頭からの比較文字数を指定できるstrncmpと言うモノもあるのですね。
勉強になります。
912デフォルトの名無しさん:2013/10/18(金) 22:54:50.11
秋の夜はふけてゆく
913デフォルトの名無しさん:2013/10/19(土) 00:27:20.86
バリバリの初心者で申し訳ないのですが、scanf関数の意味が全く理解できません。
scanfはどういったときに使うのでしょうか?
914 忍法帖【Lv=40,xxxPT】(2+0:5) :2013/10/19(土) 00:31:29.06
>>913
すいません 自己解決しました
915デフォルトの名無しさん:2013/10/19(土) 07:43:28.20
>>913
ある程度進んだ者はscanf()を避け fgets()+sscanf() で処理することを好むことは覚えて置いていい
916デフォルトの名無しさん:2013/10/19(土) 11:56:28.41
>>885
糞言語死ね
917デフォルトの名無しさん:2013/10/19(土) 14:16:13.95
お褒めに与り恐悦至極。
918デフォルトの名無しさん:2013/10/19(土) 16:09:20.85
時間tを秒の単位で与え、○(h)○「min」○「sec]の時間と分と秒に換算して表示する。
実行結果(10000秒)を入力
Input Second−>10000
10000「sec]=2[h]46[min]40[se]
このプログラムをこのようにやってみました。
#include <stdio.h>
int main (void){
int t,h,min,sec;
printf("Input Second->");
scanf("%d\n",&amp;t);
t=(10000/60)/60;
printf("[sec]=[h][min][sec]%d\n",t);
return 0;
}
ですが、表示されません。 分かる方教えてください。
919デフォルトの名無しさん:2013/10/19(土) 16:20:26.88
t=(10000/60)/60;
printf("[sec]=[h][min][sec]%d\n",t);

なにやっとん…

とりあえず理解しなきゃいけないのは = が値の代入だということw
次にscanf,printfの挙動ですかね
920デフォルトの名無しさん:2013/10/19(土) 16:39:03.92
なんか時代はD言語らしい…
921デフォルトの名無しさん:2013/10/19(土) 16:40:36.62
この理解度だと、上の2行を書くのが課題で他は丸々コピペだろう
考える気がまったく感じられなくて素直にコード教えてやる気になれん
922デフォルトの名無しさん:2013/10/19(土) 16:48:25.33
剰余も理解しないと
923710:2013/10/19(土) 17:01:40.97
>>918
> ですが、表示されません。

嘘書くなよ、なんか表示されてるだろ。
それちゃんと書けよ。
924デフォルトの名無しさん:2013/10/19(土) 17:31:03.15
>>918
本当にこのコードなら、コンパイル出来ないと思う。
925デフォルトの名無しさん:2013/10/19(土) 17:36:26.79
Input Second->
です。
926710:2013/10/19(土) 17:43:42.63
>>925
10000 とか入力して、リターンキー押したか?
927デフォルトの名無しさん:2013/10/19(土) 17:46:10.36
>>926
押してないです。
928デフォルトの名無しさん:2013/10/19(土) 17:48:18.94
ポインタがどうしてもわかりません。

void**(**(**p)(void (**)(void (**)(void (**)(void (**)(void (**)()))))));

ってなんですか?
929710:2013/10/19(土) 17:51:32.11
>>927
押せよ。
930 ◆QZaw55cn4c :2013/10/19(土) 18:46:34.62
>>928
自分が使わないプロトタイプなんて無視するのがよい,必要に応じて理解できるようになるものだ

>void**(**(**p)(void (**)(void (**)(void (**)(void (**)(void (**)()))))));
>ってなんですか?

使わないからしらん
そもそも void ** に意味があるかどうかもよくわからない.
931デフォルトの名無しさん:2013/10/19(土) 18:47:06.15
void**(
**(**p)(
void (**)(
void (**)(
void (**)(
void (**)(
void (**)()
)
)
)
)
)
);
932デフォルトの名無しさん:2013/10/19(土) 18:52:06.11
yaccでイチコロやろ
パーサかけや
933デフォルトの名無しさん:2013/10/19(土) 19:03:54.68
やっぱりポインタは皆さん分からないんですね
自分だけじゃなかった
934デフォルトの名無しさん:2013/10/19(土) 19:12:18.52
>>926
押すなよ、絶対押すなよ
935デフォルトの名無しさん:2013/10/19(土) 19:21:09.65
教科書にはあんまり突っ込んで書かれてないけど
スコープの概念ってやっぱり経験で覚えるものなのかな
936デフォルトの名無しさん:2013/10/19(土) 19:31:54.26
>>935
複数の要素が絡む概念なので
いっぺんに説明すると過負荷になるんだよ

リッチーさんもそのへんを気にしてたし

ただ、最終的に突っ込まない教科書はクソ
教科書はちゃんと突っ込んでるのに読めてない読者もクソ
めっちゃ大事なことだからね
937デフォルトの名無しさん:2013/10/19(土) 19:36:57.72
くるりんぱ
938デフォルトの名無しさん:2013/10/19(土) 20:22:42.71
>>935
できる限り狭めにやる練習すると、狭くていいものと広くとりたいものの区分が出来るようになってくる
何でもグローバルにしてるといつまでたっても覚えられんよ
939710:2013/10/19(土) 20:32:33.97
>>935
スコープは可能な限り狭く

これだけだから。
940デフォルトの名無しさん:2013/10/19(土) 20:58:12.53
C99で使う直前に変数宣言する?
なんとなくそれはCっぽくないから、俺はやんないけど
941デフォルトの名無しさん:2013/10/19(土) 21:01:42.02
#include <stdio.h>
int main() {
int x = 1;
char c;
scanf("%[AB]", &c);
printf("%d\n", x);
return 0;
}
常に1と出力されると思いきや、Aと入力した場合は0と出力され、それ以外は1と出力されます。なぜですか?
入力からAかBの一文字をchar型に代入させるする方法も教えて下さい。
942710:2013/10/19(土) 21:05:39.44
>>940
おれはするよ。
943デフォルトの名無しさん:2013/10/19(土) 21:18:29.57
>>941
>%[AB]
ナニコレ
944デフォルトの名無しさん:2013/10/19(土) 21:19:36.39
AかBだけ受けとるってやつじゃね
945デフォルトの名無しさん:2013/10/19(土) 21:20:05.38
{int a;〜; int b;〜; int c:〜; int d;〜;} は
{int a;〜;{int b;〜;{int c;〜;{int d;〜;}}}} を省略しただけだからな
946デフォルトの名無しさん:2013/10/19(土) 21:20:49.11
る程度進んだ者はscanf()を避け fgets()+sscanf() で処理することを好むことは覚えて置いていい
947デフォルトの名無しさん:2013/10/19(土) 21:26:53.32
%[AB]なんて書き方知らなかった
こうじゃねえの
do {
scanf("%c", &c);
} while (c!='A' && c!='B');
948デフォルトの名無しさん:2013/10/19(土) 21:50:36.23
>>941
関数仕様をちゃんと読め。
それは文字ABのみからなる文字列を返すからcharで受けてはいけない。
xの領域を壊している。
949デフォルトの名無しさん:2013/10/19(土) 22:28:35.73
>>945
違うよ。バカ
950デフォルトの名無しさん:2013/10/20(日) 02:53:08.05
>>945 でおおなるほど、と思って
考えながら読んでたら
>>949 でワロタw
これ実際は並列なってるだけか、と思ったんだけど
厳密には順番によって宣言されたスコープが重なっていってるから
>>945の逆?
951デフォルトの名無しさん:2013/10/20(日) 04:00:30.45
>>950
違うよ。バカ
952デフォルトの名無しさん:2013/10/20(日) 08:39:44.02
>>945がバカである根拠は二つ
1 コンパイラの制限
 {int a;〜; int b;〜; int c:〜; int d;〜;} ではコンパイルできるものが
 {int a;〜;{int b;〜;{int c;〜;{int d;〜;}}}}ではコンパイルできない可能性がある
 JIS X3010 5.3.4.1翻訳限界
 - ブロックの入れ子レベル(127)
 - 一つのブロックで宣言されるブロック有効範囲を持つ識別子数(511)
2 Cのブロックは識別子のスコープを限定するだけでなく記憶域期間をも決定する
 自動記憶域期間をもつオブジェクトはブロックの外では生存が保証されていない
↓これは正しいが
{int *a; goto l2; l1: return *a; l2:; int b = 1; a = &b; goto l1;}
↓は正しくない。
{int *a;{goto l2; l1: return *a; l2:; {int b = 1; a = &b; goto l1;}}}
953デフォルトの名無しさん:2013/10/20(日) 09:36:24.03
void**(**(**p)(void (**)(void (**)(void (**)(void (**)(void (**)()))))));
954デフォルトの名無しさん:2013/10/20(日) 09:58:19.73
シリコンバレー、貧富の差拡大 ホームレスが急増、米の縮図に
http://uni.2ch.net/test/read.cgi/newsplus/1382227764/
IT企業が集積する米カリフォルニア州シリコンバレーで、ホームレスが急増している。
955デフォルトの名無しさん:2013/10/20(日) 10:01:56.18
>>952
>↓は正しくない。
>goto l2;

>>945 がラベルを念頭に置いていたという根拠は?
勝手に取り扱う範囲をひろげて「正しくない」とか牽強付会もいいとこだね

>1 コンパイラの制限
だけで十分だ、2 は蛇足、よって >>952 は脳足りん
956デフォルトの名無しさん:2013/10/20(日) 10:08:41.16
アスペによくある症状やね
957デフォルトの名無しさん:2013/10/20(日) 10:34:57.06
ホームレスになるなら原発作業員になる方がマシかな
それでもホームが確保出来る保証はないか
958デフォルトの名無しさん:2013/10/20(日) 10:54:44.73
なんで945が正しくないかにgoto変なもん出すまでもなく
識別子の上書き可否の違いが根本なのにねえ
やっぱアスペだわ
959デフォルトの名無しさん:2013/10/20(日) 11:15:17.47
>>955
> >>945 がラベルを念頭に置いていたという根拠は?
アホアホアホアホアホアホアホアホアホアホアホアホアホ

> {int a;〜; int b;〜; int c:〜; int d;〜;} は
〜の部分は任意のステートメント。
goto, ラベルの存在に気付かなかった>>945がバカだという証拠にしかならない。
960デフォルトの名無しさん:2013/10/20(日) 11:42:21.48
C言語なら俺に聞け(入門編)Part 121
http://toro.2ch.net/test/read.cgi/tech/1382236755/
961デフォルトの名無しさん:2013/10/20(日) 13:23:46.02
メンバ名指定の初期化が C99 で標準化されているという話をネットで見つけました。
手元にある FDIS で探しているのですが見つけられません。
項番号もしくは規格内での名称でも良いので、知っている方がいらっしゃれば教えて下さい。
FDIS だから載ってないと言うオチだと嫌だな。。。

struct s {
int a;
int b;
};

struct s temp = {.a=0, .b=1};
962デフォルトの名無しさん:2013/10/20(日) 13:25:36.42
Designated Initializer
963デフォルトの名無しさん:2013/10/20(日) 13:59:53.07
>>962
即レスありがとうございます!

確認できました。
って言うか、普通に§6.8.3 Initializationに書いてありましたね…
Syntax にもEXAMPLE(10〜13)にも…
目を通したはずなんだけどなー。
964デフォルトの名無しさん:2013/10/20(日) 17:47:06.06
>>959
だ,か,ら,なんでわざわざ goto ラベルを持ち出す必要があるの?そこんとこ詳しく
生協さんも焼きがまわったね
965デフォルトの名無しさん:2013/10/20(日) 18:06:33.85
>>964
アホアホアホアホアホアホアホアホアホアホ

gotoを使わずに>>945は記憶域期間を知らないバカだと立証出来るならやってみろ
チ・ン・カ・ス
966デフォルトの名無しさん:2013/10/20(日) 18:17:49.80
>>964
gotoラベルのスコープを言ってみな、
ここに書かなくても独り言でいいから
967デフォルトの名無しさん:2013/10/20(日) 18:18:27.64
968デフォルトの名無しさん:2013/10/20(日) 18:22:20.17
>>966
宣言された関数内だね
969デフォルトの名無しさん:2013/10/20(日) 18:31:17.96
>>966
アンカー打ち間違えてよかったな
チ・ン・カ・ス

>>967
それがなに? 記憶域期間を知らないのはそれより恥ずかしい事なんだが
チ・ン・カ・ス
970デフォルトの名無しさん:2013/10/20(日) 19:46:13.08
どちらにしろ>>945は間違いだしなあ
変数の消滅が宣言順と逆順だなんて規定ない
971デフォルトの名無しさん:2013/10/20(日) 19:55:15.16
>>970
ずうずうしいヤツだ
アスペのくせして別人の同調キャラを装うなんて
972デフォルトの名無しさん:2013/10/20(日) 20:08:28.98
そんなに悔しいか? チ・ン・カ・ス
973デフォルトの名無しさん:2013/10/20(日) 20:54:19.93
マンカスうるせーぞ
974デフォルトの名無しさん:2013/10/20(日) 23:09:58.03
975デフォルトの名無しさん:2013/10/20(日) 23:35:12.72
>>945 がトンデモなのは満場一致なのに、どうしてどうでもいい細かいところでいがみ合うの?
976デフォルトの名無しさん:2013/10/21(月) 13:54:35.78
それは945が頑張ってるからだよ
977デフォルトの名無しさん:2013/10/21(月) 14:25:40.60
C言語なら俺に聞け(入門編)Part 121
http://toro.2ch.net/test/read.cgi/tech/1382236755/
978デフォルトの名無しさん:2013/10/21(月) 20:26:59.26
ウソが広まるのは、技術者の見識に関わる。
ウソつきは業界から抹殺すべき。
979デフォルトの名無しさん:2013/10/21(月) 20:30:45.32
>>978
嘘を嘘だと論証できない側にも非がある
980デフォルトの名無しさん:2013/10/21(月) 21:58:05.95
そんな流れを一言で言うと、少し前に流行った



「初心者は回答するな」



になる
981デフォルトの名無しさん:2013/10/21(月) 23:01:29.99
\r\n=\nな理由教えて、VisualStudioではそうだった。
982デフォルトの名無しさん:2013/10/21(月) 23:07:05.99
違うだろうがボンクラ
983デフォルトの名無しさん:2013/10/21(月) 23:22:56.26
>>980
他人に教えるという行為は、
本人自身の理解度を深める効果もあるから、
鍛えてやるためにも大目に見てやった方がいい
984デフォルトの名無しさん:2013/10/21(月) 23:48:53.87
>>981
テキストモードだと 内部\n <=> 外部\r\n を変換してる
985デフォルトの名無しさん:2013/10/22(火) 01:01:33.31
>>983
それが情報乞食の言い分か
986デフォルトの名無しさん:2013/10/22(火) 01:05:28.72
誰にも「回答するな」なんて命令する権限はないし
987デフォルトの名無しさん:2013/10/22(火) 01:15:56.98
誰にも「質問者を罵倒するな」なんて命令する権限はないし
988デフォルトの名無しさん:2013/10/22(火) 01:26:40.50
chmod +x お前らに議論する権限を与える
989デフォルトの名無しさん:2013/10/22(火) 01:28:07.30
su -
rm -rf /home/neet
990デフォルトの名無しさん:2013/10/22(火) 01:45:36.23
kill -HUP
これ実は無茶苦茶ひどくない?「死んでも蘇って働け」だよ。地獄だわ…
991デフォルトの名無しさん:2013/10/22(火) 02:04:46.21
/usr/local/neet/submit2ch > /dev/null
992デフォルトの名無しさん:2013/10/22(火) 18:48:34.81
my -R /usr/local/jitakukeibiin /usr/local/neet
chmod 000 -R /usr/local/neet
993デフォルトの名無しさん:2013/10/22(火) 19:14:30.55
うめ
994デフォルトの名無しさん:2013/10/22(火) 20:37:14.61
while(1)
{
  myLife = NULL;
  delete(myLife);
}
995デフォルトの名無しさん:2013/10/22(火) 21:06:02.89
if (jitakukeibi()) {
2chan()
} else {
shushin()
}
996デフォルトの名無しさん:2013/10/22(火) 21:07:52.81
ウメッシュ
997デフォルトの名無しさん:2013/10/22(火) 21:08:31.69
竹中平蔵は、ダヴォス会議の日本の代表だ。
ダヴォス会議の正式名称は、「世界経済フォーラム」World Economic Forumだ。
これはヨーロッパ各国の超財界人たち、貴族たち、そしてアメリカのロックフェラー家などで構成されている。
彼ら超財界人のことを「スーパークラス」と呼ぶ。「スーパーリッチ(超富豪)」とは区別される。
もっと上の方である。“ 雲の上の人々 ”above the lawとも言う。
このダヴォス会議は表の組織であって、裏側はビルダーバーグ会議である。
ビルダーバーグ会議は、世界の超財界人たちの秘密結社である。ここでは秘密の儀式がたくさん行われている。
ここへの入会儀式を受けた者たちは、もうふつうの世界には戻れない。
命令が下ったら自分の国の国益を踏みにじることでも何でもしなければいけない。
裏切ったら殺される。
竹中平蔵は、このダヴォス会議の正式メンバーで日本代表である。
彼はこのダヴォス会議の評議委員である。
だから日本の首相を含めて、会議に参加する者は、竹中の推薦が必要である。
だからその格は盟友だった小泉純一郎よりも上らしい。
彼は、欧米の超財界人たちに魂を売ってしまっている人だ。
アメリカのコンスピラシー・セオリー(「権力者共同謀議理論」と訳すべきだ)
の大家であるジョン・コールマン博士(現在77歳。1935年〜)が長年、主張している
「(世界の頂点の)300人委員会」という組織と、このビルダーバーグ会議は、
彼が公表している名簿とほとんどが重なっている。
この竹中平蔵が、2006年に小泉政権が終わったあとに一体、何をしていたのか、
と思いきや、この6年をかけて橋下徹を手塩にかけて育てていたのだ。
竹中平蔵氏が、今の日本国を操っているアメリカの家来の筆頭、
最高幹部なのだとはっきり書いて、私はみんなに知らせる。
998デフォルトの名無しさん:2013/10/22(火) 21:14:54.54
さらりとした梅酒
999デフォルトの名無しさん:2013/10/22(火) 21:16:19.37
try {
 my_life();
 exit(1);
}
catch {
 exit(1);
}
1000デフォルトの名無しさん:2013/10/22(火) 21:16:53.93
酔わないウメッシュ
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。