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

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

★前スレ
C言語なら俺に聞け(入門編)Part 106
http://toro.2ch.net/test/read.cgi/tech/1345810057/
★過去スレ
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++の宿題片付けます 159代目
http://toro.2ch.net/test/read.cgi/tech/1342966104/
★C++言語については避けてください。C++対応明記スレへどうぞ。
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
  # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。
  # サイズが大きい場合はアップローダ等を利用してください。
http://codepad.org/
http://ideone.com/
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
★◆QZaw55cn4cは発言禁止です。トリップを隠してもダメです。
2デフォルトの名無しさん:2012/09/09(日) 11:23:25.19
テンプレ改変乙
3デフォルトの名無しさん:2012/09/09(日) 11:28:27.92
二次元配列の変数を関数に入れてmain()で使うことってできる?
できるなら具体的にどうなりますか
4 ◆QZaw55cn4c :2012/09/09(日) 11:36:11.17
>>3
ちょっと言葉たらずだ。もう少し説明してほしい。
http://codepad.org/25UgJSqt
5デフォルトの名無しさん:2012/09/09(日) 11:50:54.52
>>4
見てみます
早いレス感謝です
6デフォルトの名無しさん:2012/09/09(日) 12:01:28.58
>>1がアボーンされてる
7 ◆5bhYRM1Rdk :2012/09/09(日) 21:02:10.06
ヒープ deleteminの関数作成がわかりません

問題文:ヒープの最小値を取り除く、deletemin関数を作成せよ。
空の配列にinsertを複数実行することでヒープ条件を満たすヒープを構成する。
これにdeleteminを実行することで最小値を抽出せよ。
最小値を抽出した後、一次元配列がヒープ条件を満たすように再構成せねばならない。プロトタイプ宣言は以下とする。
int deletemin(int a[], int *n);

質問:関数deleteminについて調べてはみたんですが何をしているのか分からないものばかりだったので質問させてください。
ヒープの最後のノードを根に持ってきて、右のノードと左のノードを比べて小さい値のノードの方と比較して
最後から持ってきたノードの値の方が大きければ交換するというの
繰り返して最小ヒープを再構成したいのですが、どうすればいいのかわかりません。
サイトなどみても分からなかったのでど素人でも分かるように説明お願いします。
自分のソースhttp://ideone.com/vvLM6
8デフォルトの名無しさん:2012/09/09(日) 21:48:46.54
あ〜あ、マルチかぁ。
元々宿題っぽいから、スレチだし。
9デフォルトの名無しさん:2012/09/09(日) 22:05:26.60
10デフォルトの名無しさん:2012/09/09(日) 23:02:27.37
今からでも遅くないマルチしとけ。
http://toro.2ch.net/test/read.cgi/tech/1342966104/
11 ◆5bhYRM1Rdk :2012/09/10(月) 01:03:07.35
>>8 すれ違いではないと思うんですが。
あちらは問題を丸投げするスレですが、こっちのスレはC言語ならなんでも聞いていい
わけですよね。だから最後に説明をといってるんですが。
書いたコードなんですが、コンパイルは通るのですが出力されません。
ソース
http://ideone.com/ckedm
12デフォルトの名無しさん:2012/09/10(月) 01:31:10.99
まずは質問する前にGNUスタイルの出来損ないみたいな書き方を直して欲しい
13デフォルトの名無しさん:2012/09/10(月) 01:45:19.08
num[k]とnum[i]の数値の交換をするためにビット演算を使ったら、なぜか上手いこと動かない。
どこに原因が有るのか?

int i,j,k,temp;
int *num;
/*numの値の取得と幾つかの処理*/
num[k] ^= num[i];
num[i] ^= num[k];
num[k] ^= num[i];
この部分が
temp=num[k];
num[k]=num[i];
num[i]=temp;
だと普通に動く。

環境は
OS:Linux
コンパイラ:gcc 4.7
14 ◆QZaw55cn4c :2012/09/10(月) 01:55:06.23
>>13
http://codepad.org/sHOK8T4N
http://codepad.org/VQPVy7G6

しかし
http://codepad.org/ecUnim6Z

k == i のときにうまくいっていないんじゃない?
15デフォルトの名無しさん:2012/09/10(月) 02:08:33.19
>>14
k == i になる可能性を考えていなかった。

if(num[k]^num[i])
{
num[i]^=num[k];
num[k]^=num[i];
num[i]^=num[k];
}
こうしたら上手いこと動いた。
16デフォルトの名無しさん:2012/09/10(月) 02:29:30.82
printfのメッセージを外部ファイル化したいのですが、タブや改行などの書式解釈が上手くいきません。
自前で\nを0x0aなどに置換しないとダメなのでしょうか?

--formatText.txt--
\\t[\t]\\t[\t]%%d[%d]\\n\n(ここでEOF)
--main.c--
#include <stdio.h>
int main()
{
 FILE *fp;
 char szBuf[256];
 if(NULL == (fp = fopen("formatText.txt", "r")) ){
  printf("open error\n");
  return -1;
 }
 printf("希望");
 strcpy(szBuf, "\\t[\t]\\t[\t]%%d[%d]\\n\n");
 printf("<<<");
  printf(szBuf, 999);
 printf(">>>\n");
 printf("現実");
 fgets(szBuf, 256, fp);
 printf("<<<");
  printf(szBuf, 999);
 printf(">>>\n");
 return 0;
}
--実行結果--
希望<<<\t[ ]\t[ ]%d[999]\n
>>>
現実<<<\\t[\t]\\t[\t]%d[999]\\n\n>>>
17デフォルトの名無しさん:2012/09/10(月) 02:30:04.48
質問者です
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1393771603
どなたか教えてください。
18 ◆QZaw55cn4c :2012/09/10(月) 02:38:42.78
>>16
printf() の実行時にはあくまでも書式指定のうち % がからむものしか解釈しない。
\nとか\\ とかは、コンパイル時に解釈されるものだ。

自前で置換するしかないでしょうね。それか、自前で \x を展開するルーチンを書くか。
19デフォルトの名無しさん:2012/09/10(月) 03:13:02.52
>>16
printfのメッセージと引数は蜜結合しているので、分離することは良くない。
クラッシュするプログラムが簡単に出来あがるので、設計をやりなおすべき。

Qzとかいうクズのいう事は信用しないように。
20 ◆QZaw55cn4c :2012/09/10(月) 06:56:34.77
>>19
×蜜結合
○密結合
まあそれもそうだ。設定ファイルがまずいと警告なしにクラッシュするのはよくないね、確かに。
21デフォルトの名無しさん:2012/09/10(月) 07:27:07.82
>>18-20
ありがとうございます。
コンパイル時に書式解釈されるということで、実行時解釈は規定外ということ納得しました。
PGしながら、オーバーフロー実行狙いの言語ファイルを作られそうだなとは思っていました。
(対策は思いつかなかったので善意に期待して放置でしたが…)
今回はコンソールアプリを作成したので公開しようと思い、どうせなら英語化も簡単に出来る仕組みにしようかな、というのが目的でした。
内部に2種の文字を持ち、実行後にus/jpのコマンドで切り替えるなどに路線変更を検討してみます。

22SCHEME餃子 ◆8X2XSCHEME :2012/09/10(月) 07:35:34.08
>>21
Windows ならリソースを切り替える仕組があるし、GNU の gettext という手もある。

ごく簡単なものならプログラム内で場合分けしてもいいと思うけど、
その場合でも既存のものがどういう方式になっているのかを参考にするのは悪くない。
23デフォルトの名無しさん:2012/09/10(月) 07:40:42.61
>20がやろうとしてい事って幾つかのソフトウェアであるlangフォルダの直下にあるファイルのような事か?
7-zipの場合、たしかlangフォルダの下に言語ファイルが置いてあったな。
それがどのように動いているかは分からない。
24デフォルトの名無しさん:2012/09/10(月) 10:29:39.14
自作でstrlenとstrcatの関数を作っていて、両方とも関数化はまだですが
一応できましたが、何故かstrlenで、*aにヌル文字が何故か代入されています
*(a+1)以降はそんな事が起こらず、何故aにヌル文字が代入されてしまうのでしょうか?
またこの二つの関数はこれで大丈夫でしょうか?

#include<stdio.h>
int main(void){
char a[16]="abcdefh";
char *b="ijk";
int c=0;
char d=0;
while(*a!='\0'){
printf("%c\n",*a);
c++;
*a=*(a+c);
}
printf("文字列の長さは%d\n",c);
*a='a';
while(1){
*(a+c)=*(b+d);
c++;
d++;
if(*(b+d)=='\0'){
break;}
}
printf("%s\n",a);
return 0;}
25 ◆QZaw55cn4c :2012/09/10(月) 12:19:52.84
>>24
>何故aにヌル文字が代入されてしまうのでしょうか?

c++;
*a=*(a+c);

この2行、特に後ろのほうのせいだが、何をさせたかったの?
26デフォルトの名無しさん:2012/09/10(月) 12:20:19.59
>>24
http://ideone.com/1zKVB
なんでstrlenのほうは、文字列の先頭を書きなおしたりしてるの?
strcatも無駄に分岐が多い

http://ideone.com/qXeTP
27デフォルトの名無しさん:2012/09/10(月) 14:52:03.43
自分でもよくよく考えると何をさせたかったのかわからなくなる部分がちらほらありますね
アドバイスどおりに短く書き直して、関数化してみました
26さんのソース見ているとfor文の中で全部してしまうことすらできるんですね
単純にループさせるための条件を書くためだけかと思ってました

int strlen_func(char*a){
int c=0;
while(*(a+c)!='\0'){
c++;}
printf("文字列の長さは%d\n",c);
return c;
}

void strcat_func(char*a,char*b,int c){

int d=0;
while(*(b+d)!='\0'){
*(a+c)=*(b+d);
c++,d++;
}
printf("%s\n",a);
}
28デフォルトの名無しさん:2012/09/10(月) 19:07:06.95
ああ疲れた
29デフォルトの名無しさん:2012/09/10(月) 19:18:54.60
>>27
一般的な関数を作るときは、strlen後の復帰値をstrcatに使用するような流れ限定な引数(strcatの[int c])は無いほうが良いです。
無駄なようでもstrcatの引数は文字列2個だけにして、strcatの中でstrlenを使って文字列終端を取得させる方がきれいです。
あとstrcatのバグですが、文字列bの結合で'\0'が出たら終わるため'\0'の代入がされていません。
文字列aの初期化状態によっては終わりの無い文字列が表示されます。
例えば以下の状態だと出力結果は"abcdefghxxxxxxxx"となります。これはすぐに終端がある、まだマシな例です。

int main(){
char sz1[32];
char sz2[32];
int len;
strcpy(sz1, "xxxxxxxxxxxxxxxx");
strcpy(sz1, "abcde");
strcpy(sz2, "fgh");
len = strlen_func(sz1);
strcat_func(sz1, sz2, len);
return 0;
}
3016:2012/09/10(月) 20:12:39.18
>>22-23
「既存のものがどういう方式」というのを調べられるレベルに無いので、
リソースやgettext、オープンソースなど具体例を示して頂けたので勉強になりました。
今回は小規模アプリなので、単体に2種文字持ちで実行時任意切り替えが妥当なようです。
ありがとうございました。
31デフォルトの名無しさん:2012/09/10(月) 20:29:31.66
c言語諦めたんですがプログラミング会社にも営業部とかってありますか?
一応理系の企業に就職したいです。(※プログラミングは出来ない.....)
32デフォルトの名無しさん:2012/09/10(月) 20:38:07.61
スレタイも読めないようじゃどこも無理。
33デフォルトの名無しさん:2012/09/10(月) 20:42:00.70
>>32
ティッシュ配りも無理ですかね?
面接落とされまくってて落ち込んでます。
34デフォルトの名無しさん:2012/09/10(月) 20:54:01.22
君が人事なら
君に数十万の月給を払いたいと思うかね
そんな価値は無い
35デフォルトの名無しさん:2012/09/10(月) 21:07:52.17
>>34
価値の無い人間のほうが多いと思いますが?
36デフォルトの名無しさん:2012/09/10(月) 21:12:55.14
多い少ないは関係が無い
君には価値が無い
37デフォルトの名無しさん:2012/09/10(月) 21:34:48.37
>>36
じゃぁ努力したい。
どうすればいい?マジレス希望。
欝じゃないけど気弱なんで。
38デフォルトの名無しさん:2012/09/10(月) 21:37:20.84
板違いだ消えろ
39デフォルトの名無しさん:2012/09/10(月) 21:40:34.53
>>37
起業しなさい
40デフォルトの名無しさん:2012/09/10(月) 21:41:49.71
Cじゃなくてもプログラミング言語いっぱいあるだろ
41デフォルトの名無しさん:2012/09/10(月) 21:55:10.65
ふっほっ
42デフォルトの名無しさん:2012/09/10(月) 22:03:56.80
>>39
ヒントくれ。
会社設立は資本金1円からでも始められる事は知ってる。

プログラミング言語を売るってのは良いの?
外国でしか使われてないプログラミング言語を日本でしか
流通させないことを条件に権利を貰うみたいな。
でそれを企業に提供するみたいな。
43デフォルトの名無しさん:2012/09/10(月) 22:09:07.71
起業した会社の成功率0.3%

アフィリエイト成功率より低い
44デフォルトの名無しさん:2012/09/10(月) 22:10:32.79
言語を売る=コンパイラorインタプリタを売るってことになるんだよな
45デフォルトの名無しさん:2012/09/10(月) 22:19:11.73
言語を売る=解説本を売る&講演会&ワークショップ&(洗脳)セミナー&……
ついでにGUI構築環境とかも有料
基本的なコンパイラ&インタプリタは無料
46デフォルトの名無しさん:2012/09/10(月) 22:30:14.81
解説本かぁいいねぇ

でもあれって出版の利権とかコネでもあるの?
当たり前の事しか書いてないクソみたいな本が棚に並んでたりするし
しかも著者女だったりするしwwww
47デフォルトの名無しさん:2012/09/10(月) 22:31:34.60
そのクソ本や女にできる事すらやれてないんだよな、笑ってる奴って
48デフォルトの名無しさん:2012/09/10(月) 22:34:06.39
パソコン教室くらいしかないな。
でもC言語教えてるパソコン教室なんて無いし隙間かもね
49デフォルトの名無しさん:2012/09/10(月) 22:35:55.00
c言語諦めた人間が他人に教えるなんて発想はしないわな
QZじゃあるまいし
50デフォルトの名無しさん:2012/09/10(月) 22:41:07.17
100行くらいは書けるけど
1000行超えると書けないから挫折
書いたこと忘れる
51デフォルトの名無しさん:2012/09/10(月) 22:45:46.30
C言語って実装中何行くらい記憶(把握)してればいいの?

52デフォルトの名無しさん:2012/09/10(月) 22:49:45.42
前スレで質問したものです。
ポインタを使って配列をコピーするにはどうしたらいいですか?
53デフォルトの名無しさん:2012/09/10(月) 22:50:39.63
>>52
memmove
5446:2012/09/10(月) 22:51:33.17
>>52
え?
配列をコピーするなら

for(i=0; i<=N; i++)
a[i]=b[i]で良いだろ。

55デフォルトの名無しさん:2012/09/10(月) 22:51:36.64
うちの会社はSIerだけど営業課長がいるよ。勿論給料も一般職のPGよりいいよ。
しっかり利益を上げることができる見通しを提示できるのなら就職も不可能ではないよ。
56デフォルトの名無しさん:2012/09/10(月) 22:52:41.46
>>51
関数一個。だから、関数は100行程度に抑えるべき。
57デフォルトの名無しさん:2012/09/10(月) 22:53:07.72
今までの流れを見て利益を出せるような人間に少しでも見えたのかね
5846:2012/09/10(月) 22:55:57.97
そもそも配列をコピーするって意味がよくわからんね
59デフォルトの名無しさん:2012/09/10(月) 22:58:40.28
なんで?
6046:2012/09/10(月) 22:59:58.61
配列って時点でポインタ関係ないでしょ
配列って静的なメモリの確保だから
61デフォルトの名無しさん:2012/09/10(月) 23:03:07.82
静的に確保されたメモリだと、なぜポインタ関係ないの?
62デフォルトの名無しさん:2012/09/10(月) 23:07:40.60
静的、動的かんけいないよ
63デフォルトの名無しさん:2012/09/10(月) 23:08:39.17
つまり、>>60の発言は意味不明ってこと?
64デフォルトの名無しさん:2012/09/10(月) 23:09:09.60
はい
65デフォルトの名無しさん:2012/09/10(月) 23:09:37.35
配列とポインタのクソみたいに密接な関係を知らないとは……
モグリか?
66デフォルトの名無しさん:2012/09/10(月) 23:09:43.49
ありがとう。
6746:2012/09/10(月) 23:10:16.60
そもそも配列はコピーできない
strcpyを使うと面倒だ

配列は配列にコピーすれば良い
68デフォルトの名無しさん:2012/09/10(月) 23:11:54.62
>>58
たとえば、Javaなら
a = b;
でコピーできる
6946:2012/09/10(月) 23:17:13.53
例えば
char *s="abcd"
char *t="efgh"って
あって
strcpy(s,t)とする意味は全く無い。
エラーでやすいしばかげてる。

k=s;
s=t;
t=k;
としたら指す実態は入れ替わっている。
70デフォルトの名無しさん:2012/09/10(月) 23:17:24.46
memcpy
71デフォルトの名無しさん:2012/09/10(月) 23:18:19.76
>>67
> そもそも配列はコピーできない

> 配列は配列にコピーすれば良い

コピーできるのかできないのかどっちだよ。ばーーーーーーーーーーーーーーーか。
72デフォルトの名無しさん:2012/09/10(月) 23:20:52.25
配列は、メモリのかたまりとして利用できるのだ(飛び地があるとして利用するのではない。線形リストは、とびとびでもよい)
だから(インデクスでアドレスを計算できるから)、一発でアクセスできる。
73デフォルトの名無しさん:2012/09/10(月) 23:22:30.14
>>54
一個ずつコピーしてもできるけど、
memcpy()でコピーするのは、配列の特徴をいかしている。
74デフォルトの名無しさん:2012/09/10(月) 23:26:29.46
配列の特徴とは
75デフォルトの名無しさん:2012/09/10(月) 23:42:41.90
連続している。
76デフォルトの名無しさん:2012/09/10(月) 23:43:49.33
サイズが既知。
77デフォルトの名無しさん:2012/09/10(月) 23:47:28.64
ポインタも
配列っぽくできるよね。

char *s

s[0] s[1]
78デフォルトの名無しさん:2012/09/10(月) 23:48:35.71
文字列リテラルが書き換えられる仕様になってればポインタも配列も同じ
79デフォルトの名無しさん:2012/09/10(月) 23:51:07.03
でも殆どbuiltin関数なんて使われてない
80デフォルトの名無しさん:2012/09/10(月) 23:52:38.24
何のはなししてるの?
81デフォルトの名無しさん:2012/09/11(火) 00:04:05.77
>>78
shine78()
{
int *a;
int b[20];
a += 10;
b += 10;
}

cc 78.c
78.c: In function 'shine78':
78.c:6: error: invalid operands to binary +
82 ◆QZaw55cn4c :2012/09/11(火) 00:12:49.64
>>68
んー、違うような気がします。Java で配列コピーする完結したコード例を示してみては?
83デフォルトの名無しさん:2012/09/11(火) 00:20:31.04
ばぶー
84デフォルトの名無しさん:2012/09/11(火) 00:42:04.33
ちゃーん!
85デフォルトの名無しさん:2012/09/11(火) 00:44:06.93
Javaの配列はオブジェクトだからa=bでコピーできるわけないわな
やってることはCの
int a[] = {1, 2, 3};
int *b = a;
と似たようなもんだ
86デフォルトの名無しさん:2012/09/11(火) 00:45:32.79
うわぁ……
87デフォルトの名無しさん:2012/09/11(火) 00:50:54.65
>>68
そういうのあるけど、コピーということばは適切ではない(コピーしてない)
88デフォルトの名無しさん:2012/09/11(火) 01:22:32.51
Cは、はっきりしてるなぁ。コピーするときは、memcpy()
89デフォルトの名無しさん:2012/09/11(火) 01:26:30.47
>>68
知ったかぶり乙
90デフォルトの名無しさん:2012/09/11(火) 01:34:34.86
#define STRING_SIZE 10
#include <stdio.h>
#include <string.h>

void go_off(char *p)
{
  char b[STRING_SIZE] = "go off";
  memcpy(p, b, sizeof(b) );
}

int main(void)
{
  char a[STRING_SIZE];
  go_off(a);
  printf("%s (%d bytes)\n", a, strlen(a) );
  return 0;
}
91デフォルトの名無しさん:2012/09/11(火) 01:53:24.58
なんだこれ
92デフォルトの名無しさん:2012/09/11(火) 10:05:43.59
>>88
JavaだってコピーするならSystem.arraycopy()だからたいして変わらんよ
93デフォルトの名無しさん:2012/09/11(火) 12:32:52.61
forkとかってC言語の関数じゃないの?
94デフォルトの名無しさん:2012/09/11(火) 12:57:25.15
unixのシステムコールだろ
95デフォルトの名無しさん:2012/09/11(火) 13:11:33.67
>>94
はぁ?ww
96デフォルトの名無しさん:2012/09/11(火) 13:21:30.91
>>93
質問するときはfork(2)とセクションまで書くといいよ
97デフォルトの名無しさん:2012/09/11(火) 13:45:49.14
C言語に関係ない文字はシステムコールといっとけば良いという風潮
98デフォルトの名無しさん:2012/09/11(火) 13:47:42.12
どういう揚げ足とりなのか読めなくて悔しい
99デフォルトの名無しさん:2012/09/11(火) 15:11:25.60
悔しいね
100デフォルトの名無しさん:2012/09/11(火) 18:00:48.78
うほ
101デフォルトの名無しさん:2012/09/11(火) 18:13:43.87
メモリ=レジスタ?
C言語でアドレスの話するときメモリメモリってなるけど
102デフォルトの名無しさん:2012/09/11(火) 18:33:50.11
プログラマって基本クーラーのかかったオフィス?
それとも実機が置かれている工場みたいな倉で作業?
103デフォルトの名無しさん:2012/09/11(火) 18:33:51.74
なんでメモリとレジスタの違いが分からないアホが首突っ込んでくるんだ
調べろよks
それもできない低脳なら
回線切って小学校からやりなおせ
104 ◆QZaw55cn4c :2012/09/11(火) 18:38:24.53
>>101
レジスタはCPUの中にあり、メモリはCPUの外に存在する、と考えるのが普通
105デフォルトの名無しさん:2012/09/11(火) 18:38:40.77
本当に小学校に行くと通報されるから注意な
106デフォルトの名無しさん:2012/09/11(火) 18:39:03.07
はふ
107デフォルトの名無しさん:2012/09/11(火) 18:40:32.22
さあ、揚げ足取りはよ!
108デフォルトの名無しさん:2012/09/11(火) 18:43:00.48
メモリは基本的に端を考えなくてOK?
チューリング機械の無限に長い一本のテープを考えればOK?
109デフォルトの名無しさん:2012/09/11(火) 18:46:54.47
ttp://www.utpc.jp/2011/
東大だから賢い人ばっか集まってると思うのに
正解者0の問題とかある

アルゴリズムとC言語はお互い違った能力なわけ?
110デフォルトの名無しさん:2012/09/11(火) 18:51:53.03
アルゴリズムは基本難しいからね
111デフォルトの名無しさん:2012/09/11(火) 18:57:09.20
メモリアルゴリズムと実装アルゴリズムは全然違う
112デフォルトの名無しさん:2012/09/11(火) 18:57:47.65
違うね
113デフォルトの名無しさん:2012/09/11(火) 19:03:33.75
C言語クソ過ぎ

仮数関数機能すらない
114デフォルトの名無しさん:2012/09/11(火) 19:13:44.06
機能すらないね
115デフォルトの名無しさん:2012/09/11(火) 19:22:57.08
他の言語のコンパイラとか
そこでのまさに仮数関数機能そのものは
C言語で作られていたりする

その辺りはどう思う
116デフォルトの名無しさん:2012/09/11(火) 19:23:39.56
文法規則は分かるが応用できない
基礎が大事なんてうそやったんや!
117デフォルトの名無しさん:2012/09/11(火) 19:28:17.28
関数名のつけ方ってどうしてる?
プログラム名に添え字付けるだけじゃだめ?
sample.c

void sample1(void)
char sample2(int a, int b)
*int sample3(a[3])

ライクな感じ
118デフォルトの名無しさん:2012/09/11(火) 19:35:01.13
仮数じゃなくて仮想ね

純粋仮想関数すらないってプロトタイプにも程がある。
もっと凝れよな。
119デフォルトの名無しさん:2012/09/11(火) 19:36:28.30
別の言語使えよw
120デフォルトの名無しさん:2012/09/11(火) 19:37:16.41
C言語って当たり前の機能しかない
関数なんて概念誰でも思いつくだろ

121デフォルトの名無しさん:2012/09/11(火) 19:41:00.17
思いつくだろうね
122デフォルトの名無しさん:2012/09/11(火) 19:46:37.97
思いつかなかったときは自分で作ったらええんか
123デフォルトの名無しさん:2012/09/11(火) 19:52:26.32
後出しで思いつくとか言ってるヴァカがいるスッドレは
この臭いスレですか?
124デフォルトの名無しさん:2012/09/11(火) 19:57:11.10
プログラミングしててどうしても分からない事があれば放置していいの?
昨日システム管理・監査に関わるプログラミングのバイトに受かったんですが
明日から来てくれといわれました。
仕事内容は現場で当日から教わるそうです。
125デフォルトの名無しさん:2012/09/11(火) 19:58:52.58
/* TODO: とりあえず放置 */

ってコメント書いとけばおk
126デフォルトの名無しさん:2012/09/11(火) 20:02:49.72
多分>>124の仕事は
>>125が書き散らした「/* TODO: とりあえず放置 */」
の部分を埋める作業だなwww

/* TODO: やっぱり放置 */
で全て完了だwww

金銭的支払いも放置されるからな、
気をつけろよwww
127デフォルトの名無しさん:2012/09/11(火) 20:03:12.94
>>125
もしそのコメントを書き忘れるもしくわ
プライドが許さない場合はどうすれば良いですか
128デフォルトの名無しさん:2012/09/11(火) 20:07:27.55
>>127
報告、連絡、相談、自殺
129デフォルトの名無しさん:2012/09/11(火) 20:08:35.33
>>127
VIPでやれ
消えろクソ野郎
130デフォルトの名無しさん:2012/09/11(火) 20:33:09.39
>>126
労働基準法に反するだろ給料無しは
131デフォルトの名無しさん:2012/09/11(火) 20:38:09.85
仕様書に書いてある文章の意味が分からない場合誰に聞けばいいの?
132デフォルトの名無しさん:2012/09/11(火) 21:01:27.57
そのような時は是非とも我々に訊いてみてください
我々はいつもあなたのような迷える子羊たちのために
いつでも救いの手を差し伸べるでしょう
さあC言語という名前の宗教に今こそ入信すべき時です
門戸は誰にでも開かれております
133デフォルトの名無しさん:2012/09/12(水) 01:41:46.51
仕様書も読めないような奴・会社は仕事受けないでほしいよな
出来ない奴は徹夜しようが何しようが出来ないんだから、発注側の苦労が増えるだけ
134デフォルトの名無しさん:2012/09/12(水) 06:56:46.81
徹夜しようが出来ない?
kwsk
135デフォルトの名無しさん:2012/09/12(水) 06:57:47.11
あー、そういう奴にはろくに仕様書も書けない発注先を紹介したいわ。
「旧プロジェクトのソースを参考につけます」と言いつつ、
「詳細の仕様はないので旧プロジェクトを(バグも含めて)踏襲してください」って話になって、
「動かないようでは困ります」ってもう、いい加減にしろとしか。
136デフォルトの名無しさん:2012/09/12(水) 07:17:52.70
発注先??
137デフォルトの名無しさん:2012/09/12(水) 07:21:37.06
プログラムかけないからSEになりましたって奴らは氏んでしまえ
138デフォルトの名無しさん:2012/09/12(水) 08:51:03.78
SEって応用情報処理の資格持っててとかシステム管理・開発に関するスペシャリストだろ?
資格の本見たけどプログラムコードみたいなのはほとんどなくて
リスク管理とかマネージメントとかプロジェクト規模の話ばかりだった。
すげーとおもたわ。
139デフォルトの名無しさん:2012/09/12(水) 08:55:40.92
そりゃSE:プログラマーの比率は1:20だからな
140デフォルトの名無しさん:2012/09/12(水) 09:35:30.02
ファイル操作系の関数を使用してファイルからデータをよみだしたいと思っているのですが、
よみだすファイル自体をもコンパイルする事って可能ですか?
それともバイナリデータを格納した変数をしようするしかないですか?
141デフォルトの名無しさん:2012/09/12(水) 09:42:27.93
>>140
できるよ
C言語コンパイラを組み込むよりは lua みたいな組み込み用言語を使ったほうが楽
142デフォルトの名無しさん:2012/09/12(水) 12:28:22.03
…これは噛み合ってるのかな
143 ◆QZaw55cn4c :2012/09/12(水) 12:32:53.90
午後のコーダのインストーラって、そんな感じのことしてなかったっけ?
144デフォルトの名無しさん:2012/09/12(水) 12:45:26.52
すいません。ファイル書き込みの時間を短縮したいと思ってるんですが、
以下のような構造のデータをfwrite一発で全書き出ししたいんですがどうしたらいいでしょうか

typedef struct
{
  int val;
  char* text;
}DATA;

DATA data[100] =
{
  { ... },
  { ... },
(データが100個ある)
};

textデータのサイズは可変でポインタでなく中の実データをファイル出力したいんですが、
fwrite一発でやるにはどうしたらいいでしょうか
145デフォルトの名無しさん:2012/09/12(水) 12:46:50.85
>>144
一発じゃ絶対無理
146デフォルトの名無しさん:2012/09/12(水) 12:51:29.46
一旦書き込むデータの全サイズを計算して
UC* save_data;
とかに保存し直した後で
fwriteとかしかないすかね
147デフォルトの名無しさん:2012/09/12(水) 12:53:00.73
一旦メモリ上にファイル内容と同じになるものを書き出して fwrite 一発って方法ならいけるが面倒くさい
fwrite の代わりに fputc で書けば fwrite の回数は 0 回でいけるが、ぐっと低速化するw
148デフォルトの名無しさん:2012/09/12(水) 12:53:44.88
保存しなおしてfwrite一発とfwriteを何回も発行するのとどっちが早いかな
149デフォルトの名無しさん:2012/09/12(水) 12:57:00.55
text の内容量が多い → 個別のが早い
text の内容量が少ない → 一発のが早い
150デフォルトの名無しさん:2012/09/12(水) 13:32:34.18
ついでに言えば。

書き出すデータ量<バッファサイズ
ならfwrite()の回数は何回でも関係ないな。fflush()またはfclose()時に書かれるから。

書き出すデータ量>>バッファサイズ
の場合もfwrite()の回数はどうでもいいな。書き出す処理自体がボトルネックになるから。
151デフォルトの名無しさん:2012/09/12(水) 14:58:43.74
まじすか。fputcでも速度変わらないですか
152デフォルトの名無しさん:2012/09/12(水) 15:18:54.73
ケースバイケース
153デフォルトの名無しさん:2012/09/12(水) 20:19:15.84
>>151
うん
154 ◆QZaw55cn4c :2012/09/12(水) 20:27:29.76
fputc() も fwrite() も FILE *fp を引数に持つ点ではどっちもどっちかもしれませんね。
155SCHEME餃子 ◆8X2XSCHEME :2012/09/12(水) 20:42:03.29
実測重要。
今時の複雑なシステムを把握しようとするだけ無駄。
156 ◆QZaw55cn4c :2012/09/12(水) 20:49:02.71
実測とはいうものの手元の環境だけで結論を出すのも‥‥
その昔 smartdrv.exe の存在だけでもえらい違いというか fd, fp の差はなかったかと。
それはそうと、ついにossの smartdrv は現れなかったですね。いったいどういう実装だったのだろう‥‥
157デフォルトの名無しさん:2012/09/12(水) 22:18:03.25
桜庭ななみ
158デフォルトの名無しさん:2012/09/12(水) 23:45:26.64
文字リテラルの数値がASCII互換というのは規格で決まってるんですか?
159デフォルトの名無しさん:2012/09/12(水) 23:46:51.76
いいえ
160デフォルトの名無しさん:2012/09/12(水) 23:51:12.89
はい
161デフォルトの名無しさん:2012/09/13(木) 00:57:33.50
関数の引数に配列あるとき、おまいらどう書いてるの?

例えばintの配列32個として

int a[]
int *a
int a[32]
(int *a)[32]
。。。他にも書き方あるかな?
162デフォルトの名無しさん:2012/09/13(木) 01:01:13.83
そんな引数は使わない。
163デフォルトの名無しさん:2012/09/13(木) 01:11:44.47
自己参照構造体について教えて頂けませんか?
164デフォルトの名無しさん:2012/09/13(木) 01:29:14.61
void f(int (*a)[32]);
165デフォルトの名無しさん:2012/09/13(木) 01:54:09.37
自己参照構造体を使ったリスト構造の一連の操作関数を参考書を何も見ずに書けるようになれば一人前だと思っていい
166デフォルトの名無しさん:2012/09/13(木) 08:12:05.75
いやむしろ入門の第一歩
C言語坂を登りはじめたばかり
167 ◆QZaw55cn4c :2012/09/13(木) 08:16:13.87
>>165
K&R2 の線形リスト書き方は初心者用でいつまでもそれでは糞ですよ、と
168デフォルトの名無しさん:2012/09/13(木) 08:35:45.87
std::listみれば一発や
169デフォルトの名無しさん:2012/09/13(木) 15:14:26.97
あっそ
170デフォルトの名無しさん:2012/09/13(木) 15:17:29.66
BSD系の<sys/queue.h>がけっこう好き。
171デフォルトの名無しさん:2012/09/13(木) 15:18:18.25
C言語プログラミングを大学で1年やって分かった3つの事

・俺は絶対にSEにはなれない
・SEをやっている奴は脳の構造が天才である
・これに比べたらHTMLとCSSは糞みたいに簡単である
・単純につまらない
・用途が無い
・ホモ臭い
・女性はやらない
・空き缶拾いのほうがコスパ良い
172デフォルトの名無しさん:2012/09/13(木) 15:32:14.99
#include <stdio.h>

/* 引数void, 戻り値void の関数を指せるポインター */
typedef void (*fncptr)(void);

void a(void) { printf("A"); }

void b(void) { printf("B"); }

void c(void) { printf("C"); }

/* fncptr 型の関数が3個並んだ配列が引数の関数 */
void f (fncptr f[3])
{
f[0]();
f[1]();
f[2]();
}

main()
{
/* 関数の配列を作成 */
fncptr v[3] = {a, b, c};

f(v);
}
173デフォルトの名無しさん:2012/09/13(木) 15:40:43.53
>>171
> C言語プログラミングを大学で1年やって分かった3つの事
8つもある件についてkwsk

元スレ
http://hayabusa.2ch.net/test/read.cgi/news4vip/1347459825/
174デフォルトの名無しさん:2012/09/13(木) 16:26:18.35
>>171
ホモ臭いって何だよ┌(┌ ^o^)┐ホモォ・・・
175デフォルトの名無しさん:2012/09/13(木) 17:00:57.97
オタク臭いけどホモ臭いってのは初めて聞いた
176デフォルトの名無しさん:2012/09/13(木) 19:07:43.55
ふっほっ
177デフォルトの名無しさん:2012/09/14(金) 19:48:08.81
『フカシギの数え方』 おねえさんといっしょ! みんなで数えてみよう!

http://www.youtube.com/watch?v=Q4gTV4r0zRs&feature=relmfu

巷で噂の動画。
コンピュータでの計算方法。
178デフォルトの名無しさん:2012/09/14(金) 19:52:56.31
>>113
ないからクソなのか
作れるから素晴らしいのかを考えよう。

カリカリにチューンして組み上げるのがC
出来合いの既製品でプラモデルするのがお前の好み

F1カーと軽自動車の違い。
179デフォルトの名無しさん:2012/09/14(金) 19:57:30.41
元からニコ動みたいな映像じゃねーか
180デフォルトの名無しさん:2012/09/14(金) 20:08:34.20
日本科学未来館だし
181デフォルトの名無しさん:2012/09/14(金) 20:19:26.30
>>177
これ最初見たとき火の鳥を思い出した。
182デフォルトの名無しさん:2012/09/14(金) 20:39:31.24
>>177
お姉さん方式でやってみた
http://codepad.org/FR2MoYGA

5x5 0.148 sec
6x6 77.807 sec
7x7 未計測 多分30時間くらいかかる
183デフォルトの名無しさん:2012/09/14(金) 20:47:51.73

 ――そして、25万年後……
184デフォルトの名無しさん:2012/09/14(金) 20:52:18.50
二歩目でスレッド分割するなら2つ
三歩目でスレッド分割するなら5つ
に分けられるけど

7x7 を4時間で解くのは無理ぽ
185デフォルトの名無しさん:2012/09/14(金) 21:24:16.20
勘違いしてた
8x8 を4時間で解かなきゃいかんのか
全然かなわねーな
186デフォルトの名無しさん:2012/09/14(金) 21:47:53.17
>>182 のループをアンロールしてほぼ倍速(所要時間55%)になった
@MinGW gcc ver4.6.2 オプション -O2 にて

http://codepad.org/jWKLYVq5
187186:2012/09/14(金) 22:16:01.89
>>186 に一番簡単な袋小路の判定を追加してさらに倍速

http://codepad.org/k9Dw2VA5
188163:2012/09/15(土) 02:50:14.22
>165など
で、結局説明はなし?
189デフォルトの名無しさん:2012/09/15(土) 09:24:23.23
マイナス方向へ丸める除算の高速な方法を教えてください
今はこんな感じです(実際は三項演算子を使ったマクロにしてます)
0 除算については考えなくてもOKです

// u が被除数
// l が除数
int div(int u, int l)
{
if(l>0)
{
if(u>=0) return u/l;
return -((-u+l-1)/l);
}
else
{
if(u<=0) return u/l;
return -((u-l-1)/(-l));
}
}
190デフォルトの名無しさん:2012/09/15(土) 09:46:03.07
>>188
ぐぐれば、いくらでも出てくるだろ。

そもそも、何から説明すればいいのからわからんし、全部説明しろよ、
とか思ってそうだから無視されてるんだろ。
191デフォルトの名無しさん:2012/09/15(土) 11:07:48.40
>>189
何に使うの?
例えば定義域がわかっているならオフセットを足して計算とか、範囲が狭いなら
テーブルで持っておくとか。
192デフォルトの名無しさん:2012/09/15(土) 12:21:42.22
>>191
ポリゴンの描画に使います
定義域は不定
範囲も不定

丸め方向が一方向でないとポリンゴンに穴があいてしまうのと
何度も呼ばれて結構な負荷(全体の20%程度)になってるので高速化したいというのが理由です
193m_m:2012/09/15(土) 12:22:10.47
#include <stdio.h>
int main(){
  int a,b;
  a=10,b=10;printf("%d %d %d\n",a,b,b/a);
  a=10,b=9;printf("%d %d %d\n",a,b,b/a);
  a=10,b=1;printf("%d %d %d\n",a,b,b/a);
  a=10,b=0;printf("%d %d %d\n",a,b,b/a);
  a=10,b=-1 -9;printf("%d %d %d\n",a,b,b/a);
  a=10,b=-9 -9;printf("%d %d %d\n",a,b,b/a);
  a=10,b=-10-9;printf("%d %d %d\n",a,b,b/a);
}
/* 答えがマイナスになるようなら、分母の絶対値−1を、分子から引く*/
194デフォルトの名無しさん:2012/09/15(土) 12:41:40.20
if (u^l&~(~0>1))
return~(~u/l);
else
return u/l;
195デフォルトの名無しさん:2012/09/15(土) 12:52:31.92
>>192
ポリゴン描画なら定義域は画面範囲じゃん。
普通、画面座標系(0,0)-(w-1,h-1)でやるんでねーの?
196m_m:2012/09/15(土) 12:57:31.75
197デフォルトの名無しさん:2012/09/15(土) 13:51:43.48
>>194
計算結果が一致しない

>>195
最終的にはポリゴンの描画なんだけど
行列式の計算途中の数値だから範囲を限定できないんだ
198デフォルトの名無しさん:2012/09/15(土) 15:04:23.58
>>197
画面座標に落とすまでは丸めないで計算すると思うんだが。
199デフォルトの名無しさん:2012/09/15(土) 15:22:50.19
じゃあこれで
次の関数を完成させよ

#define WIDTH 640
#define HEIGHT 480

char buf[HEIGHT][WIDTH];

void triangle(int x1, int y1, int x2, int y2, int x3, int y3, int c)
{
// (x1,y1) (x2,y2) (x3,y3) を頂点とする三角形を描画せよ
// buf[y][x]=c とすることで点を打つことが出来る
// x1,y1,x2,y2,x3,y3 の値域は -32000 〜 32000 である
}
200デフォルトの名無しさん:2012/09/15(土) 15:33:05.91
エスパーするとそのx1/y1...は画面座標系のつもりなのか?
普通は画面座標におさまるように前段階で計算するもんだが。
ちょっと基本をググるなりした方がいいぞ。
201デフォルトの名無しさん:2012/09/15(土) 15:42:49.03
それに、もしそれがやりたいことなら32000オフセットかければ今やってる
やり方でできるんじゃねーのか?
202デフォルトの名無しさん:2012/09/15(土) 15:46:43.99
3D書くとき穴をあけたくなかったら0.375ずらしとけってGLの人が言ってた
203デフォルトの名無しさん:2012/09/15(土) 15:47:06.36
32000足して正数の座標系にすればいいだけだな
204デフォルトの名無しさん:2012/09/15(土) 15:53:25.37
>>200
図形はすべて画面外かもしれないし、一部だけ見えてるかもしれないし、全部入ってるかもしれない
205189:2012/09/15(土) 16:45:14.38
行列式を使わない方法を思いついたのでそっちで試してみます
206デフォルトの名無しさん:2012/09/15(土) 16:53:50.75
ホントにCでやってのかなぁ?(疑惑)
207デフォルトの名無しさん:2012/09/15(土) 17:00:49.57
>>204
だからクリッピングは前段階でやるんだってば...
>>206
そりゃやってんだろ。
208デフォルトの名無しさん:2012/09/15(土) 17:41:56.36
ふっほっ
209デフォルトの名無しさん:2012/09/16(日) 09:39:23.71
神のページが消えている
http://cm.bell-labs.com/cm/cs/who/dmr/

だれか魚拓を知らないか?
210デフォルトの名無しさん:2012/09/16(日) 12:27:38.83
尖閣諸島には石油資源が豊富

石油があると外国が侵略する理由になる
また豊富な石油で電力を賄うと原発への依存度が下がる

原発を減らすと技術力がガクッと下がりさらに国防力も大幅下落する
アメリカやフランスなどとの関係も悪くなり戦争リスクが高まる

結論
尖閣諸島を放棄することは国益
211 ◆QZaw55cn4c :2012/09/16(日) 12:30:58.14
>>210
中国に教えてあげて
212デフォルトの名無しさん:2012/09/16(日) 12:33:53.70
珍しくQZの意見に同意した
213はちみつ餃子 ◆8X2XSCHEME :2012/09/16(日) 13:17:28.94
うまいこと返したな。
俺も感心したわ。
214デフォルトの名無しさん:2012/09/16(日) 13:25:13.69
またQZの自演が始まったか
215デフォルトの名無しさん:2012/09/16(日) 14:06:38.65
板違い
216デフォルトの名無しさん:2012/09/16(日) 18:37:09.35
久しぶりにお邪魔します。

if文などの条件文で複数の条件を指定する時、

if ( 変数 == 値 || 変数 == 値 )

と書きますが、この時変数が同じ場合だとしても同じ変数を2度書くしか指定する方法はないのでしょうか?
分かりづらいと思うので、

if ( 変数 == 値1 , 値2 )

こういった感じに変数の複数の値から分岐させたい場合変数を1回の記述で済ます事は出来ないのでしょうか?
私の場合これが極端で

if ( 変数x == 値1 || 変数x == 値2 || 変数x == 値3…(ry

とする場合が多いのでこれらを1つの条件にまとめたいのですが可能ですか?
ダメでも他に良い提案がありますか?
よろしくお願いします
217デフォルトの名無しさん:2012/09/16(日) 18:39:28.63
おまえさあ、くだらない自分勝手なソースの書き方やめろよ
そんなにオレ様仕様がいいならオレ様言語でも作ったら?
218デフォルトの名無しさん:2012/09/16(日) 18:56:12.56
>>216
switch使え。
219はちみつ餃子 ◆8X2XSCHEME :2012/09/16(日) 18:58:21.99
>>216
こういった感じで可変長引数の関数で表現出来なくはない。
http://ideone.com/DNNKz

Cの可変長引数は引数の個数を渡す必要があるのが不恰好な上に、
間違った値を指定してもコンパイラが検出できないのがダサい。
C++ ならもうちょっとマシな方法を用意できるんだけど。
220デフォルトの名無しさん:2012/09/16(日) 19:25:45.73
>>216
Python なら if(x in [2, 3, 5, 7, 11]) { ... } とか if(10 <= x <= 20){ ... } とかできるから、
C言語でも言語仕様を変更すれば実現可能とは思うが、そんな要望はたいして多くな
いから、素直に書くか >>218-219 みたいにするか、適当なプリプロセッサで作って変
換するとかすればいいと思うよ。
221デフォルトの名無しさん:2012/09/16(日) 19:26:23.11
そういうのが欲しければもっと高レベルな言語やったほうがいいんじゃねーの
222デフォルトの名無しさん:2012/09/16(日) 20:39:28.33
>>216
可変長引数マクロを駆使すれば出来るが、まんどうだからswitchの方がいい。
条件でbreakしたいならswitchじゃダメだけど。
223デフォルトの名無しさん:2012/09/16(日) 20:46:41.98
switch (変数) {
 case 値1:
 case 値2:
 case 値3: 
  処理;
  break;
}

こういうことか
224216:2012/09/16(日) 21:13:10.96
>>217-223
みなさん早い回答ありがとうございますm(_ _)m
switch文で代用したいと思います。
ありがとうございました!

可変長引数ってのが何なのか分かりませんでした…(´・ω・`)
もうちょっと勉強します…orz

>>221
高レベル=習得が難しいアセンブラとかの事ですか?それとも高水準系ですか?
225 ◆QZaw55cn4c :2012/09/16(日) 21:59:42.06
>>224
高レベル、ここではより人間の思考に沿った、書きやすいあるいは読みやすい、あるいは思考・アルゴリズムを反映する言語、ということになるかと思います。
計算機にさせるべき仕事や目的があってのプログラミング言語ですから、必要に応じて習得するなり、多少の時間と手間をかけて C で記述することを選択するなりいろいろ選択はあると思います。
ただ、C をある程度において習得することは、今後、別の言語を学ぶ際にも役立つでしょうね。

>>225
>計算機にさせるべき仕事や目的があってのプログラミング言語
お前がいうか?
226デフォルトの名無しさん:2012/09/16(日) 22:19:55.45
お 前 が い う かwww
227デフォルトの名無しさん:2012/09/16(日) 23:51:34.75
int a=1;
228デフォルトの名無しさん:2012/09/17(月) 02:15:19.56
「ひな壇は韓流タレント中心に」という構想が一変、TV界と韓流の今 09/16 13:00
http://woman.infoseek.co.jp/news/entertainment/cyzowoman_16Sep2012_25106


 日韓の関係悪化の影響により、韓流離れが加速する現在のテレビ業界。
しかし、2年ほど前には広告代理店を中心に「ゴールデンタイムの番組には韓国人タレントを使用する」流れが作られていたという。

現在は吉本興業所属の芸人が幅を利かせる“ひな壇タレント”を、そっくり韓流と入れ替えるという計画だったそうだ。

 日本国内で、KARAや少女時代がブレークした2010年。
日本音楽事業者協会会長で「尾木プロ」社長の尾木徹氏が、K-POPアーティストの誘致に尽力したと伝えられていた。
そして同時期頃から、広告代理店やテレビ局上層部の間では、こんな“定説”が存在していたという。

「2011年以降は、ゴールデンのバラエティから、吉本芸人はほとんどいなくなります。
代わりにひな壇に座るのがK-POPアーティストや、韓流タレントたち。

安定してレギュラー番組を続けられそうなのは明石家さんま、島田紳助、ダウンタウンくらいで、その他の芸人たちは有名無名問わず降板させていこうという方針でした」(広告代理店幹部)

 ところが3月の震災で、エンタメ業界は数カ月ほど停滞状態が続くことに。
その前後に日本デビューを果たしたK-POPアーティストや、バラエティに登場した韓流タレントも少なからず存在したが、テレビ出演者が大幅に入れ替わるといった事態に至ることはなかった。

「紳助は引退してしまったし、高岡蒼佑のフジテレビ韓流傾倒批判など想定外の事態はいくつも発生しました。
特にネット上でのフジテレビ批判は見過ごせるレベルの話ではなく、連日の抗議デモやスポンサー企業の不買運動など、韓流に対する不安要素ばかりが高まっていきました」(同)

 そして今回の竹島問題で、韓流コンテンツへの傾倒に関して沈黙を貫いてきたテレビ各局も、方針を表明。
フジテレビは当面韓流ドラマの放送予定はないとし、またBS日テレの定例会見では赤座弘一社長が「韓国ドラマが多すぎるのではという声もある。
少なすぎるという声はないので、今後、(韓流ドラマを)少なくしていく方向になると思う」と発言したことも話題になった。


229デフォルトの名無しさん:2012/09/17(月) 03:31:35.59
いくら学んでも、カスグラムしかかけないクズいう事は全然説得力が無いな。
230216:2012/09/17(月) 09:45:18.66
>>225
なるほど。分かりました。
とりあえず私はCをやっているのでこれでひとつのプログラムを作る力を身につけたら他の言語にもチャレンジしてみようと思います♪(=^^)/

ありがとうございました〜^∇^
231デフォルトの名無しさん:2012/09/17(月) 09:53:54.48
悪いことは言わない最初はC#やっとけ
まずC#でやって、これってCとかだとどうやるのかなって感じで勉強すれば、開発に必要なことをスムーズに習得できる
C#は洗練されてて重要な機能は美しくまとまってるから、CやC++で勉強するときに生じるくだらない混乱がなく、PG入門、チュートリアルに最適なんだ

232 ◆QZaw55cn4c :2012/09/17(月) 10:11:13.21
>>231
C# はとってもいい(作ってる人からしてセンスが違う)とみたのだが、
http://cruel.org/freeware/hacker.html
に掲載されることは、今後もないだろうな‥‥
233デフォルトの名無しさん:2012/09/17(月) 10:23:54.83
最初に楽なの覚えると後がつらいよw
234デフォルトの名無しさん:2012/09/17(月) 10:42:38.03
問題ない
最初にもっとも難しい壁を越えようとするよりは、段階をつんで乗り越えるほうが賢い
235デフォルトの名無しさん:2012/09/17(月) 10:46:01.32
まあちゃんとできる人にとっては順番はあまり関係ないかもね。
でも、C言語がもっとも難しい壁とか言ってたら色々とダメだろw
236デフォルトの名無しさん:2012/09/17(月) 10:55:13.89
Cの何がムズカシイの
237 ◆QZaw55cn4c :2012/09/17(月) 11:26:00.70
ポインタ。
参照さえあればどうかんがえてもいらないと思う。ポインタ演算は基本いらない。

malloc() の返り値で
int &a = malloc(sizeof(int))
とか
int &a = new int
とかできないものか?
238デフォルトの名無しさん:2012/09/17(月) 11:28:44.92
参照だと足したり引いたり出来ないし不便じゃね?
239 ◆QZaw55cn4c :2012/09/17(月) 11:30:50.14
>>238
そのポインタ演算、あれば便利かもしれないけれどもそれは否定しないけれども、
基本的になくても「効率は落ちない」のではないかと、つつに考えておりまする。

C++ では確か void * の足し算引き算はできなかったはず。
240デフォルトの名無しさん:2012/09/17(月) 11:34:19.43
>>239
そんなこと言い出したらC#なんかのモダンな機能も、

>あれば便利かもしれないけれどもそれは否定しないけれども、
>基本的になくても「効率は落ちない」のではないかと、つつに考えておりまする。

なんて事になっちゃいそう。
241デフォルトの名無しさん:2012/09/17(月) 11:39:38.18
>>237
うーん。
その場合、確保失敗でのエラー通知方法が、例外しかなくなってしまうね。
c++
242デフォルトの名無しさん:2012/09/17(月) 11:41:15.91
おっと、途中で書き込んでしまった。

>>237
うーん。
その場合、確保失敗でのエラー通知方法が、例外しかなくなってしまうね。
c++は良いとしても、cはどうなんだろうか。
243デフォルトの名無しさん:2012/09/17(月) 12:06:49.85
malloc はともかく、fopen の返り値あたりはリファレンスでもいいかもしれない
でも紛らわしいし、ポインタ一つの方がいい
244デフォルトの名無しさん:2012/09/17(月) 13:00:51.42
>>237
参照だと、参照先の変更ができないけどそこはどうする?
VB みたいに参照変更用の演算(Set)が必要になるな
245デフォルトの名無しさん:2012/09/17(月) 13:20:28.28
スレタイがあるだろう。
246デフォルトの名無しさん:2012/09/17(月) 15:25:06.99
>>237
おまえさ、
int a; で済むことを
int& a = *new int; とかやってるの?
ジャイアントスイングで鉄柱に叩きつけて欲しいのか?
247デフォルトの名無しさん:2012/09/17(月) 15:35:58.91
int Mdesukara;
int &qz = Mdesukara;
248デフォルトの名無しさん:2012/09/17(月) 16:05:20.88
>>246
int a; は int a; だろ…。
ポインタを参照で置き換える話なのに何言ってんだ?
249デフォルトの名無しさん:2012/09/17(月) 16:05:45.88
バイナリの塊をチマチマ読む必要がないならポインタ演算はあんま必要ない
250デフォルトの名無しさん:2012/09/17(月) 16:11:27.32
関数の中で fp を受けたいとき、つまりダブルポインタを使うような場面だと
どうしても参照だとあれ…ってなっちゃうんだよな。
Java とか PHP とかやってるときにいつも迷う。というわけで個人的にはポインタ必須。
251デフォルトの名無しさん:2012/09/17(月) 16:14:34.42
>>248
だからそのとおり
俺に言うな

水月に掌底でも欲しいのか?
252デフォルトの名無しさん:2012/09/17(月) 16:30:16.05
あまり強そうな言葉を使うなよ
弱く見えるぞ
253デフォルトの名無しさん:2012/09/17(月) 16:37:04.67
漫画の台詞を使うなよ
バカに見えるぞ
254デフォルトの名無しさん:2012/09/17(月) 16:49:11.95
エレガントなコードってどんなの?
技巧凝らすと読みづらいって言われるし

高等数学のようなエレガントさなの?

ちょっと書いて見本みせてください。
255デフォルトの名無しさん:2012/09/17(月) 16:50:02.77
>>254
何も書かないこと
256デフォルトの名無しさん:2012/09/17(月) 17:07:38.57
>>252
そうか、じゃ 2W のレーザーで遠くからがいいか?
257デフォルトの名無しさん:2012/09/17(月) 17:43:12.31
scanf関数に&が付くのは何でですか?
258デフォルトの名無しさん:2012/09/17(月) 17:44:08.64
scanf()に積まれる引数はアドレスだから
259デフォルトの名無しさん:2012/09/17(月) 17:50:14.46
scanfすらも覚えられないアホを弾く為の
懇切丁寧な門前払い
260デフォルトの名無しさん:2012/09/17(月) 18:10:29.30
>>254
効率、短さ、分かり易さ のバランスじゃね

どれかを蔑ろにするとエレガントとは言われないだろう
見本は俺には無理
261デフォルトの名無しさん:2012/09/17(月) 21:16:47.95
>>254
このコードをエレガントにして下さい、って感じでサンプルコード出せば盛り上がると思うぞ。
262デフォルトの名無しさん:2012/09/17(月) 21:31:32.55
hello world をエレガントにして下さい
263デフォルトの名無しさん:2012/09/17(月) 21:33:23.95
>>187 のコードをエレガントにしてください
264257:2012/09/17(月) 21:57:37.44
>258
ありがとう。
265デフォルトの名無しさん:2012/09/17(月) 22:24:17.99
いえいえ
266デフォルトの名無しさん:2012/09/17(月) 22:37:12.92
>>237
int & o = *new int();
delete &o;
267デフォルトの名無しさん:2012/09/17(月) 23:25:50.03
ポインタ変数は今は2バイトになってるんですか?
(64bit版だと)
268デフォルトの名無しさん:2012/09/17(月) 23:26:34.15
場合による
269デフォルトの名無しさん:2012/09/17(月) 23:29:00.15
何が64bitなんだろうな
270デフォルトの名無しさん:2012/09/17(月) 23:29:49.64
そこは任天堂がはるか昔に通過した地点だ
271デフォルトの名無しさん:2012/09/17(月) 23:30:07.58
>>267
あ違った
4バイトか8バイトだ
>>268
場合によるとはどういうこと?
272デフォルトの名無しさん:2012/09/17(月) 23:38:51.15
64bitのCPU向けに64bitのポインタが使えるコンパイラによって64bitのコードを吐かせる場合、64bitとなる
273デフォルトの名無しさん:2012/09/17(月) 23:40:22.66
WindowsはLLP64
つまりintのみ32bit、あとは64bit
274デフォルトの名無しさん:2012/09/17(月) 23:41:10.61
クロスコンパイラでクソなことをしでかすと
クソなバイナリがとたんに吐き出される
そしてあなたも会社から吐き出される
まるで便所のクソのように
275デフォルトの名無しさん:2012/09/17(月) 23:58:29.78
インディペンデンス・デイって映画で
宇宙人の船に外付けしてコンピュータウィルスを注入して
宇宙船の防御システムを機能不全にしていたんだけど
あのウィルスってもともとはC言語で書かれていたものなのかな?
命令セットもなんなのかわかる?
276デフォルトの名無しさん:2012/09/18(火) 00:02:46.68
ウィルス自体はそのシステム用のバイナリだろ
そのシステムは機械語かも知れないし
宇宙人の言語そのものかもしれない

そしてその手のコンパイラがあれば
ナニ言語で書いてもいい
翻訳機なんだから
277 ◆QZaw55cn4c :2012/09/18(火) 00:21:32.88
>>266
!!
コンパイル通りますね。感謝です。
参照変数にポインタの先の実体をみせておいて、その参照に対して単項 & 演算子をとると(本来可変・動的であるところの)ポインタ値が得られるのですね。
何かに使えないかなあ‥‥‥。
278デフォルトの名無しさん:2012/09/18(火) 00:51:15.23
>>266も知らなかったのか
279 ◆QZaw55cn4c :2012/09/18(火) 01:12:55.09
うん http://ideone.com/yzwM7 の左辺値とかよく迷います
280デフォルトの名無しさん:2012/09/18(火) 01:36:07.04
ただの勉強不足じゃん
この分じゃC++11の右辺値参照とか全然分からないだろ
281 ◆QZaw55cn4c :2012/09/18(火) 01:50:58.01
>>280
c++11なんて生きてるうちに到達できるかどうか‥‥勉強不足ですね
282デフォルトの名無しさん:2012/09/18(火) 08:35:58.32
テメーに不足しているのは勉強じゃなくて、知能。
283デフォルトの名無しさん:2012/09/18(火) 08:48:14.20
C++の話を出している奴ともども消え去れ
284デフォルトの名無しさん:2012/09/18(火) 10:41:55.10
>>274
今やクロスでないほうが珍しい件について
285デフォルトの名無しさん:2012/09/18(火) 10:53:37.65
void get_str(char* p_str)
{
  p_str = (char*)malloc(6);
  strcpy(p_str, "hello");
}


int main(void)
{
  char* p_str;

  get_str(p_str);
  printf("%s\n", p_str);

  return 0;
}
286デフォルトの名無しさん:2012/09/18(火) 10:55:53.80
$ ./a.exe
U牙]テ瑞瑞瑞瑞瑞振牙]テ瑞瑞瑞瑞瑞振牙

コンパイラがバグって増す
287デフォルトの名無しさん:2012/09/18(火) 10:57:02.13
>>285
バカがコンパイラのせいにすんな
288デフォルトの名無しさん:2012/09/18(火) 11:11:47.23
   ∩___∩
   | ノ      ヽ/⌒) あばばばばばば
  /⌒) (゚)   (゚) | .|
 / /   ( _●_)  ミ/    ∩―−、
.(  ヽ  |∪|  /    / (゚) 、_ `ヽ
 \    ヽノ /      /  ( ●  (゚) |つ
  /      /      | /(入__ノ   ミ   あばばっあびゃばびゃばば
 |       /       、 (_/    ノ
 |  /\ \       \___ ノ゙ ─ー
 | /    )  )       \       _
 ∪    (  \        \     \
       \_)
289デフォルトの名無しさん:2012/09/18(火) 11:16:35.24
void get_str(char** p_str)
{
  *p_str = (char*)malloc(6);
  strcpy(*p_str, "hello");
}


int main(void)
{
  char* p_str;

  get_str(&p_str);
  printf("%s\n", p_str);

  return 0;
}

これだと動いたんですが、前者だとなんで駄目なんですか
290デフォルトの名無しさん:2012/09/18(火) 11:21:52.85
char* をそっくり int と読み替えてみな
printf の時点での p_str はどんな値になるか
291デフォルトの名無しさん:2012/09/18(火) 11:33:23.00
なるほど、、ダブルポインタってやっぱり必要なんすね
292デフォルトの名無しさん:2012/09/18(火) 12:27:27.86
>>282
よーくわかってます、足りない知能を(プログラミング分野限定でいいから)増やす方法ってないですかね、他人のソースを読むのはどうでしょうか?
293デフォルトの名無しさん:2012/09/18(火) 12:42:46.96
むしろメモリポインタが必要だろ
294デフォルトの名無しさん:2012/09/18(火) 13:44:22.28
友達と「同じ課題」でコーディングして出来の競っこすればいんじゃないの。
友達の知識じゃ物足りなくなったら先輩と競い、先輩が物足りなくなったら神と・・・

JAXAの創始者糸川さんの名言

人生で大切なのは、
失敗の歴史である。
目標に向かって、
一段ずつ階段を上っていく上で、

いちばん肝心なことは、
必ず、最初の一段を上るということである。
そしてまた次に一段上るということである。
295デフォルトの名無しさん:2012/09/18(火) 13:54:04.69
成功に学ばないやつは永久に後追いを脱却することがない
296デフォルトの名無しさん:2012/09/18(火) 14:03:43.95
成功に学ぶって何さ
297デフォルトの名無しさん:2012/09/18(火) 14:10:43.05
うごいてるプログラムをなおすな!
298デフォルトの名無しさん:2012/09/18(火) 19:28:10.54
typedef struct aaa {
int a;
} aaa;
enum {
xxx = (long) (&((aaa *)0)->a),
yyy = (long) (&((aaa *)0)->a + 1),
};

gcc4.2だとOK、VC2010だとyyyでコンスタントじゃないとエラー
VCのバグ?
299デフォルトの名無しさん:2012/09/18(火) 19:34:28.40
>>298
誰がそんなことしていいって言ったんだ?
300デフォルトの名無しさん:2012/09/18(火) 19:39:06.39
しちゃいけないのか? なんで?
301デフォルトの名無しさん:2012/09/18(火) 19:40:11.52
>>300
していいと決められてないから
302デフォルトの名無しさん:2012/09/18(火) 19:41:19.61
まあいいや。VCでもOKな回避方法見つけたから。
役にたたないクズ共だな。
303デフォルトの名無しさん:2012/09/18(火) 19:49:33.29
便乗質問だけどenumにlong割り当ててもOKなの?
304デフォルトの名無しさん:2012/09/18(火) 19:51:15.41
>>301
役立たずの上にうそつきか。生きてる価値ないな。

6.6 Constant expressions
7
- an address constant for an object type plus or minus an integer constant expression
305デフォルトの名無しさん:2012/09/18(火) 19:57:43.01
>>304
バカはテメーだ
ちゃんと嫁
306デフォルトの名無しさん:2012/09/18(火) 20:08:21.89
>>305
まず、(aaa *)0はアドレス定数だ。
そして6.6-9で
> The array-subscript [] and member-access . and -> operators, the address &
> and indirection * unary operators, and pointer casts may be used in the
> creation of an address constant, but the value of an object shall not be
> accessed by use of these operators.
とあるので、&((aaa *)0)->aもアドレス定数だ。そして6.6-7の
> - an address constant for an object type plus or minus an integer constant expression
で&((aaa *)0)->a + 1もアドレス定数になるじゃねーか。

バカ、嘘吐き。死ね。
307デフォルトの名無しさん:2012/09/18(火) 20:24:15.70
>>306
お前は前提からして間違ってるんだよ
バカバーカ
308デフォルトの名無しさん:2012/09/18(火) 20:28:21.39
>>298
VC2012 だとおk
309デフォルトの名無しさん:2012/09/18(火) 20:29:45.78
実際のところどうなのか興味あるので>>307も煽るだけじゃなくて根拠を示してクレヨン。

ちなみにうちのclangちゃんは文句言わなかったけど、
llvm-gccちゃんは同じようにyyyの方だけ怒った。
310デフォルトの名無しさん:2012/09/18(火) 20:39:54.86
定数に定数を足しただけなのに怒るのは頭おかしいな
311デフォルトの名無しさん:2012/09/18(火) 20:41:14.62
なぁにぃ
312デフォルトの名無しさん:2012/09/18(火) 20:46:57.04
>>307は引っ込みつかなくなって、必死で反論考えてる最中。
どんなバカな事言い出すか楽しみだ。
313デフォルトの名無しさん:2012/09/18(火) 21:12:02.73
>>310
enum { yyy = (long) (&((aaa *)0)->a + 0)};
これでも怒る。vc2010ダメ杉だろ。
314はちみつ餃子 ◆8X2XSCHEME :2012/09/18(火) 21:32:18.53
別に怒ってはいない。
315デフォルトの名無しさん:2012/09/19(水) 07:19:25.67
ふっほっ
316デフォルトの名無しさん:2012/09/19(水) 09:20:03.55
VCってマイクロソフトの独自仕様なんでしょ
317はちみつ餃子 ◆8X2XSCHEME :2012/09/19(水) 19:01:20.88
原文はもってないけど、
JIS だと 6.6 の最後の方に「処理系は,定数式の他の形式を許してもよい」って書いてある。
GCC はこのルールを適用して許してるんじゃねーの。
-pedantic オプションを付けると警告は出すし。
318デフォルトの名無しさん:2012/09/19(水) 19:34:53.81
a + 1 は &a[1]と等価であり、&, []ともに使ってよいとされている
でも、VC2010では怒られるけどね。(long) &(&((aaa *)0)->a)[1]

Anaddress constant is a null pointer, a pointer to an lvalue designating
an object of static storage duration, or a pointer to a function designator;
it shall be created explicitly using the unary & operator or an integer
constant cast to pointer type, or implicitly by the use of an expression of
array or function type. The array-subscript [] and member-access .
and -> operators, the address & and indirection * unary operators, and pointer
casts may be used in the creation of an address constant, but the value of
an object shall not be accessed by use of these operators.
319デフォルトの名無しさん:2012/09/19(水) 19:43:08.40
typedef struct aaa {
int a;
} aaa;
enum {
xxx = (long) (&((aaa *)0)->a), //vc=ok,gcc=ng
yyy = (long) (&((aaa *)0)->a + 1), //vc=ng,gcc=ng
zzz = ((long)&((aaa *)0)->a + 1), //vc=ok,gcc=ng
ttt = offsetof(aaa, a) + 1, //vc=ok,gcc=ok
};
何ぞこれ?
320デフォルトの名無しさん:2012/09/19(水) 20:14:27.85
>>319
gccのNGは別のエラーじゃないの? 規格上enumはintという事になってるから
(long)が許されないとか。

offsetofって 0を構造体のポインタにキャストして、メンバーアドレスと
構造体そのもののアドレスをchar *にさらにキャストした差だから、
xxx = (long) (&((aaa *)0)->a), //vc=ok,gcc=ng
が通らないのはおかしい。
321デフォルトの名無しさん:2012/09/19(水) 20:55:01.37
http://codepad.org/
http://ideone.com/
このあたりで、コンパイル実行してみたら
322デフォルトの名無しさん:2012/09/19(水) 21:00:26.43
>>320
いや int でも変わらん

ちなみに
-traditional では ok
-std=c89 では ng
-std=c11 では ng
-std=c++98 では ng
-std=c++11 では ok
323デフォルトの名無しさん:2012/09/19(水) 21:19:04.60
324デフォルトの名無しさん:2012/09/19(水) 21:34:02.38
>>323
だよな
325デフォルトの名無しさん:2012/09/19(水) 21:42:26.20
うん
326デフォルトの名無しさん:2012/09/19(水) 21:44:30.63
ISO/IEC 9899:2011というのが出てるの知らなかった
今まで9899:1999ばかり使っていた
327はちみつ餃子 ◆8X2XSCHEME :2012/09/19(水) 21:51:37.77
>>326
_Generic キーワードはちょっと C らしくなくてやりすぎな気がしてた。
328デフォルトの名無しさん:2012/09/19(水) 21:58:25.59
>>327
関数オブジェクトみたいなのをマクロで定義出来るのかな?まだ良く読んでないけど
329デフォルトの名無しさん:2012/09/19(水) 22:49:17.41
さあ
330デフォルトの名無しさん:2012/09/20(木) 01:46:17.99
プロ板
331デフォルトの名無しさん:2012/09/20(木) 07:37:52.49
ププン酢たっぷりななみ寿司^^
332デフォルトの名無しさん:2012/09/20(木) 15:00:00.26
すみません誠に聞き辛いのですが…、
3分前にC言語をやってみようと思い立った僕が、C言語を書く環境を整えるに当たり一体どのサイトから何をダウンロードしたらいいのでしょうか??
333デフォルトの名無しさん:2012/09/20(木) 15:03:25.26
>>332
日本語でおk
334デフォルトの名無しさん:2012/09/20(木) 15:15:12.03
>>332
http://sourceforge.net/projects/mingw/files/MinGW/Base/gcc/
ここで mingw-get-inst-20120426.exe をポチる
335デフォルトの名無しさん:2012/09/20(木) 15:19:45.03
解りにくくてほんとにすみません。
とにかくC言語の事を何にも知らないのですが、ぜひC言語でちょっとしたプログラムでも組んでみたいんです。
でもそのプログラムを組むにしても何かしら(コンパイラ?)をどこかのサイトからダウンロードして来なきゃいけないわけですよね?
その辺からヒントを頂きたいんです。
よろしくお願いします。
336332=335:2012/09/20(木) 15:26:34.38
>>334を読む前に>>335を書いてしまいました。
>>334さん超ありがとうございます!!
337デフォルトの名無しさん:2012/09/20(木) 15:41:54.59
>>335
OSはなんなんだよ・・・
338デフォルトの名無しさん:2012/09/20(木) 15:51:39.24
僻地なここに辿りつくのに最低限の資料すらググって調べられない時点で釣り
339デフォルトの名無しさん:2012/09/20(木) 17:06:47.90
本屋で入門書の何冊かでも買ってくればいいのに
340デフォルトの名無しさん:2012/09/20(木) 18:29:33.46
すみませんOSすら書かないなんて僕は人間失格ですね…。
Windows7 64bitでした。
http://doremi.s206.xrea.com/c/index.html
これ読んでるんですが、MinGWをインストールした後、何をどうしたらいいのか解らないです…。
341デフォルトの名無しさん:2012/09/20(木) 18:39:51.96
馬鹿用に手取り足取り方法を書いてあるじゃないか
それでわからないのならMinGWなんて誰が教えても理解させるのは無理
342デフォルトの名無しさん:2012/09/20(木) 18:56:04.22
343デフォルトの名無しさん:2012/09/20(木) 19:47:49.09
△ 「メモ帳」などのソフト
◎ サクラエディタなどのテキストエディタ

基本的に、テキストエディタは、ワープロソフトではない
344デフォルトの名無しさん:2012/09/20(木) 20:02:39.86
桜庭ななみ
345デフォルトの名無しさん:2012/09/20(木) 21:04:02.82
(´・ω・`)…
346デフォルトの名無しさん:2012/09/20(木) 21:39:02.19
>>340
path c:\mingw\bin;%path%
gcc --help
347デフォルトの名無しさん:2012/09/20(木) 22:02:47.14
書き方覚えることに意味はないんだよ、憧れの君
348デフォルトの名無しさん:2012/09/20(木) 22:15:15.46
(´・ω・`)…
349デフォルトの名無しさん:2012/09/21(金) 01:15:21.01
struct tagLong {
unsigned char force;
unsigned char third;
unsigned char second;
unsigned char first;
};
union longMember {
long dword;
struct tagLong t;
};
こういう共用体があった場合
リトルエンディアンの場合
tagLongの並びは
force、third、second、firstとするべきか
first、second、third、forceとするべきか
どっちがいいとか決まってますか?
別にどっちでもかまわないでしょうか?
350デフォルトの名無しさん:2012/09/21(金) 01:16:36.19
それ以前にうにおんをそんな臭い使い方するなってことを肝に銘じておけ
351デフォルトの名無しさん:2012/09/21(金) 01:36:00.90
>>349
つ[fourth]
352デフォルトの名無しさん:2012/09/21(金) 08:35:14.05
>>849
キミの順序付けの定義による。背の高い順にならべ/背の低い順に並べ。

>>850
ネットワークをサポートするインクルードファイル見たことない初心者さんですか?
353デフォルトの名無しさん:2012/09/21(金) 08:55:29.35
>>352
番号も判らないお間抜けさんですか?
354デフォルトの名無しさん:2012/09/21(金) 09:01:45.33
forceを使え
355デフォルトの名無しさん:2012/09/21(金) 09:17:09.91
>>350
そんな変わった書き方ですかね?

まぁ自分の定義付けによるものならどっちでもよさそうな
感じですかね。

ちなみにfourthに修正しました。
356デフォルトの名無しさん:2012/09/21(金) 09:31:47.20
>>353
first: 〔順序の〕一番(目)、第一
以下略

順序が定義されてなきゃ意味がないんだよ。マヌケ。
357デフォルトの名無しさん:2012/09/21(金) 09:40:32.90
なんか朝からやたら攻撃的だけどカルシウム足りてる
のかい?
つーかプログラマーってこんなのしかいないのかよ。
358デフォルトの名無しさん:2012/09/21(金) 09:59:13.82
どこの板も似たようなもんでしょ
359デフォルトの名無しさん:2012/09/21(金) 10:13:22.40
プログラマというよりも人間なんてこんなのしかいないよ
360デフォルトの名無しさん:2012/09/21(金) 10:17:55.89
エンディアンもそうだけど
構造体がどういう順で詰められるかもコンパイラ依存じゃなかったっけ
そこまで含めて実際のメモリ上どうなるかを見たうえで名前を付ければいい

バイトやビットって普通は下位から数えるよね?違うのかな
361デフォルトの名無しさん:2012/09/21(金) 10:24:08.49
インド人にはアメリカのインド人とインドのインド人がいる
エンディアンも同じ
362デフォルトの名無しさん:2012/09/21(金) 11:06:24.89
>>360
> 構造体がどういう順で詰められるかもコンパイラ依存じゃなかったっけ
JISの規格書はタダで読めるんだから、ウソ書かないように。
知らないなら出しゃばらなきゃいいのに。
363デフォルトの名無しさん:2012/09/21(金) 11:37:44.89
順序は規定されてるけど、どう詰められるかはコンパイラというか処理系依存だろ。
364デフォルトの名無しさん:2012/09/21(金) 11:53:09.04
詰め方は処理系毎に指定する方法がある。
空きなく詰め込む指定ができないならば、役に立たないクズコンパイラ。
使う価値は無い。
365デフォルトの名無しさん:2012/09/21(金) 12:08:25.50
>>364
Sparcや68000用のコンパイラは屑ですか。そうですか。
世の中x86のようにワード境界を跨いでワードアクセスできるような変態ばかりじゃないんですよ。

>>356
>353はアンカーを指摘しているんだと思うよ。
366デフォルトの名無しさん:2012/09/21(金) 12:15:09.39
68000のコンパイラはパックできたよ。
つかパック出来ないとメモリマップドI/Oとか使えなくね?
367デフォルトの名無しさん:2012/09/21(金) 12:23:23.82
368デフォルトの名無しさん:2012/09/21(金) 12:25:58.66
ターゲットのCPUを議論しなくていいの?
369デフォルトの名無しさん:2012/09/21(金) 12:30:34.20
うん、しなくて良い。バスエラーを回避するのは別の問題だから。
370デフォルトの名無しさん:2012/09/21(金) 12:31:06.46
バイト単位にアクセスできるかってのと
longとかの値を奇数アドレスに置けるかっていうのと混ざってる気がする。
371デフォルトの名無しさん:2012/09/21(金) 12:33:25.24
>>369
アクセスするだけでアドレスエラーを出すようなコードを吐けって?
372デフォルトの名無しさん:2012/09/21(金) 12:51:40.37
>>371
ワードサイズ以下のデータをパックする事と、ワードデータをワード
境界に置く事は別の話。
373デフォルトの名無しさん:2012/09/21(金) 13:34:09.96
>>372
混同してると思ってるのはお前だけだと思うが。
374デフォルトの名無しさん:2012/09/21(金) 14:26:00.69
混同してないなら>>371が致命的に間違っているという事。
struct {
char a, b, c, d;
};
これをパックした構造体にアクセスしてバスエラー起こすCPUが存在するのか?
375デフォルトの名無しさん:2012/09/21(金) 14:30:46.85
やっぱり混同してるじゃんか。
>>364 は、
struct {
char a;
long b;
};
を隙間なくパックしろという話だろ。
376デフォルトの名無しさん:2012/09/21(金) 14:39:46.36
そう思って踊っているのはお前だけ。>>364はオレだがそんな話はしていない。
377デフォルトの名無しさん:2012/09/21(金) 14:45:17.78
>>375
http://docs.oracle.com/cd/E19205-01/819-5265/bjacr/index.html
に、SPARCだったらバスエラー起こすいう記述もある。コンパイラはそのようにパックできる。

という事で、>>364に戻ると、パックできないクズコンパイラは実在するのか?
378デフォルトの名無しさん:2012/09/21(金) 15:02:21.81
>>376
> 空きなく詰め込む指定ができないならば、役に立たないクズコンパイラ。

いったいどんな話がしたかったんだよ。

>>377
なるほど、さすがC言語コンパイラだな。(w
379デフォルトの名無しさん:2012/09/21(金) 15:17:00.73
>>378
>>364に書いた通りだが、メクラか?
>>363が詰め込み方は処理系依存と言い出したから、詰め込み方は指定できる、指定できないのはカスといった。
パックとアライメントを区別出来なくて、踊ったのがお前。
380デフォルトの名無しさん:2012/09/21(金) 15:23:56.84
>>379
>>>363が詰め込み方は処理系依存と言い出したから、詰め込み方は指定できる、指定できないのはカスといった。
>パックとアライメントを区別出来なくて、踊ったのがお前。

char と long をパックしたら、(8bit マシンじゃなきゃ) アライメンとがそろわなくなるって話だろ。
混同してるのは、お前の方だ。

あと、#pragma の指定は処理系依存だぞ。
381デフォルトの名無しさん:2012/09/21(金) 15:34:01.72
詰め込み方を指定できるかどうかは規格上で処理系依存
しかし、実質的には指定できてあたりまえで、詰め込み方を指定できない処理系はカス

パディング無しの詰め込みで 要素内アライメントが狂うことはありえる
先頭要素がアライメント外になるかどうかは別の話

構造体サイズが必ずアライメント内になるかどうかは別の話? (最後尾要素に対する詰め物の有無)
382デフォルトの名無しさん:2012/09/21(金) 15:37:32.04
charとlongをパックすると言い出したのはお前だけ。元のお題は>>349

#pragmaはお前がSPARCや68000のコンパイラはパックできないとか言い出し
たからSUN Studioを反例として出しただけだ。
>>364では「詰め方は処理系毎に指定する方法がある。」と言っている。

で、おまえが>>365で言い出した、パックできない屑コンパイラは実在するのか?
383デフォルトの名無しさん:2012/09/21(金) 16:21:29.72
>>382
>>365 は、俺じゃねーよ。
自分以外は皆敵に見えるバカかよ。

> で、おまえが>>365で言い出した、パックできない屑コンパイラは実在するのか?

実在するかどうかは知らん、ただ規格で決まってないから、

> 詰め方は処理系毎に指定する方法がある。

とか言う奴はバカと言うだけのこと。

反論するなら、実在しないということを証明してからにしてくれ。
384デフォルトの名無しさん:2012/09/21(金) 16:29:56.50
以下悪魔の証明
385デフォルトの名無しさん:2012/09/21(金) 16:40:09.76
>>383
お前のようなマヌケが複数いるはずないが、ID出ない事を良い事に逃げるつもりなのだろう。
でも、ID出なくてもお前が>>365であることはそのマヌケっぷりが証明している。
以下、お前が>>365と同程度のマヌケであることの証明

パックできないコンパイラが仮に実在するならそいつは屑コンパイラというのが、
オレの主張なので不存在を証明する必要はない。
386デフォルトの名無しさん:2012/09/21(金) 16:41:53.95
>>385
失せろゴミ
387デフォルトの名無しさん:2012/09/21(金) 16:43:27.63
ンゴナロ「バロスwwwww」
388デフォルトの名無しさん:2012/09/21(金) 16:44:48.44
コナコナンwww「バロスwwwwww」
389デフォルトの名無しさん:2012/09/21(金) 16:47:33.50
バロウバロン「ンンンンコナwwwww」
390デフォルトの名無しさん:2012/09/21(金) 17:08:00.97
>>386
完膚なきまでに叩きのめされる前に引き下がっとけばよかったのに…
それにしても68000やSPARC知ってるならかなりのオッサンだろうに、この無能さは憐れ。
391デフォルトの名無しさん:2012/09/21(金) 17:15:06.11
>>385
> ID出ない事を良い事に逃げるつもりなのだろう。

もうここまでくると、ちょっと哀れだな。

>パックできないコンパイラが仮に実在するならそいつは屑コンパイラというのが、
>オレの主張なので不存在を証明する必要はない。

自分の発言には責任持とうよ。

> 詰め方は処理系毎に指定する方法がある。

とか自信満々に語ったのは誰かなぁ。(w

まあ、#pragma が処理系依存であることも知らなかったんだろうな。
392デフォルトの名無しさん:2012/09/21(金) 17:17:21.72
ンバロ「ナコバロウwwww」
393デフォルトの名無しさん:2012/09/21(金) 17:37:41.24
バコナロ「ンーwwwwwww」
394デフォルトの名無しさん:2012/09/21(金) 17:51:06.66
>>390
失せろゴミ
395デフォルトの名無しさん:2012/09/21(金) 17:59:29.13
>>391
日本語不自由ですかあ?
つーか、引っ込みつか無いんだろうけど頭悪くて支離滅裂すぎる。
こんなにわかりやすく書いているのに理解できないのはマヌケなお前だけ。

>>364
> 詰め方は処理系毎に指定する方法がある。
> 空きなく詰め込む指定ができないならば、役に立たないクズコンパイラ。
> 使う価値は無い。
396デフォルトの名無しさん:2012/09/21(金) 18:29:10.86
> 空きなく詰め込む指定ができないならば、役に立たないクズコンパイラ。
> 使う価値は無い。

お前の下らん価値観なんて相手にしてない、自意識過剰すぎ。

指摘してるのは、ここだけ。

> 詰め方は処理系毎に指定する方法がある。

---

> つーか、引っ込みつか無いんだろうけど頭悪くて支離滅裂すぎる。

そのまま返すよ。(w
397デフォルトの名無しさん:2012/09/21(金) 18:40:50.15
トリップ付きでやれよ
398デフォルトの名無しさん:2012/09/21(金) 19:12:56.14
おーいバカ、つまらんぞ
喧嘩は結構だが、ちゃんと C の話をしやがれ
399デフォルトの名無しさん:2012/09/21(金) 19:17:57.94
バロロン「ロバwww」
400デフォルトの名無しさん:2012/09/21(金) 19:25:29.41
もぐもぐ、400番ゲットオォォォォ!! みたいな
 ̄ ̄ ̄ ̄ ̄ ̄ ̄V ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  ___
                        __   (__  ) ≡≡≡
                      /  ヽ  / / ̄
          _ _、, _,, ヽ7    /  ..へ._ V / ≡≡≡
        v/    ヽ( )△ィ△ /   ゙ii | |/
       (( _(( _((ハ ' _ ) `ヘ/___.  || | |
 lWVl____|∩ ∩ Y_)   ヾ |___. .  || | |  __,r‐、 ≡≡≡
. !_て7」VWl .ヾヷ゙゙ノノヾ,    | ̄     || | | ̄__),  \      (´⌒(´
    ヾ (  ̄ ̄ ̄)   ノ__,ノ‐-__  !! ノ_ノ ̄   . ヾ、__ノ ≡≡(´⌒;;;≡
      ̄ ̄ ̄ ̄ ̄ ̄ ̄    .      ̄ ̄ ̄          (´⌒(´⌒;;
          ズチャッターーーーーッ
401デフォルトの名無しさん:2012/09/21(金) 19:39:44.08
>>396
> お前の下らん価値観なんて相手にしてない、自意識過剰すぎ。
>>383のお前の言いがかりに対する反論だが、
> 反論するなら、実在しないということを証明してからにしてくれ。
これは取り下げって事だね。逃げだすなら最初っからつまらん言いがかり付けるなよ。

> 指摘してるのは、ここだけ。
> > 詰め方は処理系毎に指定する方法がある。

日本語不自由ですかあ?「毎」ってわかりますかあ?

| (接尾)
| 〔補説〕 「ごと」の転
| 名詞に付いて、そのそれぞれについて、の意を表す。ごと。
って意味ですよお。処理系のそれぞれに指定する方法があるという意味ですよお。

バカすぎる。
402デフォルトの名無しさん:2012/09/21(金) 19:43:49.17
Cやる人ってクレバーかと思いきや、こんな人もいるのね
403デフォルトの名無しさん:2012/09/21(金) 19:45:01.12
> 処理系のそれぞれに指定する方法があるという意味ですよお。

だから、指定する方法がない処理系が (規格上は) あるって言ってるんですよお。

自爆乙 (w
404デフォルトの名無しさん:2012/09/21(金) 20:24:42.37
>>403
> > 処理系のそれぞれに指定する方法があるという意味ですよお。
> だから、指定する方法がない処理系が (規格上は) あるって言ってるんですよお。
自分の発言には責任もとうぜ。(規格上は)じゃなくて、実在すると言い切ってるんだから。
自爆乙 w

>>365
> >>364
> Sparcや68000用のコンパイラは屑ですか。そうですか。
> 世の中x86のようにワード境界を跨いでワードアクセスできるような変態ばかりじゃないんですよ。
405デフォルトの名無しさん:2012/09/21(金) 20:48:01.31
バイトでプログラマやってたんだけど結局1行も仕様書理解できずに
3行くらいしかコードかけませんでした。

報告書もほとんど書けなくて3日で止めてしまったんですが
向いてないですかね?
406デフォルトの名無しさん:2012/09/21(金) 20:50:23.60
>>405
職場トータルで効率が上がるなら価値がある
つまり穴をうまくつかえばCマスターだ
407デフォルトの名無しさん:2012/09/21(金) 20:51:26.25
ブペノン「バロバロwww」
408デフォルトの名無しさん:2012/09/21(金) 20:53:12.56
ああ、組み込み用の事はすっかり念頭になかったわ。>>364は以下のように訂正。
唯一の突っ込みどころだったんだが残念だったな。

詰め方は処理系毎に指定する方法がある。
空きなく詰め込む指定ができないならば、役に立たないクズコンパイラ。
使う価値は無い。
ただし、組み込み用コンパイラは除外する
409デフォルトの名無しさん:2012/09/21(金) 20:55:49.29
>>406
友達と一緒に募集したバイトです。


会社に損害与えた場合賠償金とか払わないとダメですかね?
3日でやめた[結局何もしてない]んですが連帯で給料1200円貰いました....
410409:2012/09/21(金) 20:56:43.30
損害というのは自分の仕事のミスによって会社に与えた影響です。
411デフォルトの名無しさん:2012/09/21(金) 20:59:48.58
重過失以外では賠償責任が認定されることは無いだろう。
出来ると判断して採用した責任が会社側にあるわけだし。
412デフォルトの名無しさん:2012/09/21(金) 21:01:00.43
たった3日で何もしていないのならほぼ損害なんてない
バイトの人事分くらいなら何とでもなる気にするな
413デフォルトの名無しさん:2012/09/21(金) 21:04:45.25
>>409
故意に損害を与え無い限り賠償責任なんてないよ
でも何もできないってことに気づくまで3日かかるのはやばい
414デフォルトの名無しさん:2012/09/21(金) 21:05:31.56
>>404
>自分の発言には責任もとうぜ。(規格上は)じゃなくて、実在すると言い切ってるんだから。

俺は、>>465 じゃないんだが、指定する方法がない処理系はちゃんとあるんだな。
http://www.cs.bell-labs.com/who/dmr/cman.pdf

まあ、半分ネタだが、一番由緒正しいCコンパイラだしね。(w

>自爆乙 w

おいおい、何回自爆するんだよ。
415デフォルトの名無しさん:2012/09/21(金) 21:07:48.73
>>408
>ただし、組み込み用コンパイラは除外する

意味わからん、組み込み用の方が必要だと思うが…
416409:2012/09/21(金) 21:09:21.37
>>413
そうですよね。
自分以外の友達は職場の人とかなり親密に仕事の事について話したりしてました。
自分だけ何もせずにキョロキョロばかりしてました。
誰も僕の事に気付かなくて怖かったです...

貰った仕様書はオフィスの窓口に渡して
報告書も結局何もしてないので書く事がなくて今も放置したままです。

皆意外とプログラミングできるんですよね。
本当にショックだった。

以上独り言でした。


417デフォルトの名無しさん:2012/09/21(金) 21:13:40.33
>>405
そういう話はマ板でやれ

3行って、これか?
main()
{
}
418デフォルトの名無しさん:2012/09/21(金) 21:18:55.53
>>414
指定する方法が無いのじゃなくて、指定する必要が無いの。意味わかる?
まあ、今となっては使う価値が無い事は変わらないが。
419デフォルトの名無しさん:2012/09/21(金) 21:29:35.74
どうでもいいんだけど
いつまでやってるのこの人たち
420デフォルトの名無しさん:2012/09/21(金) 21:31:21.63
>>418
>指定する方法が無いのじゃなくて、指定する必要が無いの。意味わかる?

君が書いたのは、

> 処理系のそれぞれに指定する方法があるという意味ですよお。

なんだよ。必要の有無なんて誰も言ってないよ。

---

> 完膚なきまでに叩きのめされる前に引き下がっとけばよかったのに… この無能さは憐れ。

とか、言ってる奴もいたから、従った方がいいんじゃね? (w
421デフォルトの名無しさん:2012/09/21(金) 21:32:49.39
>>419
自作自演じゃ無ければバカだから相手しちゃ駄目。
422デフォルトの名無しさん:2012/09/21(金) 22:17:07.57
学生時代数学とかやると先生に手を止めるな、とりあえず動かせって言われたけど
PGもそうなんですか?

打ってはDELETEみたいな感じ?
423デフォルトの名無しさん:2012/09/21(金) 22:28:38.16
>>422
努力は嘘をつかない、という意味ではそう

前肢の物理的な動作とは関係ない
拙速を上回る巧遅こそ大切で、巧遅のふりをした怠慢が最悪

たとえばこんなところでコード貼らずに戯れ言をぬかすようなことだ
424デフォルトの名無しさん:2012/09/21(金) 22:30:38.21
とりあえず動くものを作ってから
後で設計を考えて作り直す
425デフォルトの名無しさん:2012/09/21(金) 22:35:34.78
プログラミングとはキーボード上の作業です
その動きが早くなればなるほど一応は上級者です
ですからKBDをいかに素早く操るか
コードを打つだけではなく付随する全ての作業を
KBDからの操作・作業でいかに素早く仕上げられるか
その動きを追求しましょう
426デフォルトの名無しさん:2012/09/21(金) 22:39:48.34
つまりvi最強ってことですね
427デフォルトの名無しさん:2012/09/21(金) 22:45:23.11
ド素人でもPGのバイト出来んだな
ああいうのは即戦力だけだと思ってた
邪魔かと思って応募してなかったんだがやってみようかな
428デフォルトの名無しさん:2012/09/21(金) 22:55:47.29
うん、まず現実を知れ
企業にも迷惑をかけるが大人税って痛みを伴う世直しだ

それで勝機が見えればしめたもの
「当たり」は「外れ」を賭して張らなきゃ来るわけがない

バイトであろうが正社員であろうが
もらう金に値する仕事をするのが信義だ
ここが壊れているやつは死んでいい
429デフォルトの名無しさん:2012/09/21(金) 23:03:32.91
やるだけやったら
自分にできるのかできないかくらいは判るだろう
そして、できますと言えたなら、あとは他人の評価する事だ

本当にできる奴は、風船ガムのアタリよりは多いかなって程度だが
430デフォルトの名無しさん:2012/09/22(土) 10:41:38.16
>>422
手は止まってるのに
jjjjj
とか画面に連打状態なヤツいたなぁ
431デフォルトの名無しさん:2012/09/22(土) 19:47:15.28
C言語の初歩から応用まで詳しく学べるサイトってありますか?
それと、ちゃんとした形のプログラムを組むまではどの程度まで知っておいたほうがいいですか?
432デフォルトの名無しさん:2012/09/22(土) 19:50:04.38
書き方真似したら、出来ると思ってるようなら、別のことやったほうがいいよ
433デフォルトの名無しさん:2012/09/22(土) 19:56:45.63
>>432
じゃあC言語はどこで学べばいいのですか?
434デフォルトの名無しさん:2012/09/22(土) 20:03:41.17
C言語って何に特化した言語なの?
435デフォルトの名無しさん:2012/09/22(土) 20:05:28.27
すべてに
436デフォルトの名無しさん:2012/09/22(土) 20:07:48.12
何にでも使えるけどしいてひとつ挙げるなら悪魔召喚プログラムの作成に特化してると言えるかな
437デフォルトの名無しさん:2012/09/22(土) 20:11:44.43
鼻から召喚
438デフォルトの名無しさん:2012/09/22(土) 20:27:58.15
>>434
Cでかくと、小さくて速いプログラムができます
十年以上前からある無料のコンパイラでもコンパイルできます
439デフォルトの名無しさん:2012/09/22(土) 20:28:36.18
>>433
初歩が済んだら後は実際に動いてるコードを読むだけ
FreeBSDが実装した関数やUNIXコマンドとかおすすめって言われてるね
GNUの実装はコーディングスタイルがひどくて精神を病むから読まない方がいい
440デフォルトの名無しさん:2012/09/22(土) 20:30:51.83
φ(.. )メモメモ
441デフォルトの名無しさん:2012/09/22(土) 20:36:19.00
猿真似で終わりたくないなら、何やらないといけないかよく考えてみよう
442デフォルトの名無しさん:2012/09/22(土) 20:41:08.80
参考にしたいプログラムのソース公開されてないから辛い
443デフォルトの名無しさん:2012/09/22(土) 20:41:40.19
>>442
参考じゃなくてコピペじゃね
444デフォルトの名無しさん:2012/09/22(土) 20:42:04.67
>>443
コピペはしないけど
445デフォルトの名無しさん:2012/09/22(土) 20:45:33.34
C言語はオワコン
446デフォルトの名無しさん:2012/09/22(土) 20:49:21.36
だーかーらー、そういう次元のものではない。RubyもCでかかれてるし、OSもCでかかれているから
代替がきかないのだ
447デフォルトの名無しさん:2012/09/22(土) 20:49:54.17
>>439
こういうやついるけど間違いだよ
時代にそぐわない古いやり方のコードとか間違えて覚えたら不利益
448デフォルトの名無しさん:2012/09/22(土) 20:49:54.61
広いようで狭い UNIX の世界

UNIX 流儀の思考パターンに安住したまま
進化をやめてしまっている人がよくいる
449デフォルトの名無しさん:2012/09/22(土) 20:53:19.38
>>434
小さくて速いため、
ソフトウェアはC言語で記述されることが多い

組み込みシステム − Wikipedia
450デフォルトの名無しさん:2012/09/22(土) 21:01:40.67
UNIXの発想が先端過ぎて、当時の人がついていけなかっただけなの
451デフォルトの名無しさん:2012/09/22(土) 21:05:42.38
早いうちからUNIXがあらゆるデバイスの仮想化を目指してるのはすごいと思った
考えついた奴は天才だね
452デフォルトの名無しさん:2012/09/22(土) 21:18:37.29
そのへんは Multics だろ
453216:2012/09/22(土) 22:06:53.79
>>431
私もそうでしたがC言語っていうプログラム言語さえ覚えれば無料のフリーゲームみたいなものが作れるんだ!すげ〜とかそんな感じでした。
本当はC言語ってただのコンピュータとの情報やりとりの為の通訳さん代わりになるだけであってゲームやソフトを作るにはWinAPIやこんそ〜るAPIなどを学ばなければならない、と分かった時随分と自分を恨みましたよ^^;
プログラムってなんですか?って人は最初そんなもんだと思います。
実際は色々考えて自分で解決方法を導きだしたほうが知恵も身につきますし、過去を振り返ると後になって素敵な思い出になるんでしょうね
C言語はプログラム本体ではないのでC言語学習サイトでアプリケーション開発まで取り扱っているサイトは極少数しかないです。
ちゃんとしたプログラムってのがなんの事なのかわかりませんが、初心者が思うちゃんとしたプログラムは私なりの解釈でメモ帳やペイントのような一般的かつ実用的なアプリケーションの事ではないですか?

私もバリバリ初心者なので…(´・ω・`)
454デフォルトの名無しさん:2012/09/22(土) 22:26:24.27
誰か30分で作るテトリスでも張ってやれ。
455デフォルトの名無しさん:2012/09/22(土) 22:31:11.42
初心者ががが思うちゃんとしたプログラム=GUI
だろjk
456デフォルトの名無しさん:2012/09/22(土) 22:32:44.04
>>454
ドシロウト釣りみたいなのは、やめれ
457デフォルトの名無しさん:2012/09/22(土) 22:36:05.91
英語を覚えるだけでオバマ並のスピーチができるわけじゃない。
それだけのことだ。
458デフォルトの名無しさん:2012/09/22(土) 23:24:54.08
>>431
入門レベルであれば、c言語はプログラムの原理をコンソールアプリ作成で学ぶ事を目的とし、
GUIアプリを作りたいならマウス操作で簡単に構築できるような適した言語を別途選択するのが良いと思います。
学ぶ目的が分からないので的外れかもですが、自分がPCで行う作業の自動化や効率化を目的とするなら、
c言語のコンソールアプリでも作成することが出来ます。

c言語は基礎構文(下記サイトの49章くらいまで)さえ覚えてしまえば、出来る事と、(簡単には)出来ない事の区別が出来るようになります。
出来そうならググって必要な標準関数や参考になるソースなどを探して組み合わせていけば、それなりのプログラムは作成できます。
職業PGしていますが、ぶっちゃけプログラミングは基本的な処理と、既存の処理を組み合わせるだけの簡単なお仕事です。
組み合わせの発想や効率や保守性やプロジェクトの糞規約等のしがらみ、品質保証のテストとドキュメント作成などで常に納期に追われるのですけれど…

webも良いですが、書籍の方が一連の学習が出来ますし、メモを書き込みながら進められるのでオススメです。
入門当時は猫でも分かるシリーズにお世話になりました。
web:http://www.kumei.ne.jp/c_lang/index_c.html
本:http://www.amazon.co.jp/猫でもわかるC言語プログラミング-第2版-猫でもわかるプログラミングシリーズ-NEKO-Series/dp/4797345659/ref=pd_cp_b_0
amazonのレビューだと低評価が多いみたいですが、良書だと思います。
きちんとした説明と、記述の結果がなぜそうなるのかといった根本的な動作についても触れているのが良かったと記憶しています。

要するにc言語は基礎構文を覚えればなんとかなるということです。
459デフォルトの名無しさん:2012/09/22(土) 23:28:46.96
Cはポインタがあるから構文だけじゃ何ともならん。
ポインタを使わないなら他の言語で良い。
このジレンマ。
460デフォルトの名無しさん:2012/09/22(土) 23:31:04.12
九九みたいに覚えれば、何とかなるもんでもないよ、分野によっては
461458:2012/09/22(土) 23:52:09.85
>>459
簡単に基礎の49章までと書きましたが、提示したサイトは意外と時間のかかる49章立てなのですw
以下、基礎だけど面倒そうなのを抜粋。
第15章 構造体
第23章 配列とポインタの関係
第25章 文字列とポインタの関係
第28章 構造体とポインタ
第29章 変数のスコープおよびクラス
第32章 共用体
第33章 メモリの動的確保
第35章 関数へのポインタ
第39章 分割コンパイル
第43章 可変個の引数を取る関数
第49章 ビット単位の演算

>>460
アルゴリズムさえ見つけてしまえば、コードに落とすのは基礎構文の塊かと。
あと、覚える=仕組みを理解する、という事ですね。
簡単に出来そうになければ、c言語の既製ライブラリを見つけるか、あるいは別の言語をということで^^;

長文ばかりで失礼しました。
462デフォルトの名無しさん:2012/09/23(日) 00:11:11.76
数学の証明問題を思い出しましょう
入力ー>?ー>出力
?が出来ないことにはどうにもならない

もう、小学生レベルじゃ、通用しない分野も出てきてるからね
463デフォルトの名無しさん:2012/09/23(日) 00:14:42.91
既存のパーツだけでそれが証明できるなら
パーツの組み合わせ肩が悪いだけで
それならそれを全自動化すればいい
464デフォルトの名無しさん:2012/09/23(日) 00:18:10.48
> 全自動化
そんな妄想が通用すると思ってるところが...
465デフォルトの名無しさん:2012/09/23(日) 00:21:39.53
C言語って具体的にはどのような形でゲーミングアプリケーションを開発するのですか?
466デフォルトの名無しさん:2012/09/23(日) 00:27:15.43
表面には出ないような
四元数の計算とか
クソのような座表計算とか
唸るような物理演算とか
天体のしみゅれーしょんとか
467デフォルトの名無しさん:2012/09/23(日) 00:27:24.02
イミフ
468デフォルトの名無しさん:2012/09/23(日) 01:33:06.05
甘ちゃんはゲーム系が潜り込みやすいとか思うんだ
469デフォルトの名無しさん:2012/09/23(日) 03:23:52.08
ゲームをわざわざ C でつくるの?
せいぜい人工無能程度じゃね?
470デフォルトの名無しさん:2012/09/23(日) 09:14:28.98
C++はあっても今時Cでゲームはないわな。
471デフォルトの名無しさん:2012/09/23(日) 09:44:27.43
>>465
クロスコンパイラってのがあってだな
472デフォルトの名無しさん:2012/09/23(日) 09:58:21.86
ゲームは難しいよ初心者に勧めるとかありえない
業務用アプリとか簡単なもので勉強してからゲームに取り組んだほうがいい
473469:2012/09/23(日) 10:16:37.81
>>472
禿同

プロのゲームプログラマではないんなら、学習目的なのに C/C++ で、ゲームとかあり得ないでしょ
474デフォルトの名無しさん:2012/09/23(日) 10:24:18.82
以前とくらべて
業務用に劣るレベルのゲームプログラムであればさほど難しい環境ではないよ。

また、古参のプログラマーはゲーマガのような雑誌を糧に実地を習得していた事例もあるので
Cだからありえないって結論にはならない。

東方程度のシューティングやツクール程度のRPGならそれなり学習程度で習得可能。
475デフォルトの名無しさん:2012/09/23(日) 10:35:55.48
そう、DXライブラリならね
476デフォルトの名無しさん:2012/09/23(日) 10:35:57.43
3D の見た目とか BGM の迫力みたいのはゲームの飾りであって本質じゃない
やってて面白いかどうかが肝心なのであって、そういうのはプアな 2D でも充分できる
477デフォルトの名無しさん:2012/09/23(日) 11:22:42.20
http://www.sbcr.jp/books/img/ha_0652.lzh
この中のCC_262.cの17行目の" ",buf[10]の意味を教えてください。
何のためにいれてるかよくわかりません。
478デフォルトの名無しさん:2012/09/23(日) 11:32:20.80
年齢の入力に使う
479デフォルトの名無しさん:2012/09/23(日) 11:35:22.15
バッファオーバーフローさせるため
480デフォルトの名無しさん:2012/09/23(日) 11:37:04.61
ありがとうございます。char name[30];じゃなくてchar name[30] = " ";にしているのは初期化ですか?
481デフォルトの名無しさん:2012/09/23(日) 11:44:14.30
ふう
482デフォルトの名無しさん:2012/09/23(日) 11:50:20.89
どうでもいい。
#include <stdio.h>
int main(){
  char name[30]=" ";
  char nami[30]="";
  char nama[30];
  int i;
  for(i=0; i<8; i++)
    printf("%02X %02X %02X\n", name[i], nami[i], nama[i]);
}
483デフォルトの名無しさん:2012/09/23(日) 11:52:24.79
>>480
何て本だか知らないけどさ、
ローカル配列の初期化をしている点から、ANSI規格制定以降なのは明白なのに
返り値の型すら省略してmain()だけにするような糞コード書いてるような本、
(仮にgets使用は初心者向けとして眼を瞑っても)かなり怪しい気がするよ。
484デフォルトの名無しさん:2012/09/23(日) 12:04:03.13
ロックマンみたいな老舗2Dスクロールゲーム作りたい場合は言語は
何が一番作りやすいの?

一応Cに対応しているライブラリとしてDirectXとかあるんですが。

何がポピュラーなのか知りたくて
大体ポピュラーなのは使いやすさも良いと思うし。
485デフォルトの名無しさん:2012/09/23(日) 12:06:30.91
VBNET か Csharp じゃない!
486デフォルトの名無しさん:2012/09/23(日) 12:08:24.09
C#って名前よく聞くけど何が優れてるの?
文法的にもCとそんな変わらないんでしょ?
487デフォルトの名無しさん:2012/09/23(日) 12:08:50.75
素人ならJavaかC#が楽だよ
どうせマシンパワー限られた環境は考えないし、低レベル操作とかが必要なものは作らないんだろ?
488デフォルトの名無しさん:2012/09/23(日) 12:12:11.73
>>486
ライブラリが充実してる
LINQなどの言語機能もクール
Cなどで書いた過去の資産も簡単に使える
開発環境が至れり尽くせり
489デフォルトの名無しさん:2012/09/23(日) 12:12:38.42
>>477
struct person *start=&dmy; の6行後に
start=&dmy; って、なにやりたいのかさっぱりわからんなぁ

とりあえず林晴比古はやめとけ
490デフォルトの名無しさん:2012/09/23(日) 12:14:20.03
>>486
開発者のセンスが輝いている。delphi 16bit版が出たときの熱狂は忘れられませんね。
491デフォルトの名無しさん:2012/09/23(日) 12:14:53.10
>>488
キャラクターの動きってどうやってプログラミングすればいいんですか?
492デフォルトの名無しさん:2012/09/23(日) 12:15:00.21
改訂新C入門(シニア編)
林晴比古・ソフトバンク

シニア編 w 普通は著者名だけで手に取る事すら避ける有害図書。
493デフォルトの名無しさん:2012/09/23(日) 12:30:08.79
コンソールならハングマンとか
494デフォルトの名無しさん:2012/09/23(日) 12:38:35.10
初歩全部暗記したったwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww


で何すりゃいいのよ…
495デフォルトの名無しさん:2012/09/23(日) 12:39:50.10
なんか便利なコマンドつくれ
496デフォルトの名無しさん:2012/09/23(日) 12:39:55.02
創作意欲が泉のようにわき出してこないようなら終了
497デフォルトの名無しさん:2012/09/23(日) 12:46:25.53
ビット演算を端折ってもなにか困りますか?
498デフォルトの名無しさん:2012/09/23(日) 12:47:55.51
じゃあnumeronでも作ってみれ。
表示とか凝らなくて済むから初心者でもとっかかれるぞ。たぶん。
499デフォルトの名無しさん:2012/09/23(日) 12:48:34.66
知識の引き出しが減って良いならいらない。
速度やマシン負荷を気にしない人なら。
500デフォルトの名無しさん:2012/09/23(日) 13:14:56.97
格闘ゲームとかでキャラがパンチを繰り出すでしょ?
あれってどうやってプログラミングしてるの?
凄い知りたい
501デフォルトの名無しさん:2012/09/23(日) 13:16:16.92
苦しんで覚えるC言語と猫でも分かるプログラミングのC言語編とだったらどっちがわかりやすいの?
502デフォルトの名無しさん:2012/09/23(日) 13:18:05.18
訂正、どっちが優良ですか?
503デフォルトの名無しさん:2012/09/23(日) 13:28:37.29
読解力はIQに依存するので優劣は・・・。

柴田茫洋、ハーバートシルト辺りが内容を伴っていて優れているが
要点だけを理解したいのであれば上記の書籍。
さらに要点だけならCの絵本。
504デフォルトの名無しさん:2012/09/23(日) 13:31:23.30
どっちもいまいち

K&Rでいいよ。入門書というよりは読み物的だけど


505デフォルトの名無しさん:2012/09/23(日) 14:04:09.10
>>495
作れっていうより俺の場合必要に迫られて作ってるな
画像を落とすとフォルダごとに1枚ずつ入っててしかも拡張子が取ってあるような
意地悪してるサイトがあるけどそれに例えば".jpg"を付けて他のフォルダにコピーするとか

連番を付けて定義ファイルを作らないと動かないソフトに自分で手で連番を振るのが
面倒なのでstrtok()とか使って自動で連番を振るとか
506デフォルトの名無しさん:2012/09/23(日) 14:27:52.95
>>505
そういうのはshellなりPythonなりPerlなり使ったほうが…
507デフォルトの名無しさん:2012/09/23(日) 14:36:27.14
本人好きなんだから、やらせといてやれよ。
508デフォルトの名無しさん:2012/09/23(日) 14:51:43.42
>>500
表示は人体トレースやデザインドールをもとに起こす
入力はコントローラを読み取った値と経過時間の表を作るなどしてパターン判定(モールス符号のように)
判定はじゃんけんの手が3通りよりもずっと沢山あるイメージ
509デフォルトの名無しさん:2012/09/23(日) 14:59:40.13
ターミネーターがC言語で組まれているって本当ですか?
シープラ使えばいいのになんでCなんでしょうか
510デフォルトの名無しさん:2012/09/23(日) 15:12:56.56
さあ
511デフォルトの名無しさん:2012/09/23(日) 15:39:10.71
perlで
while (<STDIN>) {
print $_;
}
って書くものをCで書きたいのですが、どうするのでしょうか?
環境はgcc on FreeBSDです。
512デフォルトの名無しさん:2012/09/23(日) 15:42:03.31
知りません
513デフォルトの名無しさん:2012/09/23(日) 15:48:44.51
getchar()してputchar()すれば良いのでは
514デフォルトの名無しさん:2012/09/23(日) 16:25:49.86
/* >>511 gepu.c */
#define BUFFER_SIZE 4992 /* 不足しているかもしれない */
#include <stdio.h>

int main(void) {
  char *p;
  char c[BUFFER_SIZE];

  for(;;) {
    p = fgets(c, sizeof(c), stdin);
    if(p == NULL) {
      break;
    }

    fputs(c, stdout);
  }

  return 0;
}
515デフォルトの名無しさん:2012/09/23(日) 16:32:00.88
/* >>511 gp.c */
#define BUFFER_SIZE 4992 /* 不足しているかもしれない */
#include <stdio.h>

int main(void)
{
  char c[BUFFER_SIZE];

  while( fgets(c, sizeof(c), stdin) ) { /* NULLを偽として利用 */
    fputs(c, stdout);
  }

  return 0;
}
516デフォルトの名無しさん:2012/09/23(日) 16:34:04.98
4992ってなに
517デフォルトの名無しさん:2012/09/23(日) 16:35:30.84
>>516
BUFFER_SIZEです
518デフォルトの名無しさん:2012/09/23(日) 16:35:44.28
四千九百九十二じゃね?
519デフォルトの名無しさん:2012/09/23(日) 16:39:56.00
なんで4992なの?
520デフォルトの名無しさん:2012/09/23(日) 16:41:19.84
gepu < file_name
gp < file1 > file2
521デフォルトの名無しさん:2012/09/23(日) 16:42:33.13
4992 北興化学工業 ≪ 化学 / 東証1部 ≫
522デフォルトの名無しさん:2012/09/23(日) 16:43:28.60
ああ、それでか。納得。
523デフォルトの名無しさん:2012/09/23(日) 16:48:08.94
>>511
Perlは、サイズがすくなすぎるかもしれないとか心配しなくていいですね
524デフォルトの名無しさん:2012/09/23(日) 16:49:49.20
バッファのサイズ少なくても動くし、ぶっちゃけこれで十分だと思うけど。

int c;
while ((c = getchar()) != EOF) {
 putchar(c);
}
525デフォルトの名無しさん:2012/09/23(日) 16:50:04.48
 128 × 39 = 4992
526デフォルトの名無しさん:2012/09/23(日) 16:58:29.72
int var_delcvars(void)
{
struct bwb_variable *p = &CURTASK var_start;

struct bwb_variable *v;
for (v = CURTASK var_start.next; v != &CURTASK var_end; v = v->next) {
if (v->common != TRUE) {
if (v->dimensions > 0) {
free(v->array_sizes);
free(v->array_pos);

if (v->type == NUMBER)
free(v->memnum);
else
free(v->memstr);
}
p->next = v->next;
free(v);
} else {
p = v;
}
}

return TRUE;
}

bwbasic2.10の変数削除ルーチンで、奇妙なソースがあったので気になった。
上記のfree(v)では実際にはメモリーがクリア等はされず、mallocでの確保候補に設定されるだけなので
実際のデータ自体は残ってるので v->next が有効なので動く。というコードなのだろうけど、
これは非常にトリッキーなコードに思える。
すくなくともスレッドセーフの保証は無いのではないか?と思う。そこでこれをもっと単純なコードに書き換えたい。例をあげよ。
527デフォルトの名無しさん:2012/09/23(日) 17:01:09.98
あげよってなんだよ
回線切ってマスでも掻いてろよ
528デフォルトの名無しさん:2012/09/23(日) 17:03:19.25
>>526
だからさ、アホ自慢はいいから。
529デフォルトの名無しさん:2012/09/23(日) 17:06:30.51
>>526
>上記のfree(v)では実際にはメモリーがクリア等はされず、mallocでの確保候補に設定されるだけなので
実装としてはそんなのもあるかもしれないが保証されないはず。

>実際のデータ自体は残ってるので v->next が有効なので動く。
free(v) したあとで v->next してはいけない。
530デフォルトの名無しさん:2012/09/23(日) 17:08:56.30
freeがらみを許すとしても、全体を排他制御しないとスレッドセーフにならないんじゃないの?
CURTASKがなんなのか知らないけど。
531デフォルトの名無しさん:2012/09/23(日) 17:15:49.13
>>527, 528
ゴールデンアホコンビ乙www
532デフォルトの名無しさん:2012/09/23(日) 17:17:44.30
>>530
許すのですか?うーん‥‥
533デフォルトの名無しさん:2012/09/23(日) 17:20:20.29
>>532
許さないけど、それを解決したとしてもっていう意味
534デフォルトの名無しさん:2012/09/23(日) 17:27:51.11
int var_delcvars(void)
{
struct bwb_variable* p = &CURTASK var_start;
struct bwb_variable* v = p->next;

while (v != &CURTASK var_end) {
struct bwb_variable* vn = v->next;

if (v->common != TRUE) {
if (v->dimensions > 0) {
free(v->array_sizes);
free(v->array_pos);

if (v->type == NUMBER)
free(v->memnum);
else
free(v->memstr);
}
p->next = v->next;
free(v);
} else {
p = v;
}
v = vn;
}
return TRUE;
}
535デフォルトの名無しさん:2012/09/23(日) 17:37:01.24
変数名ってint appleとか float orangeとかは良いと思うけど

int fork とか int socketとかはダメなの?
536デフォルトの名無しさん:2012/09/23(日) 17:39:30.05
>>535
いいんじゃね?

#include <stdio.h>

int main(void)
{
char *printf="putchar";

puts(printf);
return 0;
}
537デフォルトの名無しさん:2012/09/23(日) 17:41:09.78
>>535
変数には、付帯情報の一部としてアドレスとサイズを持ちます。
関数にも、付帯情報のひとつとしてアドレスを持ちます。
アドレスは実行空間で唯一無二のもの、とすれば変数と関数で同じ名前にすることはできません。

fork() や soecket() はよく知られた関数名のひとつです。
538デフォルトの名無しさん:2012/09/23(日) 17:42:58.94
文脈的に紛らわしくなければ問題ないだろ
539デフォルトの名無しさん:2012/09/23(日) 17:44:03.56
>>536
へええ、と思ったら記憶クラスが違うのね
540デフォルトの名無しさん:2012/09/23(日) 17:44:18.06
>>537
普通に同じ名前使うだろ
ループ変数で i とかよくある
541デフォルトの名無しさん:2012/09/23(日) 17:44:35.48
>>526
スレッドセーフとfreeした後の領域の参照は全然関係ない。
単にfreeした後に領域を参照していいのか? と聞けばいいだけ。
回答: 参照してはいけない。

修正方法は人に聞くまでもない単純な質問。
回答: 自分で考えろ。
542デフォルトの名無しさん:2012/09/23(日) 17:49:56.88
>>539
お前が「記憶クラス」を理解していないことが判明した。

> へええ、と思ったら記憶クラスが違うのね
全然違う。
543デフォルトの名無しさん:2012/09/23(日) 18:05:42.31
このへん微妙だろ

#include <stdio.h>
#include <ctype.h>

main()
{
int (*putchar)(int) = isalpha;
putchar('a');
}
544デフォルトの名無しさん:2012/09/23(日) 18:06:55.75
質問ですがHDDはメモリの役割を果たしてないわけ?
C言語でメモリを考える時です。
545デフォルトの名無しさん:2012/09/23(日) 18:09:09.27
>>544
スワップとか
メモリマップドファイルとか
546デフォルトの名無しさん:2012/09/23(日) 18:09:38.82
果たしていません。はい次の質問どーぞ。
547デフォルトの名無しさん:2012/09/23(日) 18:09:52.98
>>543
リンク時にぶつからないし…。それだけでいいんじゃない。>>537
548デフォルトの名無しさん:2012/09/23(日) 18:14:44.41
>>541
まぁほかの部分を見ないとわからんが、そもそもfreeしたところを触ってるコードじゃないんだってば。
549デフォルトの名無しさん:2012/09/23(日) 18:21:24.48
>>548
free(v); した後 for () の中の v->next に突っ込んでいるように見えるが……
550デフォルトの名無しさん:2012/09/23(日) 18:23:16.98
>>545
スワップとは具体的にどういうことでしょうか?
この機能がないと困る事は多いですか?
551デフォルトの名無しさん:2012/09/23(日) 18:31:56.08
それは他所のご夫婦とだな…
552デフォルトの名無しさん:2012/09/23(日) 18:32:27.96
スワップってのは入れ替える事
ソートアルゴリズムなんかで多用される
553デフォルトの名無しさん:2012/09/23(日) 18:33:22.85
そのスワップじゃなかった
554デフォルトの名無しさん:2012/09/23(日) 18:33:43.10
HDDのスワップくらい自分で調べろよアホ
そんなんだからそんなアホな質問がだらだらと垂れ流しなんだ
ついでに脳みそも鼻から垂れ流しなんじゃないのかコイツ
555デフォルトの名無しさん:2012/09/23(日) 18:34:12.44
556デフォルトの名無しさん:2012/09/23(日) 18:36:26.33
>>548
他のところ見ないでも
free(v);
の後で
for (... ; v = v->next) {
している。
他人のレスに言いがかり付けるときは1000回見直してからにしろ。
557デフォルトの名無しさん:2012/09/23(日) 18:37:12.33
>>554
c言語のswap()じゃなくて
HDDのほうです。
この機能無いと困るかどうかは書いてなったんで^^
ちなみにレポートです^^
558デフォルトの名無しさん:2012/09/23(日) 18:40:10.22
スレ違い
失せろゴミ
559デフォルトの名無しさん:2012/09/23(日) 18:48:59.72
まだアホな質問垂れ流してんのか!
出てけよアホ!!
テメーで調べろks!!!!
560デフォルトの名無しさん:2012/09/23(日) 21:34:35.06
俺に聞けって言ってるじゃないですかああああああああああ!!!!!1111
561デフォルトの名無しさん:2012/09/23(日) 21:53:55.65
C言語ならって言ってるじゃないですかあああああああああ
562デフォルトの名無しさん:2012/09/23(日) 22:18:56.81
>>557
レポートを秒速速攻でしあげなければならないのなら、そんな魔術はおもいつかないのですが、
すこし余裕があるのなら、
http://www.amazon.co.jp/dp/4756102131
をぱらぱらみて、おいしそうなところをつまんでみるのはどうでしょうか?
563デフォルトの名無しさん:2012/09/23(日) 22:44:09.34
>>562
ありがとー
OSを基礎から教えてくれる本凄い探してるんですよ
564デフォルトの名無しさん:2012/09/24(月) 00:24:22.06
インサイド
565デフォルトの名無しさん:2012/09/24(月) 00:51:09.47
566デフォルトの名無しさん:2012/09/24(月) 07:26:39.63
なげーの貼るな。カス。
567デフォルトの名無しさん:2012/09/24(月) 11:05:31.05

4 6 5
1 2 9
8 3 7

みたいな3×3+1マスあるパズルがあって
動かせるのは1〜9までのピース、□は動かすための余白一つ分
で最短で


1 2 3
4 5 6
7 8 9

に並び替えるためのプログラムが作りたいのですが完成プログラムお願いします。

568デフォルトの名無しさん:2012/09/24(月) 11:25:39.84
いくら出す?
569デフォルトの名無しさん:2012/09/24(月) 11:26:07.67
ふう
570デフォルトの名無しさん:2012/09/24(月) 11:32:08.39
群論プログラムGAPを使えば
驚くほど簡単に出る

一般的に、
その手の15パズル亜種は
群論を使えば簡単に解ける

そのためのツール一式がGAP
571デフォルトの名無しさん:2012/09/24(月) 11:36:23.57
というか>>567のパズルはどうやっても4が動かなくて解けないでしょ
572デフォルトの名無しさん:2012/09/24(月) 19:21:24.68
9要素のソートで、ワークが1つだろ
なぜ4が動かせないんだ?
573デフォルトの名無しさん:2012/09/24(月) 19:31:52.38
>>572
よく考えるんだ
574デフォルトの名無しさん:2012/09/24(月) 19:38:13.02
>>572
ケーニヒスベルクの橋
575デフォルトの名無しさん:2012/09/24(月) 19:57:26.28
鈍いな、567 の定義では 4 を動かせるつってんだよ
576デフォルトの名無しさん:2012/09/24(月) 20:04:55.84
「動かせるのは1〜9までのピース」って言ってるんだから、15パズル亜種じゃなくて
空きマスに任意のピース1つを移動させるパズルなんだろうな
577デフォルトの名無しさん:2012/09/24(月) 20:08:25.56
もしもそうなら10次の対称群そのもの
最早Cでやる意味すらない
578 ◆QZaw55cn4c :2012/09/24(月) 20:16:36.13
>>567
5000モリタポでどうですかね?http://toro.2ch.net/test/read.cgi/tech/1313183984/
579 ◆QZaw55cn4c :2012/09/24(月) 20:20:28.64
>>567
問題を精密に記述ください。
1)初期状態から 5 を □に動かせますか?
2) 1)が是として、もと5があった位置に次の動かせる数字は何ですか、またその数字はどこに動かせますか?
580デフォルトの名無しさん:2012/09/24(月) 20:59:43.42
是 不是
да нет
oui non
? ??
ja nein
??? ??-????
581デフォルトの名無しさん:2012/09/24(月) 23:07:58.54
上に動かした初期状態で4の位置のやつを初期状態で8の位置が
空白になった時に持って来られるようにすればゲームは成り立つ?
582デフォルトの名無しさん:2012/09/25(火) 00:41:16.39
じゃんけんゲーム作ってみました
アドバイスお願いします
conio.h使ってるのでwinのみしか動かない(?)
http://codepad.org/83NiZzA7
583デフォルトの名無しさん:2012/09/25(火) 00:41:42.55
1-4 の入れ替えに3手
2-6-9-7-8-3 の入れ替えに7手
合計10手ってこと?
584デフォルトの名無しさん:2012/09/25(火) 00:48:43.37
そんくらい削れよ
585デフォルトの名無しさん:2012/09/25(火) 00:56:12.66
2 3 6
1 3 5
□ 4 □

みたいな3×3マスあるパズルがあって 3と3は2マスで接着され、同時にしか動かせない
動かせるのは1〜6までのピース、□は動かすための余白一つ分 で最短で

1 3 5
2 3 6
□ 4 □

に並び替えたいのですが棋譜お願いします。
586デフォルトの名無しさん:2012/09/25(火) 01:08:04.52
スレ違い
失せろ
587デフォルトの名無しさん:2012/09/25(火) 01:18:00.01
箱入り娘のソースでも有難く拝見させてもらえよ
588デフォルトの名無しさん:2012/09/25(火) 01:25:14.96
>>585
422113556532211556632212366554
589デフォルトの名無しさん:2012/09/25(火) 01:35:59.17
41122355653221144665532212355664
590デフォルトの名無しさん:2012/09/25(火) 06:35:17.19
3x3パズルで

2 1 3
4 5 6
7 8 ■

から

1 2 3
4 5 6
7 8 ■

への並べ替えが不可能であることに気付くかが、群論センスを問われるポイントだろうな。
591デフォルトの名無しさん:2012/09/25(火) 06:58:10.05

       ____
     /⌒  ⌒\ ホジホジ
   /( ●)  (●)\
  /::::::⌒(__人__)⌒::::: \  はいはい
  |    mj |ー'´      |
  \  〈__ノ       /
    ノ  ノ
592デフォルトの名無しさん:2012/09/25(火) 07:24:38.65
学生が増えたんだろ
学校でCを教えるようになってから荒らしがひどくなった
いや学生がおかしいのではなく、頭のおかしい奴が増えだした
593デフォルトの名無しさん:2012/09/25(火) 08:20:20.11
群論とかC言語と関係無いだろ!!数学板でやれクズごみばか!!!
あたまのおかしいクソ学生が増えたのでろう
キチガイは帰れ!
594デフォルトの名無しさん:2012/09/25(火) 08:46:29.64
おまえもPerlスレにカエレ!
595デフォルトの名無しさん:2012/09/25(火) 10:29:55.65
頭がおかしいのが増えたのは核実験のせいなんだよね
ほら、放射線量高い韓国もキチガイばかりだろ?
放射能は脳もダメにするのは過去のデータから明らかだしな
596デフォルトの名無しさん:2012/09/25(火) 11:12:18.76
遺伝的におかしいのであって放射能のせいじゃない
597デフォルトの名無しさん:2012/09/25(火) 11:18:33.46
放射能で遺伝的におかしくなったんだな
598デフォルトの名無しさん:2012/09/25(火) 11:19:07.36
日本の韓国化がますます進むね
599デフォルトの名無しさん:2012/09/25(火) 12:06:57.00
【問題】 出展Google
1〜5の数字をランダムに生み出すメソッドが与えられている
このメソッドを使って1〜7をランダムに生み出す方法を考えろ。

ここでいうランダムとは等確率のこと。
600デフォルトの名無しさん:2012/09/25(火) 12:13:50.14
5x7=35個単位で考えればいいだけじゃね?
って、まさかそんな簡単な答えなわけないか。
601デフォルトの名無しさん:2012/09/25(火) 12:13:55.00
>>599
#include <stdio.h>
#include <stdlib.h>

int rnd5(void)
{
return rand()%5+1;
}

int rnd7(void)
{
int x;

for(;;)
{
x=(rnd5()-1)*5+(rnd5()-1);
if(x<7*3) break;
}
return x%7+1;
}

int main(void)
{
int i, count[7+1]={0};

for(i=0;i<10000000;i++) count[rnd7()]++;
for(i=1;i<=7;i++) printf("%d\n", count[i]);

return 0;
}
602デフォルトの名無しさん:2012/09/25(火) 12:15:18.99
>>601
乱数足したら確率分布変わるんじゃね?
603デフォルトの名無しさん:2012/09/25(火) 12:17:41.97
等確率って1〜7の出現率が等確率ってこと?
604デフォルトの名無しさん:2012/09/25(火) 12:27:20.75
まぁこんな問題で質問するようなやつは受ける前に足切り。
605デフォルトの名無しさん:2012/09/25(火) 12:51:11.94
>>601
forの中で
if(x < 7) return x+1;
でよくね
606デフォルトの名無しさん:2012/09/25(火) 12:51:28.36
とりあえず、ぱっと思いついたのがこれだが
http://ideone.com/U1Vwj
607デフォルトの名無しさん:2012/09/25(火) 13:03:33.70
>>605
0-24までの乱数が得られるから、無駄なループ回数を減らすために
「7以下」ではなく「24以下で最大の7の倍数以下」を生かそうとしていると思われる。
608デフォルトの名無しさん:2012/09/25(火) 13:05:09.43
>>605
それでもおっけーだね
無駄が多くなるけど
609デフォルトの名無しさん:2012/09/25(火) 13:09:36.43
rand5の使用回数に上限が設けられるような方法はないのか?
610デフォルトの名無しさん:2012/09/25(火) 13:13:53.56
よく、RAND_MAXとdoubleを使って式が出されるけどね。
(rnd5()*5+rnd5()) * 7 / (5*5)
とか、そんな感じの。
611デフォルトの名無しさん:2012/09/25(火) 13:21:40.91
>>610
間違いの例?
612デフォルトの名無しさん:2012/09/25(火) 13:22:09.88
そんな泥臭いやり方じゃなくてもっと天才的なひらめきは出せないの?
613デフォルトの名無しさん:2012/09/25(火) 13:23:16.19
>>612
泥臭いってのが分からん
614デフォルトの名無しさん:2012/09/25(火) 13:28:49.60
ループ回してうまく行くまでとかじゃなくてズバッと射影して答えだしたりさー
615デフォルトの名無しさん:2012/09/25(火) 13:32:34.01
rnd7()
{
a = rnd5() + rnd5() + rnd5() + rnd5() + rnd5() + rnd5() + rnd5();
b = (a % 7) + 1;
return b;
}
616デフォルトの名無しさん:2012/09/25(火) 13:32:52.61
もっとコストが掛からないの無いの?って聞き方なら分かるが
泥臭いって何なの。
617デフォルトの名無しさん:2012/09/25(火) 13:33:05.26
>>612
355 デフォルトの名無しさん [sage] 2012/08/31(金) 20:41:20.51
int f(int a, int b)

引数a以下で最大のbの倍数を返す関数f
書いて。
無駄なく、合理的に。


356 デフォルトの名無しさん [sage] 2012/08/31(金) 20:54:14.12
モジュロ求めて
引けばいいだけじゃねーの


357 デフォルトの名無しさん [sage] 2012/08/31(金) 20:55:27.50
int f(int a, int b)
{
return a - a % b;
}


358 デフォルトの名無しさん [sage] 2012/08/31(金) 20:55:59.43
そんなありきたりの方法は美しくない。
もっとこう、画期的で合理的なやり方ないの?
618デフォルトの名無しさん:2012/09/25(火) 13:34:03.93
>>615
偏りすぎわろた
619デフォルトの名無しさん:2012/09/25(火) 13:34:36.42
>>617の358
数学に夢見すぎwww
620デフォルトの名無しさん:2012/09/25(火) 13:40:51.34
>>615
中心極限定理 参照
そういうふうに和をとった段階で正規分布に近い形に偏りを見せるぞ
621デフォルトの名無しさん:2012/09/25(火) 13:42:08.62
622デフォルトの名無しさん:2012/09/25(火) 13:42:19.57
>>618
>>620
均等に見えるんだが
どうなったの?
623デフォルトの名無しさん:2012/09/25(火) 13:46:27.36
和は正規分布形に近くなるけど、その後 modulo 通すからめんどくせーな。 
624デフォルトの名無しさん:2012/09/25(火) 13:48:23.98
>>620
数学に夢見すぎwww
625デフォルトの名無しさん:2012/09/25(火) 13:49:36.38
>>622
アホか。5^7通りをどうやって7つ均等に割り振るんだ?
626デフォルトの名無しさん:2012/09/25(火) 13:52:52.49
>>625
素晴らしい答えだ
627デフォルトの名無しさん:2012/09/25(火) 14:00:01.10
>>625
あほらし
つきあってられんわ
628デフォルトの名無しさん:2012/09/25(火) 14:07:06.35
>>626-627
俺も「足してるんだから違うだろ」と一瞬思ったが
「場合の数」の合計は5^7。
629デフォルトの名無しさん:2012/09/25(火) 14:25:23.53
表が1で裏が0のコインを3枚投げる場合を考えれば、偏ってるってことが理解できるかな
630デフォルトの名無しさん:2012/09/25(火) 14:30:36.83
>>629
は?ぜんぜんわからねえわw
御託はいいから動くソースコード出してみろよ。お前の思いえがく完璧な動作ってのを見せてくれよw
631デフォルトの名無しさん:2012/09/25(火) 14:31:08.38
数学的に程度の高い疑問が来たぞ
数学で夢見られるぞ
良かったな

足しただけの和だと、確かに正規分布に近い偏りになる、
けれども、modを通すと均等になる

さて
何故だ
632デフォルトの名無しさん:2012/09/25(火) 14:41:47.18
数学多様したいなら
LISP使いになれば良いのに
633デフォルトの名無しさん:2012/09/25(火) 14:41:48.07
634デフォルトの名無しさん:2012/09/25(火) 14:55:11.06
何かがオカシイorz 7重ループをべたで書くべきなのか?
http://codepad.org/AdSayNn1
635デフォルトの名無しさん:2012/09/25(火) 15:30:35.94
何がやりたいんだよ
636デフォルトの名無しさん:2012/09/25(火) 17:10:50.11
超絶初心者ですのでゆっくり教えてください。どうかお願いします。
、コマンドプロンプトでカレントディレクトリを「C:\cwork」に変える方法がわかりません。
637デフォルトの名無しさん:2012/09/25(火) 17:20:34.63
>>636
スレタイを1000回声を出して読め。その質問はC言語には何の関係もない。
638デフォルトの名無しさん:2012/09/25(火) 17:26:13.64
>>631
こんな簡単な問題もわからないのか
639デフォルトの名無しさん:2012/09/25(火) 17:28:22.23
>>637C言語入門書の一部としてその作業があるから質問してるんです。
640デフォルトの名無しさん:2012/09/25(火) 17:30:56.93
え?
641デフォルトの名無しさん:2012/09/25(火) 17:32:57.35
>>639
破って燃やせば?
642uy:2012/09/25(火) 17:36:21.25
cdコマンド


すばらしいまでにスレ機能してねーなwwwwwwwwwwww
643デフォルトの名無しさん:2012/09/25(火) 17:44:19.30
>>639
うるせー、出てけ。二度と来んな。
644デフォルトの名無しさん:2012/09/25(火) 18:02:43.72
その入門書は本当に破ってもやした方がいい
それが分からないように書いてある入門書なんて
入門書じゃない、

そしてお前の中ではその紙くずは
2ちゃんねる以下ってことになってるハズだ
645デフォルトの名無しさん:2012/09/25(火) 18:10:47.59
入門書だって「想定する読者」ってのがあるだろ。普通は最初に書いてある。
>>639がそのレベルに達していないだけ。
頭悪そうだから、想定する読者のレベルに達するまで多分10年くらいかかるだろう。
646デフォルトの名無しさん:2012/09/25(火) 18:18:42.40
おまえら優しいな
647デフォルトの名無しさん:2012/09/25(火) 18:26:33.07
このスレの半分は優しさで出来てるからな
648デフォルトの名無しさん:2012/09/25(火) 18:28:51.71
いつも思うけどなんで2chに来るんだろ
ググれば出てくるだろうに
649デフォルトの名無しさん:2012/09/25(火) 18:28:55.82
もう半分はC言語ひいてはコンピュータの発展と未来へのための
あくなき向上心で出来ております
650デフォルトの名無しさん:2012/09/25(火) 18:38:01.00
>>636

REM cw.bat
C:
CD \cwork
651デフォルトの名無しさん:2012/09/25(火) 19:22:39.34
>>636できました。皆さんありがとうございました。
652デフォルトの名無しさん:2012/09/25(火) 19:34:05.52
いえいえ
653デフォルトの名無しさん:2012/09/25(火) 19:46:53.90
どういたしまして
654 ◆QZaw55cn4c :2012/09/25(火) 21:18:50.61
>>621
5 と 7 という風に近いから「たまたま」うまくいうようにみえる。
でも同じ考え方で 5 と 31 とか 5 と 203 とかでやるとどうなるだろうか?
http://ideone.com/JgpL2

だめなんじゃない?
655デフォルトの名無しさん:2012/09/25(火) 21:38:53.14
>>621
出目の出現確率 最小14.264% 最大14.307%
で均等にはならないと出た

#include <stdio.h>

void hoge(int count[], int sum, int rest){
int i;

if(rest<=0){
count[sum]++;
return;
}

for(i=1;i<=5;i++) hoge(count, sum+i, rest-1);
}

int main(void)
{
int i, count[36]={0}, count2[7]={0}, total=0;

hoge(count, 0, 7);
for(i=0;i<sizeof(count)/sizeof(count[0]);i++){
if(count[i]) printf("%2d : %d\n", i, count[i]);
count2[i%7]+=count[i];
total+=count[i];
}

for(i=0;i<7;i++) printf("%d %.3f%%\n", count2[i], count2[i]*100.0/total);

return 0;
}
656デフォルトの名無しさん:2012/09/25(火) 21:44:04.48
ならないと出た(キリッ
じゃねーよwww
この手の話は数学の証明だからYO、
プログラミンングじゃねーんだよ()
バカはすっ込んでろw
657デフォルトの名無しさん:2012/09/25(火) 21:54:24.25
>>655
アホやなぁ
どう見ても一様乱数なのにwww
658デフォルトの名無しさん:2012/09/25(火) 21:54:33.65
質問ですが
バブルソートなんですがこれって半分に分けてソートしたほうが早くないですか?
n個あったらn(n-1)/2かかりますよね?

真ん中で分けたらn(n/2-1)/2で澄むと思うのですが....

659デフォルトの名無しさん:2012/09/25(火) 21:55:23.21
>>656
反射でしかレスできねーの?
何やってるか読めよ
660デフォルトの名無しさん:2012/09/25(火) 21:56:07.81
>>658
マージソートですな
661デフォルトの名無しさん:2012/09/25(火) 21:57:45.10
>>654
氏ね。チンカス。ド素人。
662デフォルトの名無しさん:2012/09/25(火) 21:59:03.11
>>655
ざわ…ざわ…ざわ…

うわああ、ヤツが来るぞ
663 ◆QZaw55cn4c :2012/09/25(火) 21:59:49.75
>>657
そりゃ 5 と 7 は近いからね。

でも、5 と 203 とかだったらだめだね。おっと >>654 はすこし違ってたね。
http://ideone.com/JBM4f

すごーく偏るねえ。
664デフォルトの名無しさん:2012/09/25(火) 22:00:19.40
>>655
hogeとか使うから確率がおかしくなるんだよ
ちゃんとした名前に変えれば安定するぞ?
665デフォルトの名無しさん:2012/09/25(火) 22:02:33.27
>>663
カス乙
rnd5がそもそも一様じゃないからwww
こんな簡単なことまでいちいち教えてもらわないとわからないのか?
666デフォルトの名無しさん:2012/09/25(火) 22:11:38.37
メルセンヌツイスタでも使ってもう一度やってみろ
試行回数も多くしろ
667デフォルトの名無しさん:2012/09/25(火) 22:12:36.37
だってチンカスだもん。規格書暗記するので能力いっぱい。おなか一杯。
668デフォルトの名無しさん:2012/09/25(火) 22:14:22.21
>>655 は場合の数を列挙してるだけだから間違いないだろう
669 ◆QZaw55cn4c :2012/09/25(火) 22:20:19.39
>>665
うん、わからない。
rnd5() が厳密には一様ではないのと、>>663 とどう関係あるの?
というか、5 と 7 でうまくいっても 5 と 203 でうまくいかないのであれば、やっぱ、やりかたとしてだめなんじゃない?
670デフォルトの名無しさん:2012/09/25(火) 22:21:43.45
>>669
rnd5が一様乱数ならNがなんだろうが一様乱数
それ以上でも以下でもないお前が勘違いしてるだけ
671デフォルトの名無しさん:2012/09/25(火) 22:23:20.11
Qはくずだな
672デフォルトの名無しさん:2012/09/25(火) 22:33:19.39
5と7は共に素数であり、互いに素。
したがって、5^n == 7 * m を満たす自然数nとmの組み合わせは存在しない。

>>615で、それぞれのrnd5が返す値により場合わけすると、5^7通りで
それが均等に現れる。(出題>>599の前提として、rnd5が均等であるので)

5^n % 7 は 0 にはならないので、当然 5^7 % 7 も 0にはならず
5^7の全てのケースを7つ(のrnd7の返り値)に均等に割り振ることは出来ず
>>615のrnd7は均等ではない。
673デフォルトの名無しさん:2012/09/25(火) 22:36:10.04
>>672
0点やり直し
674デフォルトの名無しさん:2012/09/25(火) 22:39:23.85
>>673
おまえ本物のバカだろ
675デフォルトの名無しさん:2012/09/25(火) 22:41:27.77
昔居たrand君なみのバカだなw
676デフォルトの名無しさん:2012/09/25(火) 22:45:04.76
>>674
いや本物のバカは672だよ
672はドヤ顔で証明した気になってるけど縮退を考慮しないで恥さらしてるだけのただのチンカス野郎
677デフォルトの名無しさん:2012/09/25(火) 22:45:45.70
「rnd5が一様でない」のは、単純に「実際に出現率をカウントする」ならば大問題だけど
>>599の問題の「rnd7を作る」という点については、まったく影響しない。
↑この点が、バカには理解できない。

実際、>>615はrnd5なんか作ってないし
>>601がrnd5を作った意図は、単にコンパイルが通るようにするだけと思われる。
何故ならsrandすら呼んでないし、rnd7では神経質に一様にさせているのに
rnd5は何も気にしていないから。
そもそも出題では、rnd5は自分で作るのではなく、出題者から与えられるものだから。
678デフォルトの名無しさん:2012/09/25(火) 22:46:50.66
>>676
「場合の数」が5^7通りなのは理解できてる?
679uy:2012/09/25(火) 22:47:44.69
>>678
今はその先の話してんだけど?
お前だけ周回遅れだけどそれでいいの?
680デフォルトの名無しさん:2012/09/25(火) 22:48:45.34
>>679
その先は無いぞ
681デフォルトの名無しさん:2012/09/25(火) 22:49:06.94
こういうアホなヤツラが
ゲームのアホサイコロ作るんだな。
バカセプトのアホサイコロとか。
基本が出来てないksばかりじゃん。
ダメだわこりゃ。

よーくわかった。
プログラマを試すにはサイコロ作らせよう。
そいつがアホかどうかを見分ける。
682uy:2012/09/25(火) 22:50:46.82
>>680
お前の頭じゃそれが限界か
それじゃあ615のrnd7がなぜ一様なのか一生かかってもわからないんだろうな
俺様はこの程度なら1分とかからずからくりを見抜いたがこれが凡人との差なんだろうな
683デフォルトの名無しさん:2012/09/25(火) 22:52:30.20
>>615で、rnd5が均等なら
rnd7は
1を返す確率は 11161 / 78125
2を返す確率は 11161 / 78125
3を返す確率は 11161 / 78125
4を返す確率は 11161 / 78125
5を返す確率は 11161 / 78125
6を返す確率は 11160 / 78125
7を返す確率は 11160 / 78125
になる。
684デフォルトの名無しさん:2012/09/25(火) 22:53:12.58
>>682
一生わからねー人が正常だよ
どんな世界に住んでるんだよ
685デフォルトの名無しさん:2012/09/25(火) 22:54:50.80
>>615
1を返す確率は 11177 / 78125
2を返す確率は 11172 / 78125
3を返す確率は 11158 / 78125
4を返す確率は 11144 / 78125
5を返す確率は 11144 / 78125
6を返す確率は 11158 / 78125
7を返す確率は 11172 / 78125
になってるけどな
686デフォルトの名無しさん:2012/09/25(火) 22:57:41.14
あーそうか、ごめん。
0-4じゃなくて1-5なんだね。
確かに俺が間違えてた。
均等でないという結論を変えるつもりはないけど。
687デフォルトの名無しさん:2012/09/25(火) 22:59:20.72
いや、0-4も1-5も関係ないか。
それでも結(ry
688デフォルトの名無しさん:2012/09/25(火) 23:11:07.41
>>683になるのは、>>601的な計算をしたとき(の補正前)だった。
こうすると1-5^7までの数字が均等に現れるから>>683になる。
>>615だと5^7なのは場合の数であって、数値は最大でも35だもんね。
計算はしてないけど、>>685的な偏りがあって当然だね。
689 ◆QZaw55cn4c :2012/09/25(火) 23:11:09.00
>>670
そりゃ線形合同で高次の組ベクトルを作ってうんぬんだと、すっごくまずいんだろーけど、今は203回足しこんでるだけなのに、それでも問題なの?

>>666
じゃ MT でやってみるね。えい!
http://codepad.org/ou6zYWFE

やっぱりすごーーーく偏るんですけど。
5 と 7 でOK でも 5 と 203 で、しかも最強の MT 使ってもだめならば、やっぱ、やりかたとして間違っているんじゃない?
690 ◆QZaw55cn4c :2012/09/25(火) 23:21:55.64
5 と 23 くらいでもだめだね。やっぱり根本的におかしんだね。
http://codepad.org/2ytmKYz6
691デフォルトの名無しさん:2012/09/25(火) 23:23:47.02
偏りを理解できないバカもひどいが、的外れなことを垂れ流すQZもクソだな
692デフォルトの名無しさん:2012/09/25(火) 23:29:08.57
Qの自演か
693 ◆QZaw55cn4c :2012/09/25(火) 23:29:43.58
>>691
5 と 7 でOK でも、 5 と 23 で、しかも最強の MT 使ってもだめならば、やっぱ、やりかたとして間違っているんじゃない?
694デフォルトの名無しさん:2012/09/25(火) 23:32:47.69
5と7がオーケーじゃない
695 ◆QZaw55cn4c :2012/09/25(火) 23:33:59.26
>>692
>>621=QZ ならば、おやじ大漁だハードッコイショドッコイショ、ですなあ。
696デフォルトの名無しさん:2012/09/25(火) 23:36:12.74
仮に偏りなくてもO(N)じゃ使い物にならんわな
697デフォルトの名無しさん:2012/09/25(火) 23:40:16.83
なんだO(N)て。O(1)なら最速じゃないか。
698停止しました。。。:2012/09/26(水) 00:30:16.23
真・スレッドストッパー。。。( ̄ー ̄)ニヤリッ
699デフォルトの名無しさん:2012/09/26(水) 00:32:48.42
localeって何者なんですか?
700デフォルトの名無しさん:2012/09/26(水) 00:44:36.45
伊賀者じゃ
701デフォルトの名無しさん:2012/09/26(水) 01:23:09.84
>>699
ドイツでは、小数点は、点ではなくコンマにする。桁区切りを点にする。
ドイツ語(ドイツ) 1.234,0

フランスでは、桁区切りは、空白にする(?)
フランス語(フランス) 1 234,0

日本は、米国式だ。
英語(米国) 1,234.0
ttp://homepage1.nifty.com/tabotabo/ccc/syosu.htm
702デフォルトの名無しさん:2012/09/26(水) 01:24:14.63
ctypeの関数もなんか挙動かわるんやろ
めんどくさいなぁ
703デフォルトの名無しさん:2012/09/26(水) 01:28:48.46
まあ実際英語圏のlocale以外をちゃんと含んでいる処理系は世界的には存在しないけどな
日本国内で辛うじてワイド文字列が使える程度か?

ドイツとかフランスに行けばそういうlocaleを含んだビルドが出まわっているかもしれないが
少なくともお目にかかった事がない
704621:2012/09/26(水) 06:31:38.58
>>654, 663
なんなの?通り魔?
アホが式をアホ解釈して、計算結果が変になった→元の式も間違えてたはずだ(キリッ
なんなの?通り魔だろこれ…
池沼が勝手に改悪して結果を変にして、その原因をこっちに押し付けてくるって、通り魔すぎるわ…orz

http://ideone.com/EGude

もうやだ、このスレ
705 ◆QZaw55cn4c :2012/09/26(水) 06:53:19.72
>>621
>int a = rnd5() + rnd5() + rnd5() + rnd5() + rnd5() + rnd5() + rnd5();
>int b = (a % 7) + 1;

modulo 7 に対して7回じゃたりなくて

>>704
>for(i =0; i<8120; i++) a += rnd5();
>return (a % 203) + 1;

modulo 203 に対して 8120回、足しこんだのね。
ふーん(棒)

あと
>int l[1234];
>for(i=1;i<=203;i++)
>printf("%d\n", l[i]);
こういうの好きくない。

>void main()
爆笑、いや、もー、どうでもいいですけど。
706デフォルトの名無しさん:2012/09/26(水) 07:03:25.60
小錦はどうやって自分のお尻を拭いてるんですか?
707デフォルトの名無しさん:2012/09/26(水) 10:05:29.94
頭の悪い僕に教えてください
なぜrnd5を足すのは8120回なんでしょうか?
708デフォルトの名無しさん:2012/09/26(水) 11:14:41.12
Qは自分でも分かってないのに思わせぶりに書いてるだけだ
709621:2012/09/26(水) 13:09:39.33
>>707
1から5を平均的に返す乱数関数を使って、
1から10009を平均的に返す乱数関数。
http://ideone.com/7IcWw
710デフォルトの名無しさん:2012/09/26(水) 13:14:59.62
>>709
実用上は誤差の範囲かもしれないが

数学的には
pow(5, n)%10009 != 0
なので必要条件を満たさない
711621:2012/09/26(水) 14:54:21.45
>>710
その論法お気に入りみたいだけど、
仮に 5^n mod 7 = 6 が常に出つづける最悪ケースを考えてさえ
lim 6 / (5^n) = 0
n->∞
極限では誤差0に収束するから数学的に考えればむしろ条件満たしてるんじゃねえの?
712621:2012/09/26(水) 15:43:53.77
眠くなってきた
713デフォルトの名無しさん:2012/09/26(水) 16:15:23.17
>>711
それが成り立つためには無限回数 rnd5 を呼び出す必要があるってのは分かってる?
714デフォルトの名無しさん:2012/09/26(水) 17:29:35.59
うん
715 ◆QZaw55cn4c :2012/09/26(水) 21:38:12.95
>>709
階乗進数をつかって巨大数を作り、それに比べれば微小な 10009 で割った余りをとっているだけだね。ま、よく工夫したね。

しかし階乗進数の作成が穴だらけ。
n < 5の phi(n) に対して、rnd5() は は 5 を出すこともあるぞ。
n > 5 の phi(n) に対して、6〜n の値はでない。
phi(15) は 15 回 rnd5() を呼び出して一様な巨大数を作成しているつもりだが、結果は一様とは「ほど遠い」。
しかし phi(15) に比べると 10009 ははるかに微小だから、剰余が一様に分布しているようにみえるだけ。
>>704 同様、除数に比べると巨大な数を作っているが、その根拠がない。

やりなおせ。
716デフォルトの名無しさん:2012/09/26(水) 22:13:23.20
>>709
再び恐縮ですが、そのコードを理解すれば理由がわかるのでしょうか?
そのコードに対してもまた疑問が出てくる始末です
解説もしくはキーワードなどなんでもよいので理解へのポインタを示していただけないでしょうか?

#新たな疑問 rnd10009の場合、phiの引数が15なのはなぜでしょうか?
717デフォルトの名無しさん:2012/09/26(水) 22:23:00.08
整数nに対してドメインの長さが2*nでドメインの中心で対称な分布P(n)を作れれば
rand(P(n)) mod nは[0,n)の一様乱数なのでrnd5からP(7)を作ればおしまい簡単だね
718デフォルトの名無しさん:2012/09/26(水) 22:37:22.03
Qはなんで上から目線なの?ゴミなの?カスなの?
719デフォルトの名無しさん:2012/09/27(木) 00:15:14.81
いつから初心者除けのスレになったんだよ。
720デフォルトの名無しさん:2012/09/27(木) 02:23:27.09
勉強ついでにC言語の資格取得してみようと思うんだけど、就職に意味あるかな?
3級持ってるから2級か1級目指そうと思ってる。
721 ◆QZaw55cn4c :2012/09/27(木) 02:40:53.33
>>716
階乗進数
phi(15)の15 はできる限り大きな数を生成したいということで long long int の大きさ比べて決めた値では?
うまくいってないけど。

>>717
P(n)の分散Vに比較して n が小さいと駄目なのでは?そしてその目安は?
722デフォルトの名無しさん:2012/09/27(木) 02:55:41.81
>>720
Cの資格でググってみたらサーティファイ情報処理能力認定委員会って奴のC言語プログラミング能力認定試験ってのが上位にヒットするけどこれのこと?
就職のための箔を付ける意味ではプログラミング言語だけを中心にした資格はちょっと説得力が弱いかも。
情報技術者試験も意識した問題形式って書いてあるけど、そんならもう情報技術者試験を受けろよと思う。 情報技術者試験の方が安いし。

資格をどう評価するかは会社によって全然違ったりする。
ただ、応募者が多い会社を受ける場合は資格の有無で足切りされるのでなんであれ資格はあった方がいい。
723デフォルトの名無しさん:2012/09/27(木) 02:58:16.04
rnd5を作れるかどうかを見てるんだよ
rnd7は引っ掛け
724 ◆QZaw55cn4c :2012/09/27(木) 03:01:17.66
>>721
逆だ。P(n)の分散が小さいと問題だ。
725デフォルトの名無しさん:2012/09/27(木) 03:04:51.28
Qアホすぎ
726デフォルトの名無しさん:2012/09/27(木) 03:42:42.01
378 : ◆QZaw55cn4c :2012/09/07(金) 19:01:55.53 ID:HS5H6irY
>>376
つ水墨画
シベリウスの音楽は全部ハ長調でも問題ない
727デフォルトの名無しさん:2012/09/27(木) 04:02:13.96
やっぱQは自己愛性パーソナリティ障害だな
自分を実物以上に大きく見せて虚構を作りたがるのは「弱い犬ほどよく吠える」と同じ原理
728デフォルトの名無しさん:2012/09/27(木) 07:47:02.24
反論ならば具体的に
729デフォルトの名無しさん:2012/09/27(木) 07:47:12.58
>>721
分散は関係無いよ
対称性と幅がニエヌ倍だけでいい
730デフォルトの名無しさん:2012/09/27(木) 07:49:42.09
>>729
>>654>>689 は対称性だけではうまくいかないことを示しているのでは?
n にたいして p(n) が大きく散らばらないといけないのでは?
731デフォルトの名無しさん:2012/09/27(木) 08:49:39.27
仕事はできるけど、面白みに欠けるプログラムしか書かない奴が
出来るプログラマっていう風潮は会社にあったりするの?

やっぱそういう奴って傍から見てて憎たらしい?
732デフォルトの名無しさん:2012/09/27(木) 08:55:45.76
未だやってたのかよw
733デフォルトの名無しさん:2012/09/27(木) 09:09:14.16
やっぱ同僚プログラマで憎たらしい奴とかいるんだ。
ストレス感じてるならここで吐いて良いよ。
734デフォルトの名無しさん:2012/09/27(木) 09:35:10.21
抜く?
735デフォルトの名無しさん:2012/09/27(木) 10:11:12.04
>>733
ム板の方がいいんじゃね?
でもあっちは愚痴を言えるかわりに愚痴を読むはめになるから
あんまり居たいスレじゃないわな。
736デフォルトの名無しさん:2012/09/27(木) 10:17:39.36
>>729
分散とか言ってる奴も対称性とかいってる奴も
頭悪いくせに賢いふりをしようとしてるだけ
バカすぎる
737デフォルトの名無しさん:2012/09/27(木) 10:28:29.04
真のバカは人を罵倒するだけでなんの意見も出さないヤツの事ダヨ
738デフォルトの名無しさん:2012/09/27(木) 10:29:38.03
うんそうだね。一様分布の分散とかバカすぎる。今すぐ死ねって感じ。
739デフォルトの名無しさん:2012/09/27(木) 10:43:58.75
>>621が混乱の原因か。こいつはQと同程度かそれ以下のバカ。

バカでもわかるように説明しよう。
サイコロは一個の出目1-6は一様分布、それではサイコロ2個をふった時の
出目の和2-12は一様分布か?
小学生でも(一様分布という言葉の意味さえわかれば)違うと答えられる。

わざわざプログラム書いて検証するまでもない。
740デフォルトの名無しさん:2012/09/27(木) 11:12:22.23
グラマなら言葉よりコードで実証すればいいのに。
困ったちゃん。
741デフォルトの名無しさん:2012/09/27(木) 11:21:27.60
簡単な日本語すら理解できないアホがコード読めるとも思えないけどな
742デフォルトの名無しさん:2012/09/27(木) 11:23:23.75
is_ichiyo_bunpu()
is_random()
743デフォルトの名無しさん:2012/09/27(木) 11:25:45.40
5進で割り切れる数つったら15624 = 5^6-1 すね
int rnd5(){return rand()%5+1;}
int pw5(int a){return a==0 ? rnd5()-1 : 5*pw5(a-1);}
int x5(int a){return a==0 ? pw5(0) : pw5(a)+x5(a-1);}

int rnd7=x5(5)/2232+1;
744デフォルトの名無しさん:2012/09/27(木) 11:33:43.72
>>740
こうか?

#include<stdio.h>
int main()
{
puts("お前はバカ");
}
745デフォルトの名無しさん:2012/09/27(木) 12:15:34.65
呼んで納得してくれるかは判らんが、一応問題を整理してみる。
>599
>1〜5の数字をランダムに生み出すメソッドが与えられている
>このメソッドを使って1〜7をランダムに生み出す方法を考えろ。

一行目にあるようなメソッドを数回呼んで、出目を巧く加減(乗除)すれば
二行目にあるように1~7をランダムに生成できることは誰でも想像に難くないと思う。

実際、20面さいころに1-5を4セット書けば、一行目にあるようなメソッドをシミュレートできる。
しかし、話がややこしいからまずは普通の6面さいころを二回振ることを考えよう。
一回目の出目は当然1~6、二回目も当然1~6なので、単純に足した場合は
出目が2~12、平均値である7の出現確率は1/2、両端である2や12の出現確率は1/12となる。
これでは等確率という条件を満たすことは到底できそうにないことも想像できるだろう。
実際、振る回数を増やしたとしても出現確率は正規分布の様相を呈してしまう。

同じように二回振って、一回目を6倍して、二回目を足してみよう。
これはちょっとややこしいが、それぞれの出目を1引いてから同じように計算すると0~35となり、
出現確率は等しく1/36になることが判る。
これは問題の条件を満たすことが充分できそうだと思えれば、後はそれほど難しくない。

一番単純には、上のように二回振って掛け合わせた結果の0~6のみを採用すればいい。
その方式なら、6面さいころだろうと問題にあるメソッドだろうと同じ要領で済む。
後者を簡単にコードで表すと、こうなる。
--
int rnd7()
{
int value;
do {
value = (rnd5() - 1) * 5 + (rnd5() - 1);
} while (value < 7);
return value + 1;
}
746 ◆QZaw55cn4c :2012/09/27(木) 12:31:32.18
>>738
一様分布[0, 1)の分散は 1/12 って計算したことないの?教科書すら読まない馬鹿なの?

>>739
その >>621 と Q はガチに対決中ですけどね。
それはともかくその論拠は >>621 によれば意味をなさないとのことだ。
つまり、さいころの出目そのものではなくて、その剰余を考えている。

一様分布の和に対して剰余をとったとき、その剰余は(条件付にせよ)一様分布かどうか?
うそくさいけど肯定材料も否定材料も今のところでていない。
747デフォルトの名無しさん:2012/09/27(木) 12:39:07.28
Qはばか
748デフォルトの名無しさん:2012/09/27(木) 12:49:08.06
戦ってると思ってるのはQだけ
749デフォルトの名無しさん:2012/09/27(木) 12:50:12.78
> 一様分布[0, 1)の分散は 1/12 って計算したことないの?教科書すら読まない馬鹿なの?
↓を見ると理解していたとは到底思えないけど。www

>>721
P(n)の分散Vに比較して n が小さいと駄目なのでは?そしてその目安は?
>>724
> 逆だ。P(n)の分散が小さいと問題だ。
750デフォルトの名無しさん:2012/09/27(木) 12:59:37.95
一様分布の分散理解していたなら、たとえ検証をプログラムでやるとしても、
理論的な分散(n^2 -1)/12にどれだけ近いかシミュレーションで求めるよな。

>>654とかお笑い。
> だめなんじゃない?
> だめなんじゃない?
> だめなんじゃない?
> だめなんじゃない?
> だめなんじゃない?
751デフォルトの名無しさん:2012/09/27(木) 13:13:33.36
>>749
それを書いた時から必死にぐぐって見つけたんでしょ
こいついつも後出しじゃんけんだよなあ
そして偉そうにしてる
だからQは嫌われるのに本人は気づいていないという
752デフォルトの名無しさん:2012/09/27(木) 13:30:53.94
バカが一人だけなら簡単なんだけど、QZと>>621の二人がいるから面倒くさいことになる
753デフォルトの名無しさん:2012/09/27(木) 13:46:09.68
バカ対バカ w

>>621はこれで自分がバカだとわかるか?
http://codepad.org/0uzeEu8B

結果:
0: 11177
1: 11172
2: 11158
3: 11144
4: 11144
5: 11158
6: 11172

だめなんじゃない? w
754デフォルトの名無しさん:2012/09/27(木) 16:47:48.51
     ____
    /∵∴∵∴\
   /∵∴∵∴∵∴\
  /∵∴∴,(・)(・)∴|
  |∵∵/   ○ \|
  |∵ /  三 | 三 |  / ̄ ̄ ̄ ̄ ̄
  |∵ |   __|__  | < うるせー馬鹿!
   \|   \_/ /  \_____
      \____/
755デフォルトの名無しさん:2012/09/27(木) 16:54:13.55
桜庭ななみ
756745:2012/09/27(木) 18:14:36.24
反応ないけど続きも書いたから貼っておこう。

>745では捨てる値が多く、パフォーマンスが宜しくない。
そこでそれを改善するために色々考えるわけだが、そのとき気をつけるのは5の冪は7では割り切れないこと。
>745の場合で7以上の値を捨てずに7の剰余を求めた場合を見てみよう。

この場合、生成される値のばらつきは次のようになる。
--
1 2 3 4 5 6 7
4 4 4 4 3 3 3
--
従って、>745の方針だけでは何回rand5()を呼び出そうとも得られた値の7の剰余を求めただけでは偏りが出てしまう。
実用的には数回呼ぶ程度でも充分だが、>599のような問題の回答としては巧くないだろう。

>745の場合は2回呼んで7以上を捨てているが、これを21以上を捨てるようにすればずっと改善するだろう。
最終的には、数回呼んだ上で適当な7の倍数以上を捨て、7の剰余を求めるのが無難なところ。
全く捨てないことを目指した結果が>743だと思うが、私なら6回呼んで15624のみを捨てることを選ぶかな。
あー、実装上は0を捨てるだけでいいのだけれど汎用的ではないな。

>>746
>一様分布の和に対して剰余をとったとき、その剰余は(条件付にせよ)一様分布かどうか?
一様分布の和は正規分布と考えていいよね。
その場合、その正規分布に対して充分短い周期となるような剰余をとれば一様分布に近づくでしょ。
でもそれは、一様分布とはいえない。

>>753
なるほど、高々0-28程度でもある程度一様分布に近づいてはいるんだね。
757 ◆QZaw55cn4c :2012/09/27(木) 19:49:40.17
>>753
なるほどね。>>685 のときにコードも載っけていくれればよかったのに。
しかし、短いコードの割りには均等だという印象を受ける。rnd5() -> rnd7() への写像としては優秀なほうではないか?
>>709 も頼む。

>>709 に対して >>715 で酷評したが、これはつんでれ、という奴だ。
階乗進法を使うというのは斬新だ。階乗進法なんて10年ぶりに思い出した。

私は主にhttp://toro.2ch.net/test/read.cgi/tech/1342966104/でコードを出してはいるが、こんな、2ch の場末の板でコメントがつくなんて稀有なこと。
>>601 とか >>606 なんて華麗にスルーされちゃってるじゃない。
人のコードを読むなんてモリタポでももらわなきゃやってられないが、>>621 が何か書いたらたぶん私は目を通す。
目を通すだけでなく >>621 が何をしたいのか、もともと足りないくて狂っている脳細胞を駆使して必死になって考えるだろう。
>>715 は 愛と解釈してもらいたい。というか、そう解釈していなかったら、ちょっと鈍いぞ。

私は、>>621が、うらやましい。
758デフォルトの名無しさん:2012/09/27(木) 20:24:39.30
>>757
マジきめえ
759デフォルトの名無しさん:2012/09/27(木) 20:29:23.76
>>751
ん、確かに >>721 は重篤なミスだ。それはみとめる。

まあ >>756
>充分短い周期となるような剰余をとれば一様分布に近づくでしょ。
とこちらで記述しきれなかったアイディアを的確に表現しているから満足だ。思い残すことはない。

いや、 >>709 の評価を誰か頼む。
760621:2012/09/27(木) 20:35:33.53
>>745
うおおおおおおーーーーーーーーーーー!!!!!!!!!!!!!!
すげええええ!!!!!
761621:2012/09/27(木) 20:46:34.33
>>745
感動しました。
説明内容に釈然としない箇所がひとつも無い。ぼくにも理解できた(^q^/
痛快です。

一つ一つは、簡単で当たり前な考え方だけど、それ積みあげていったら、
気付いたらrnd7()をも当たり前なこととして導けてしまえる様子に感動しました。

聞いてしまった今ならば簡単な方法に思えるけど、しかし、これを最初に閃けてしまうあなたを尊敬します。
少なくとも自分にはまったく閃けなかった。

どう言葉にすれば良いか分かりませんが、すっきりしました。ピタゴラスイッチを見た時のような気持ちよさというか。
感動してます。ありがとう。
762デフォルトの名無しさん:2012/09/27(木) 21:20:25.91
>>601も全然理解してなかったんだな。このクズは。
763デフォルトの名無しさん:2012/09/27(木) 21:31:45.95
[社説]韓日関係の大荒れを予告する安倍総裁選出

安倍晋三前総理が自民党総裁に選出され韓国・日本の間で緊張が高まっている。
次の総選挙で自民党が多数党になれば安倍総裁が再び総理の席に座るる可能性が高いためだ。
安倍総裁は過去、総理に就任したときに教育基本法を改正して独島紛争の火種を育てた人だ。

それだけでなく再武装を禁止した平和憲法第9条を改正して集団的自衛権行使のための法律案を用意し、
参議院選挙で惨敗したせいで総理職から退いた人物だ。

最近に入り日本軍慰安婦動員事実を認めた河野談話を廃棄することを主張して「総理就任期間に靖国神社を
参拝しなかったことが痛恨の極み」と話すほど極右指向が強い政治家だ。
彼の著書「美しい国」で韓国を同盟国名簿から除外してしまうほど反大韓民国路線を歩む人物だ。

そのような安倍総裁が総理の席に上がる場合、韓日関係が極度に悪化することは火を見るより明らかなことだ。
そうであるから外交部当局者は緊張感を緩ませてはならない。安倍総裁の指向に沿った対応策を講じなければならない。
韓日関係で主な争点となる独島問題に対しては国際慣例や文献など根拠資料を広範囲に収集して徹底して論理的に対応する
準備をしなければならないだろう。慰安婦問題など過去の歴史に関しても国際人権団体等を通して世論を作り、
被害者の証言と関連資料を発掘する作業に拍車を加えることはもちろんだ。

外交当局は何より最近、尖閣列島紛争などで中日関係が深刻な葛藤局面に入り込んだ状況を十分活用しなければならないだろう。
日本もやはり国際的な孤立を望んではいないためだ。韓・中・日三角構図に南北対峙状況まで考慮した強弱両面戦略が必要だという意味だ。
合理的な路線で実利を取りまとめる外交当局の鋭い洞察力を期待する。

[社説]韓日関係の大荒れを予告する安倍総裁選出(韓国語)
http://news.naver.com/main/read.nhn?mode=LSD&mid=sec&sid1=110&oid=082&aid=0000358763
764デフォルトの名無しさん:2012/09/27(木) 21:44:44.47
ネトウヨ王に、俺はなる!まで読んだ。
765デフォルトの名無しさん:2012/09/27(木) 22:54:33.68
がんばれ!
766デフォルトの名無しさん:2012/09/28(金) 00:18:12.75
>>601を見た時点で、問題は解決済み扱いで自分が何か言う必要はないと思う人がほとんどだろ
767デフォルトの名無しさん:2012/09/28(金) 11:42:13.98
うん
768デフォルトの名無しさん:2012/09/28(金) 11:53:38.89
>>601の後で>>615が出てくるのはすごいな。
しかもダメと指摘受けた後の>>621
その後の>>704の通り魔発言。
このスレは永久保存だ。
769 ◆QZaw55cn4c :2012/09/28(金) 12:21:01.55
>>768
QZに絡まれたんじゃだれだって >>704 と反応するだろう察してやれ
770デフォルトの名無しさん:2012/09/28(金) 12:35:05.97
ローカルルール違反のバカに絡まれて火病った>>704がマヌケ。
> ★◆QZaw55cn4cは発言禁止です。トリップを隠してもダメです。
771745:2012/09/28(金) 13:36:41.78
改めて見たら、>601で答えが出てたのね。
まぁ、>621が納得できたからよかった。

ついでに言えば、>756で書いた「数回呼んだ上で適当な7の倍数以上を捨て、7の剰余を求める」の
一番シンプルな形が>601だね。
>599から7分でこれだけきちんとできるなんて、仮に慣れていたとしてもたいしたもんだ。
772デフォルトの名無しさん:2012/09/28(金) 13:50:23.27
7倍して5で割れば良いだけじゃないの
773デフォルトの名無しさん:2012/09/28(金) 13:52:05.31
条件が整数とはどこにも書かれてないな
774ニート26:2012/09/28(金) 16:18:47.58
未経験だけど、プログラマーになりたい26男高卒です。

C言語を勉強しようと思っています。

速習C言語入門[第2版] ~脳に定着する新メソッドで必ず身につく~ [単行本(ソフトカバー)]
菅原 朋子 (著)

この本マスターすれば、働けますかね?

775デフォルトの名無しさん:2012/09/28(金) 16:22:54.69
1週間徹夜の日がしばしばあっても平気なら雇ってくれるよ
776ニート26:2012/09/28(金) 17:01:33.83
>>775
大変そうですね

でも、雇ってくれるならありがたい
777デフォルトの名無しさん:2012/09/28(金) 17:03:51.31
777
とりあえずメアドと履歴書いて
778デフォルトの名無しさん:2012/09/28(金) 17:28:06.52
ベクターなどのソフトを見て、これ自分で作れそうだなと思ったものを作るといい
一度やってみなさい
あとそんな質問はプログラマ板へどうぞ
779デフォルトの名無しさん:2012/09/28(金) 17:28:57.39
徹夜分の給料でない出来高制でいいのかな
780デフォルトの名無しさん:2012/09/28(金) 17:38:38.39
もちろん残業代なんか出ないよ
781デフォルトの名無しさん:2012/09/28(金) 17:45:10.00
時給がいいにきまってる。スレ違いだぞ
782デフォルトの名無しさん:2012/09/28(金) 19:27:03.94
>>774
K&R2を読め話はそれからだ
783ニート26:2012/09/28(金) 19:52:49.78
784デフォルトの名無しさん:2012/09/28(金) 20:05:32.95
あっそ
785デフォルトの名無しさん:2012/09/28(金) 20:52:11.23
786デフォルトの名無しさん:2012/09/28(金) 23:05:42.09
Cでウェブの情報を拾いたいと思いプログラムを書いています。
情報の取得自体は
n = recv(sock, buf, sizeof(buf), 0);
としてバッファに受け取れるのですが、コンソールに表示した場合、一部分だけ文字化けします
具体的には、たとえば2chを読み込むと

<a href="1328344097/l50">726: スレタイA (51フフフフフフフフ・</a>
<a href="1331870803/l50">727: スレタイB</a>
<a href="1321033272/l50">728: スレタイC (91)</a>

というように、スレタイAの一部だけ文字化けします。原因および対策等、教えて頂けないでしょうか。
環境は
Windows7、VisualC++2010です。
787デフォルトの名無しさん:2012/09/28(金) 23:10:36.78
>>786
きちんと文字列終端の処理をするか
受け取った文字数だけ表示させればおk
788はちみつ餃子 ◆8X2XSCHEME :2012/09/28(金) 23:16:05.75
>>786
表示はどうしてる?
その表示を見ると化けているのではなく余計なものがくっついてるのがわかる。
recv で読み込んだ情報は最後に '\0' を付けてはくれないので printf や puts やらで出力したら
読み込んだ分の最後を越えて表示しようとしてしまう。
789デフォルトの名無しさん:2012/09/28(金) 23:22:05.13
戻り値の n が受け取れた数 引数に渡した sizeof(buf) より小さいことが十分にありえる

(さらにTCPでHTTPだろうから 行単位(末尾のCRLF)で一気にバッファに詰まるわけではないことに注意だ)
790デフォルトの名無しさん:2012/09/28(金) 23:30:21.31
やめとけwww
Cでやんのは自殺行為だwww
2chならshiftjis、0x5cに引っ掛かりまくりでクソの山wwww
おとなしく別の何か使っとけよwww
文字コードのクソ山にCで直接突入とかwww
別の言語使えよwwwww
www
791デフォルトの名無しさん:2012/09/28(金) 23:32:44.12
>>790
作った事ない人の発言だね
792デフォルトの名無しさん:2012/09/28(金) 23:36:41.97
>>787
>>788
レス有難うございます!
buf[1024];
n = recv(sock, buf, sizeof(buf)-1, 0);
buf[n] = '\0';
としたら文字化けも無くなりました。

recvが終端に\0をつけないということを完全に見落としていました。
有難うございました。
793デフォルトの名無しさん:2012/09/28(金) 23:45:15.68
>>791
表 って書いてあるテキストファイルの読み込みすらひっかかってクソの山になる
Cコンパイラを教えてください
794デフォルトの名無しさん:2012/09/28(金) 23:46:09.99
×>>791
>>790
795デフォルトの名無しさん:2012/09/28(金) 23:54:36.62
アンカもマトモに打てないようなksかよwww
煽るならもっとうまくやれよアフォwww
796デフォルトの名無しさん:2012/09/29(土) 00:14:11.37
思ったんだけど、最初からシフトジスをコンピュータが採用しなかった理由って
何だろ?最初はa〜Z ,+:@&%$みたいな記号しかコンピュータは受け付けなかったんだろ
797デフォルトの名無しさん:2012/09/29(土) 00:17:06.71
そりゃ無かったからだ
798デフォルトの名無しさん:2012/09/29(土) 00:23:55.34
昔のコンピュータって漢字無理だったよね。
Windows以前のコンピュータは漢字打ち込めたの?
CUIで。
799デフォルトの名無しさん:2012/09/29(土) 00:24:55.03
>>798
アホはスレタイ読んで消えろ
800デフォルトの名無しさん:2012/09/29(土) 00:27:48.76
>>799
C言語はShift-jisと関連あるだろ
何故ダメなんだ?
なぁ?おい?
801デフォルトの名無しさん:2012/09/29(土) 00:29:15.26
>>800
何言ってるの?
消えろよ
802デフォルトの名無しさん:2012/09/29(土) 00:30:37.34
感じコードなんてあとづけさJIS/Shift-JIS/EUC 陣営が互いに叩きあいしているうちにウニコードとかにかっさらわれてしまった奴ら東洋の事情も知らずに感じ東郷とか無茶をいってさ結局日中韓感じ東郷さえ到達できずに終わり本当になさけないというか
803デフォルトの名無しさん:2012/09/29(土) 00:31:23.46
>>801
お前プログラマーのくせに排他的過ぎw
学生もいること忘れんな
804デフォルトの名無しさん:2012/09/29(土) 00:36:00.69
そうだぞ
プログラマーは聖人君子なんだ
そうじゃないやつはプログラマーではない

だからここで質問しようとする人も
聖人君子たろうとするべき
そうじゃないやつはプログラマーでもないし
プログラマーも目指してないから
知る必要もない
805デフォルトの名無しさん:2012/09/29(土) 00:36:32.14
小文字を大文字に変える関数ってあるけど、これ小物過ぎない?
何でこんな関数作ったんだろ。自作できるじゃん。
806デフォルトの名無しさん:2012/09/29(土) 00:38:07.06
>>804
オメーg成人君子な証拠見せろよヴァk
アホグラマ程度ののーみそだろw
807デフォルトの名無しさん:2012/09/29(土) 00:38:31.61
深いとこまで考えると簡単じゃないからな
808デフォルトの名無しさん:2012/09/29(土) 00:38:42.37
tolowerだっけ?
これ

void komojiwooomojinihenkan(char cha)
{
if(cha==a)cha=='A'
以下同文
}

でいいじゃん。tolowerって機能少なすぎ。何なんだ。
こんな関数必要ないじゃん。
809デフォルトの名無しさん:2012/09/29(土) 00:41:20.51
お前がそう思うんならそうなんだろう
お前の中ではな
810デフォルトの名無しさん:2012/09/29(土) 00:41:22.61
ASCIIコードでもEBCDICでも変換できるように関数作ったんだよ
ntohsなど環境によっては変化のないものもあるけど、意味はあるわけだ
811デフォルトの名無しさん:2012/09/29(土) 00:43:25.15
トイレ?
812デフォルトの名無しさん:2012/09/29(土) 00:44:01.58
もっと意味分からない関数がabs()
これも全然分からない
絶対値を求めるってそもそも絶対値自体数理的なものでコンピュータなら
ではなの概念じゃないよね

void puramaigyakuten(int a)
{
a=-a;
}

でいいじゃん。
813デフォルトの名無しさん:2012/09/29(土) 00:44:06.43
utf-32以外使うな
814デフォルトの名無しさん:2012/09/29(土) 00:47:41.10
>>812
absとそのコード、何の関係があるわけ?
815デフォルトの名無しさん:2012/09/29(土) 00:50:10.31
>>814
じゃあ
absが便利な時あるの?
今まで総計10万行近くのプログラム書いてきたけど
この関数だけは何の役にも立ってないだわ
816デフォルトの名無しさん:2012/09/29(土) 00:51:10.84
自分自身が無意識的なヴァカであると主張せんが為のオサレなダメコードだろ
察してやれよ
817デフォルトの名無しさん:2012/09/29(土) 00:51:47.01
いやABSとそのコードの関係性を聞いてるんだが?
818デフォルトの名無しさん:2012/09/29(土) 00:52:14.47
>>815
何もかもが嘘だな
役に立たないのはお前

むしろ足を引っ張るからいないほうがいいレベル
819デフォルトの名無しさん:2012/09/29(土) 00:56:42.13
>>818
あんまキツイ事言わないでよ
>>817
とりあえずC言語は数学関連のいらない関数が多すぎ
もっとさ、便利な機能作れよな(笑)
820デフォルトの名無しさん:2012/09/29(土) 00:57:44.50
>>819
ABSとそのコードの関係性を聞いてるんだが?
821デフォルトの名無しさん:2012/09/29(土) 01:00:41.43
おっぱい
822デフォルトの名無しさん:2012/09/29(土) 01:04:38.56
絶対値が必要ない業種なら、いつまで経っても必要性が判らないのも道理。
数値計算やっていると、しばしばひつようになるんだよ。
823デフォルトの名無しさん:2012/09/29(土) 01:05:22.58
>>820
だから絶対値ってことはマイナスの値がプラスの値になっちゃうわけだからこれでいいじゃん
int i;
i = 5 - 8;
if (i < 0)
{
puramaigyakuten(i);
}
824デフォルトの名無しさん:2012/09/29(土) 01:07:14.68
abs使わずにそれをあえて使う意味ってあるの?
825デフォルトの名無しさん:2012/09/29(土) 01:07:28.43
マジモンのアホがいる……
826デフォルトの名無しさん:2012/09/29(土) 01:09:27.59
何かに疑問を持つ事はいい事だと思うよ
結果的に馬鹿だとしても、馬鹿だったとわかるんだからいい事だ
まわりの人間は迷惑だけどな
827デフォルトの名無しさん:2012/09/29(土) 01:12:38.95
>>824
より多くの用途で使うことができる
absは絶対値だからプラスの値にしかならないけど、僕が作った関数はマイナスの値にもできる
マイナスの値にしたいときも同じ関数使うことができる absはもういらない
828デフォルトの名無しさん:2012/09/29(土) 01:15:04.35
a * abs(b) + c;
という式があったとして
君のくだらない関数を使うときにだらだらifを使い可読性を損なう事に
何の意味があるのかね
829デフォルトの名無しさん:2012/09/29(土) 01:16:21.90
>>828
それはプラスの値が欲しいときに条件を限定しているからそうなるけれども
マイナスの値にすることもできるってことに気づいてよ absより高機能だってこと
830デフォルトの名無しさん:2012/09/29(土) 01:18:59.09
>>827
もはやそれabsじゃねぇ
しかも>>812のコードは何も起こらないwww
831デフォルトの名無しさん:2012/09/29(土) 01:19:33.94
>>830
だからabsいらないよねって話じゃん
*つければいいじゃん
832デフォルトの名無しさん:2012/09/29(土) 01:19:49.96
>>827
>absは絶対値だからプラスの値にしかならないけど、
そんなことはない。マイナスのこともある
833デフォルトの名無しさん:2012/09/29(土) 01:20:53.82
>>832
うそつき、それ絶対値じゃないよ
834デフォルトの名無しさん:2012/09/29(土) 01:21:42.90
absは絶対値が必要な時に使うんだが。それだけ
835デフォルトの名無しさん:2012/09/29(土) 01:22:11.64
プログラミングが商売になるって日本は平和な国だと思うわ。
836デフォルトの名無しさん:2012/09/29(土) 01:22:47.28
>>834
だからマイナスにはならないよ
837デフォルトの名無しさん:2012/09/29(土) 01:23:56.76
a * abs(b) + c;
を君の高機能な関数で書いてみてよ
838デフォルトの名無しさん:2012/09/29(土) 01:24:35.34
>>836
なんでそれが俺へのレスなんだ?ID出ないから面倒だね
839デフォルトの名無しさん:2012/09/29(土) 01:25:23.40
>>837
そんなのわかるでしょ
if (b < 0)
{
puramaigyakuten(b);
}
a * b + c;
840デフォルトの名無しさん:2012/09/29(土) 01:25:48.04
マジで数値計算とかしたことのねーアホだな
消えろよアフォがうつるから
841デフォルトの名無しさん:2012/09/29(土) 01:26:01.31
>>838
だからabsはマイナスにはならないってことでいんだよね?
842デフォルトの名無しさん:2012/09/29(土) 01:27:26.39
なにを勝手にbの内容変更してんだよ
843デフォルトの名無しさん:2012/09/29(土) 01:28:23.18
>>842
じゃあ誰に許可取ればいいの?
844デフォルトの名無しさん:2012/09/29(土) 01:29:28.43
>>842
変更しちゃいけないって条件の後出しですか?すごい卑怯者ですね、AKBのじゃんけん大会でやらせだったことよりひどいと思いますよ
845デフォルトの名無しさん:2012/09/29(土) 01:29:48.46
>>819
>とりあえずC言語は数学関連のいらない関数が多すぎ
ほんとそうだよね超越関数なんてtan(), arctan(), pow(2.0, x) - 1.0, x * log2(y), x * log2(y + 1) だけでいいよね(棒)
846デフォルトの名無しさん:2012/09/29(土) 01:31:07.07
せめてローカル変数にbの結果出せや
で、そのコードってa * abs(b) + c;
より良い書き方かい?義務教育くらいうけてきた年齢なのかな?
847デフォルトの名無しさん:2012/09/29(土) 01:32:30.22
>>846
その話は>>829でもうしたよ、なに?bの結果出せって、意味わかんない、日本語で言って
848デフォルトの名無しさん:2012/09/29(土) 01:37:17.87
質問に答えろ
そのコードってa * abs(b) + c;
より良い書き方か?
849デフォルトの名無しさん:2012/09/29(土) 01:43:38.84
よい悪いの定義を教えてください主観では答えられません
850デフォルトの名無しさん:2012/09/29(土) 01:44:11.49
外野はだまってろ
851デフォルトの名無しさん:2012/09/29(土) 01:51:21.17
> 842 :デフォルトの名無しさん:2012/09/29(土) 01:27:26.39
> なにを勝手にbの内容変更してんだよ

後出しで条件つけて偉そうにしてる人さらし上げ
852デフォルトの名無しさん:2012/09/29(土) 01:54:43.70
rnd5()->rnd7()フレームのほうがまだおもしろかったよね
853デフォルトの名無しさん:2012/09/29(土) 02:01:16.81
>>852
QZてやつが顔を真っ赤にしてレスしてただけだったじゃん、もしかしてabsに固執している老害っぽい人ってQZなんじゃない
854 ◆QZaw55cn4c :2012/09/29(土) 02:08:56.73
>>853
それが面白かったじゃん。なんかMTとか大仰なお道具をふりまわしてさー、普通の線形合同でいいのに馬鹿だよね。
855デフォルトの名無しさん:2012/09/29(土) 02:10:17.97
>>854
バカはお前だよw avltreeは実装できたのか?教えてやろうか?
856 ◆QZaw55cn4c :2012/09/29(土) 02:14:08.43
>>855
うん、結構苦戦してるんです。
参考にした教科書も間違っているありさまで困っています。よろしくお願いいたします。
857デフォルトの名無しさん:2012/09/29(土) 02:17:51.26
>>856
おーよしよし、avlはたぶんアベレージのことだから平均値を求めてなんかすればいんだろ
たとえばa, b, cの3つの数があるとすると、(a + b + c) / 3てゆうふうに3つの数を足して、
3で割れば平均値出るから、これ参考になる?
858 ◆QZaw55cn4c :2012/09/29(土) 02:21:47.63
>>857
全然。AVLは人の名前からですよ〜
http://en.wikipedia.org/wiki/AVL_tree
859デフォルトの名無しさん:2012/09/29(土) 02:21:50.19
a + b = cを満たすような、互いに素な自然数の三つ組 (a,b,c) に対し、積abc の互いに異なる素因数の積を d と表記する。
このとき、任意の実数 ε > 0 に対して、c?>?d?(1+ε)となるような三つ組 (a,b,c) は高々有限個しか存在しない
ってことだよな。
860デフォルトの名無しさん:2012/09/29(土) 02:28:26.73
>>859
そう、それ、俺もそれが言いたかった、そういうこと、大体あってる。

>>858
ほいで、いまはどういう実装の仕方してる? 左右の木の高さの差を求めて平衡していないことを調べるやり方と、
左右どちらに傾いているかというラベルを枝に持たせるやり方があるだろ、どっちのやり方でやってる?
861デフォルトの名無しさん:2012/09/29(土) 03:03:39.02
あれ? QZが逃げ出したw 他人から教えられるのは大事な大事なプライドが傷つくのだろうか、ガハハ
862 ◆QZaw55cn4c :2012/09/29(土) 03:17:14.92
>>860
>左右どちらに傾いているかというラベルを枝に持たせるやり方
です。
http://hibari.2ch.net/test/read.cgi/tech/1301553333/520
http://hibari.2ch.net/test/read.cgi/tech/1301553333/629
http://ideone.com/ujGUY
863 ◆QZaw55cn4c :2012/09/29(土) 03:18:05.20
>>861
一年以上も前で探すのにちょっと手間取りました。すみません。
864デフォルトの名無しさん:2012/09/29(土) 03:19:59.57
>>863
そんな前なのかよ、ちょっとまってろ精査してやんよ
865 ◆QZaw55cn4c :2012/09/29(土) 03:20:58.65
>>864
すみません、お願いします。
866デフォルトの名無しさん:2012/09/29(土) 04:35:56.02
>>865
なんだ、ほとんどできてんじゃん
一重回転は問題ない
二重回転のところだな

┃if (p2->bal == -1)
┃    (*p)->bal = 1;
┃else
┃    (*p)->bal = 0;
┃if (p2->bal == 1)
┃    p1->bal = 1;
┃else
┃    p1->bal = 0;

p2とpは同じ一番上のノードを指している。

if ((*p)->bal == -1) {
    (*p)->left->bal = 0;
    (*p)->right->bal = 1;
} else {
    (*p)->left->bal = -1;
    (*p)->right->bal = 0;
}

こう変えれば完成だな
867デフォルトの名無しさん:2012/09/29(土) 04:51:41.62
AVL木についてまじめに勉強したいならぐぐってばかりいないでセジウィックとかロバート・クルーズ
の本を読めよな

あ、買う金ないのか
868 ◆QZaw55cn4c :2012/09/29(土) 05:07:19.47
>>866
ありがとうございます。調べます。
869 ◆QZaw55cn4c :2012/09/29(土) 05:19:48.29
>>867
セジウィック http://www.amazon.co.jp/dp/4764902222
は目次をみるかぎりよさそうですね。赤黒木の分量はどれくらいあります?本命はこちらなんですが手も足もでない。
ご紹介ありがとうございました。

>買う金ないのか
無職説があー広まってますね、例によって肯定も否定もしませんが。
870デフォルトの名無しさん:2012/09/29(土) 05:49:26.48
セジウィックのは赤黒木で9ページ、ロバート・クルーズのはAVL木で18ページあるな

ロバート・クルーズのは絶版じゃん
ISBN4-89471-331-4

まだISBN4の時の本か
871デフォルトの名無しさん:2012/09/29(土) 09:40:29.35
かまうなよ。バカが感染するぞ。
872デフォルトの名無しさん:2012/09/29(土) 11:47:37.43
>>792
それじゃだめだよ
873デフォルトの名無しさん:2012/09/29(土) 12:42:55.97
いつからトリヴィアスレになったんだよ
874デフォルトの名無しさん:2012/09/29(土) 13:09:30.22
c言語作った奴ってオブジェクト指向の重要性も分からないバカなのかな
875デフォルトの名無しさん:2012/09/29(土) 13:10:21.30
>>874
そうだね。バカなんじゃないかな
876デフォルトの名無しさん:2012/09/29(土) 13:43:21.20
やっぱりC言語開発した人って、発想に乏しい人なのかな?
877デフォルトの名無しさん:2012/09/29(土) 13:51:04.94
>>876
発想に乏しい人なんだろうね
878デフォルトの名無しさん:2012/09/29(土) 13:56:19.09
やっぱ新しい言語作った人は応用力あるけど、元祖は大した事ないよね
そう考えると昔の言語学者ってバカばっかりなんだろうね
879デフォルトの名無しさん:2012/09/29(土) 13:59:45.91
昔はコンピュターの仕組みが簡単だったから、誰でもエンジニアになれた
時代だったんだろうか
880デフォルトの名無しさん:2012/09/29(土) 14:04:42.49
特にLISPが馬鹿っぽいね
881デフォルトの名無しさん:2012/09/29(土) 14:07:10.63
言語学者とか応用力があるかのように見せかけてる理屈屋だろ
違うか?
882デフォルトの名無しさん:2012/09/29(土) 14:09:25.74
発想力が乏しいからコンピュータ業界に飛び込んだんだろ
883デフォルトの名無しさん:2012/09/29(土) 14:10:55.83
それが給料にも反映してると思う。技術屋はバカだから給料低い。
884デフォルトの名無しさん:2012/09/29(土) 14:11:59.91
ある程度Cの知識があるやつは物知りだなと思う。
ただ執拗に知識があるやつはキチガイだと思う。
885デフォルトの名無しさん:2012/09/29(土) 14:14:49.83
Cプログラマは"知識"はあるが"知恵"が無い典型例
886デフォルトの名無しさん:2012/09/29(土) 14:25:44.49
昔のプログラマというと

ビルゲイツとか
スティーブウォズニアックとか
ラリーエリソンとか
ラリーペイジとか
マークザッカーバーグとかかな。

給料低いかね。
887デフォルトの名無しさん:2012/09/29(土) 14:26:16.86
>>885
C の文法は単純明快かつ書き手優先だが、後方互換性を確保するために、若干だが理由なく複雑なところがあるからねえ
これは途中から入ってきた者には頭でっかちにみえるんだろう
規格も複雑怪奇というほどでもないので、にわか文法学者が説教を垂れるのに我慢できないわけだ

それはそうと使えば使うほど知恵に磨きがかかるプログラミング言語ってなんだろうね
888デフォルトの名無しさん:2012/09/29(土) 14:27:53.91
知恵の輪みたいに絡まってるコード書ける言語じゃね?あ、じゃあCか
889デフォルトの名無しさん:2012/09/29(土) 14:46:17.68
頭でっかちといえば bool がないことにやだじたするガキとかな
890デフォルトの名無しさん:2012/09/29(土) 15:31:23.20
result == TRUE
これに泣く初心者
891デフォルトの名無しさん:2012/09/29(土) 15:50:44.29
TRUE と比較する香具師は池沼
892デフォルトの名無しさん:2012/09/29(土) 17:29:46.17
if(result) {

}
893デフォルトの名無しさん:2012/09/29(土) 17:56:37.77
#define FALSE 0
#define TRUE (FALSE == 0)
#include <stdio.h>

int main(void)
{
  int result = TRUE;

  if(result) {
    printf("result = %d\n", result);
  } else {
    puts("Why?");
  }

  return 0;
}
894デフォルトの名無しさん:2012/09/29(土) 18:07:05.61
#define !0
でいいんだけど問題はソコジャナイからね
895デフォルトの名無しさん:2012/09/29(土) 18:28:26.63
>>894
>#define !0

へ?
896デフォルトの名無しさん:2012/09/29(土) 19:19:55.01
#define TRUE !0
897デフォルトの名無しさん:2012/09/29(土) 20:02:25.79
>>896
1じゃダメなんでしょうか?
文字列終端は'\0'であって0じゃないみたいなもの…、じゃないんだろうなw
898デフォルトの名無しさん:2012/09/29(土) 20:13:25.84
!0 は必ず1になるから、1でもかまわない。

ただ、見た目的にちょっぴりエレガントさを求める人は
#define FALSE 0
#define TRUE !FALSE
みたいにする場合がある。
899897:2012/09/29(土) 21:20:09.06
もしや即値の1より論理条件の1の方が出力コードが短いのでは!?
と思って確認してみましたが以下の検証ソースだと
即値の1(be01000000 mov esi,00000001)を使いまわしてました。
コンパイラと最適化具合によるのでしょうけどね。
#include <stdio.h>
int main(void){
char *mejirusi;
int i;
printf("inputDec >"); scanf("%d", &i);
mejirusi = "tes1:if(i == 1)";
if(i == 1)mejirusi="tes1:true";
printf("%s\n", mejirusi);
mejirusi = "tes2:if(i == !0)";
if(i == !0)mejirusi="tes2:true";
printf("%s\n", mejirusi);
mejirusi = "tes3:if(i != 1)";
if(i != 1)mejirusi="tes3:true";
printf("%s\n", mejirusi);
mejirusi = "tes4:if(i != !0)";
if(i != !0)mejirusi="tes4:true";
printf("%s\n", mejirusi);
return 0;
}
※scanfなど使用せずint i=1;で固定の初期化をするとiが1の場合のcmpが無いコードが出力されました。
 最適化されるんだなぁと思った次第です。
900デフォルトの名無しさん:2012/09/29(土) 21:35:41.63
0が偽
0以外が真
901デフォルトの名無しさん:2012/09/29(土) 21:51:10.37
#define TRUE ~0
902デフォルトの名無しさん:2012/09/29(土) 21:52:05.73
#define TRUE !0
903デフォルトの名無しさん:2012/09/29(土) 22:03:56.35
#define TRUE !FALSE
904デフォルトの名無しさん:2012/09/29(土) 22:04:51.61
#define N 100

ってNが何の変数か分からないのに定義したって意味ないだろ。
こういう所がCの適当なところだよ。氏ね。
905デフォルトの名無しさん:2012/09/29(土) 22:06:05.02
true de falsch
906デフォルトの名無しさん:2012/09/29(土) 22:08:21.49
>>904
頭が悪すぎて本当にかわいそう
907デフォルトの名無しさん:2012/09/29(土) 22:13:42.39
>>904さんの葬儀会場はこちらでしょうか?
908デフォルトの名無しさん:2012/09/29(土) 22:19:46.39
また新手の釣りか
乱数
webときて
お次はクソ心理知か
なるほど手札が尽きないと見える
すばらしい
こういう糞なノウハウだけが溜まりにたまって
ゲロを吐きだしてるさいふうだろ
クセぇから他でやれよ
お前のtwitterでゴボゴボ吐いてろ
909デフォルトの名無しさん:2012/09/29(土) 22:21:37.37
おちんちんもみたいの〜
910デフォルトの名無しさん:2012/09/29(土) 22:23:53.70
お朕々みたいなもの=FALCE
911デフォルトの名無しさん:2012/09/29(土) 22:40:48.99
printfはprintf("文字")なのに
putcharはputchar('文字')の理由は何故ですか?
putcharは二番煎じ関数なのでしょうか?
912デフォルトの名無しさん:2012/09/29(土) 22:44:13.54
うるせー馬鹿
913デフォルトの名無しさん:2012/09/29(土) 22:46:48.77
printfは二番煎じ
のほうが分かりやすいだろ
”ついてんだから
日本語のレトリックからやり直せアホ
その手の知能低い頭で考えてもなおさら分からネーヨ(プ
914デフォルトの名無しさん:2012/09/29(土) 22:53:49.90
(`Д) インターネット、オモシレーなー。ネットゲーム最高だぜぃ。お!レア物ゲトだぁ!

J( 'ー`)し タケシ、パソコンのベンキョウ頑張ってるなー。いい仕事が見つかるといいねー。
      カーチャンも頑張らなきゃ。

(`Д) ・・・・(パソコンの勉強か、そのうちやるよ。今、ギルドの幹部になっちまって忙しい)

J( 'ー`)し タケシ、カーチャン、ちょっと疲れた。肩を揉んでほしい

(`Д) 今、ベンキョウで忙しいんだよ

J( 'ー`)し タケシ、ガンバッテルナー。カーチャン、嬉しい。いい仕事が見つかって、優しい彼女も
      できるよ。

カーチャンの入院

J( 'ー`)し 病院まで10kmもあるのに自転車で見舞いに来るなんて、タケシは親孝行だね。
      パソコン頑張ってるから、自動車も買えるようになるよ。

('A`) ・・・・(カーチャン、俺ホントはゲームしかしてないんだよ。)

915デフォルトの名無しさん:2012/09/29(土) 22:56:58.03
>>914
こうなる前に大手に内定もらえた俺は親孝行もんだな
916デフォルトの名無しさん:2012/09/29(土) 22:57:07.51
>>911
一応マジレスしておく。

文字の出力関数→putchar('a')
文字列の出力関数(但し改行文字も出力する)→puts("a")
成形済み文字列の出力関数→printf("%c", 'a) or printf("%s", "a")
printf()の第一引き数はフォーマット指定文字列なので、そこに出力文字を直接書くのは(馴れない内は)止めた方がいい。
917デフォルトの名無しさん:2012/09/29(土) 22:59:18.13
printf("%c", 'a)
アホだろお前
釣りかよ
何この程度で間違えてんだ?
クソかよ
918デフォルトの名無しさん:2012/09/29(土) 22:59:46.32
コンパイル通らないよな
919デフォルトの名無しさん:2012/09/29(土) 23:06:07.13
マジレスって書いてある
920デフォルトの名無しさん:2012/09/29(土) 23:06:31.99
本気出してこれかよ
921デフォルトの名無しさん:2012/09/29(土) 23:08:25.45
     ____
    /∵∴∵∴\
   /∵∴∵∴∵∴\
  /∵∴∴,(・)(・)∴|
  |∵∵/   ○ \|
  |∵ /  三 | 三 |  / ̄ ̄ ̄ ̄ ̄
  |∵ |   __|__  | < うるせー馬鹿!
   \|   \_/ /  \_____
      \____/
922デフォルトの名無しさん:2012/09/29(土) 23:11:31.92
2ちゃんねるは(馴れない内は)止めた方がいい
の格言通りだな
アホが醜態晒して吠える吠える
止まらないケツ屁みたいにくせぇww
923デフォルトの名無しさん:2012/09/29(土) 23:14:12.74
他人の小さなミスを大きくあげつらうくだらない人間
924デフォルトの名無しさん:2012/09/29(土) 23:19:07.42
この手のケアレスミスやるやつぁー
ホントのクズだなwww
まるで自分が悪くないかのように
「小さいミス」とかwwwww
小さいwww
小さいwwww
ちっさいwwwwwwww
自己便護のカマタリで出来てる
ただのアフォ君だろwwwwwww
くっだらねーのは
この程度で間違うテメェーだよテメェーwwwwwwwwww
プゲララララ♪♪♪♪♪♪♪♪
925デフォルトの名無しさん:2012/09/29(土) 23:23:39.58
またuyか
926デフォルトの名無しさん:2012/09/29(土) 23:44:22.30
ふっほっ
927デフォルトの名無しさん:2012/09/29(土) 23:54:48.81
ndk
928uy:2012/09/30(日) 00:11:35.17
カスしかいねーなここ
929デフォルトの名無しさん:2012/09/30(日) 00:15:41.41
>>928
その選ばれしものたちの頭領こそが
あなた様なのです
930デフォルトの名無しさん:2012/09/30(日) 00:29:06.48
if( a == x && b == 1|| a == y && b == 1|| a == z && b == 1){
処理
}
これを

if(b == 1){
 if( a == x || a == y || a == z ){
 処理
 }
}
これより綺麗に書くことはできないだろうか
931デフォルトの名無しさん:2012/09/30(日) 00:33:12.72
さて
この手の釣りは幾度となく見たぞ
932デフォルトの名無しさん:2012/09/30(日) 00:36:50.78
ベン図書け
それで不可能なものは不可能
933デフォルトの名無しさん:2012/09/30(日) 00:38:29.41
if(b == 1){
 if( a == x ){
 処理
 }
if( a == y ){
 処理
 }
if( a == z ){
 処理
 }
}
934デフォルトの名無しさん:2012/09/30(日) 00:38:39.97
>>930
前者のほうが好きだ。
935デフォルトの名無しさん:2012/09/30(日) 00:40:41.86
if(b == 1){
 if( a == x ){
 処理
 }
}
if(b == 1){
if( a == y ){
 処理
 }
}
if(b == 1){
if( a == z ){
 処理
 }
}
936デフォルトの名無しさん:2012/09/30(日) 00:41:44.64
綺麗だね
937デフォルトの名無しさん:2012/09/30(日) 00:43:46.71
else if が一番無駄な処理がすくないんだよヴォケ
938デフォルトの名無しさん:2012/09/30(日) 00:45:49.47
if(b == 1){
 if( a == x ){
 if(b == 1){
 処理
 }
 }
}
if(b == 1){
 if( a == y ){
 if(b == 1){
 処理
 }
 }
}
if(b == 1){
 if( a == z ){
 if(b == 1){
 処理
 }
 }
}
939デフォルトの名無しさん:2012/09/30(日) 00:49:20.63
無駄かどうかなんか関係ないね。
論点は綺麗さであって個人的な主観が全て。
940デフォルトの名無しさん:2012/09/30(日) 01:09:06.88
if(b == 1) {
  switch(a) {
  case x:
  case y:
  case z:
    処理
    break;
  default:
    break;
  }
}
941デフォルトの名無しさん:2012/09/30(日) 01:45:07.00
#define f(_a) (_a==x || _a==y || _a==z)
if (b==1&&f(a)){
}
#undef f
942デフォルトの名無しさん:2012/09/30(日) 01:49:31.96
if( a_no_tekisetsuna_meishou == x_no_tekisetsuna_meishou && b_no_tekisetsuna_meishou == 1
|| a_no_tekisetsuna_meishou == y_no_tekisetsuna_meishou && b_no_tekisetsuna_meishou == 1
|| a_no_tekisetsuna_meishou == z_no_tekisetsuna_meishou && b_no_tekisetsuna_meishou == 1){
  処理
}
943デフォルトの名無しさん:2012/09/30(日) 01:50:57.77
if( a_no_tekisetsuna_meishou == x_no_tekisetsuna_meishou && b_no_tekisetsuna_meishou == TEKISETSUNA_MEISHOU_NO_MACRO_1
|| a_no_tekisetsuna_meishou == y_no_tekisetsuna_meishou && b_no_tekisetsuna_meishou == TEKISETSUNA_MEISHOU_NO_MACRO_1
|| a_no_tekisetsuna_meishou == z_no_tekisetsuna_meishou && b_no_tekisetsuna_meishou == TEKISETSUNA_MEISHOU_NO_MACRO_1){
  処理
}
944デフォルトの名無しさん:2012/09/30(日) 02:04:32.03
if ((b == 1) && ((a == x) || (a == y) || (a == z))) {
    処理
}
945デフォルトの名無しさん:2012/09/30(日) 02:55:21.30
b^1||a^x&&b^x&&c^x||処理
946デフォルトの名無しさん:2012/09/30(日) 03:07:02.81
>>945
論外
947デフォルトの名無しさん:2012/09/30(日) 03:08:10.29
>>945
ありがとうございました!
948デフォルトの名無しさん:2012/09/30(日) 03:20:32.23
括弧多すぎリスパーかよ
949デフォルトの名無しさん:2012/09/30(日) 03:49:27.70
b^1?0:a^x?a^y?a^z?0:1:1:1||処理
950デフォルトの名無しさん:2012/09/30(日) 07:24:48.97
文字列の扱いについて質問です
あれこれ処理しつつ出た結果を順次文字列に追加するというのはどう書けばいいでしょうか
最終的な文字数がわからないので配列ではなくポインタで宣言して
char *hoge;
hoge="a";
strcat(hoge,"b");
のようにしたいのですができません
10000をこえることは無さそうなのでchar hoge[10000];
とやってもいいんですが美しくないので・・・
951デフォルトの名無しさん:2012/09/30(日) 07:31:10.51
C++のstd:stringとかC++/CLIのStringBuilderを使え
952デフォルトの名無しさん:2012/09/30(日) 07:32:19.09
文字列リテラルを改変するな
追加するなら領域は自分で確保しろ
953デフォルトの名無しさん:2012/09/30(日) 07:36:22.63
できんのかー、不便な言語すな
954デフォルトの名無しさん:2012/09/30(日) 07:37:46.46
*hogeが文字列の連続したメモリ空間の先頭アドレスだと知ってれば
メモリに何が入ってるかわからない状態で後ろにどんどん追加していくのが不可能だと気づくだろう
955デフォルトの名無しさん:2012/09/30(日) 07:37:58.50
大抵は他の言語でもできないけどね
956デフォルトの名無しさん:2012/09/30(日) 07:39:45.21
Python
>>> hoge = "a"
>>> hoge += "b"
>>> hoge
'ab'
957デフォルトの名無しさん:2012/09/30(日) 07:42:17.83
大きいバッファを用意して、一連の処理が終わったらstrdupする手もある
958デフォルトの名無しさん:2012/09/30(日) 07:43:15.83
>>955
いやいや、基本できるだろ。
959デフォルトの名無しさん:2012/09/30(日) 07:45:59.42
何が?
960デフォルトの名無しさん:2012/09/30(日) 07:52:54.60
>>954
char *hoge;時点では領域確保しないでhoge="a";のとき初めて確保するの?
代入した時点で代入された値ぶんだけ格納できる領域に保存してその先頭アドレスを保持するって感じなのかな
C言語むずい
961デフォルトの名無しさん:2012/09/30(日) 07:54:53.04
>>959
文字列の結合が
962デフォルトの名無しさん:2012/09/30(日) 07:57:56.33
>>961
それならCでもできるよ
963デフォルトの名無しさん:2012/09/30(日) 07:59:41.35
>>962
う、うん・・・
964デフォルトの名無しさん:2012/09/30(日) 08:08:11.25
965デフォルトの名無しさん:2012/09/30(日) 08:10:31.74
char hoge[10000];で良いよ
966デフォルトの名無しさん:2012/09/30(日) 10:51:42.30
福島まるごと博だって?
そんな殺人的なことだれが企画した?

行政か。そりゃそうよな。福島から人が、特に子供がいなくなれば、公務員という既得権益が消失するからな‥‥。
現実には、http://fukushima-evacuation-e.blogspot.jp/
(英語でごめん、邦文バージョンは削除されたことからも内容を察してくれ)
967デフォルトの名無しさん:2012/09/30(日) 12:35:04.91
968デフォルトの名無しさん:2012/09/30(日) 13:52:31.00
>>965とか>>967って何なんだよ。終わってんな
969デフォルトの名無しさん:2012/09/30(日) 14:04:01.54
>>964だた
970デフォルトの名無しさん:2012/09/30(日) 15:02:28.64
技術的なノウハウっていうのはネットには出回るもの?
良くわからないんだが。
971デフォルトの名無しさん:2012/09/30(日) 15:06:48.74
ネットに出回っている情報をノウハウと思うか否かというだけであり
多くの情報はノウハウとなりうる
972デフォルトの名無しさん:2012/09/30(日) 15:10:43.95
>>960
そだよ
973デフォルトの名無しさん:2012/09/30(日) 15:22:25.65
>>960
ついでに言うと
char *s1 = "a";
char *s2 = "a";
としたとき、"a"のアドレスは同じ領域のこともあるし、別々に確保されることもある。
if(s1 == s2)で文字判定できると思って、まれに意図したとおりtrueになることもあるから注意が必要な。
974デフォルトの名無しさん:2012/09/30(日) 15:31:27.81
代入した時点じゃなくて最初からあるんだよ。
975デフォルトの名無しさん:2012/09/30(日) 15:47:34.94
ポインタって何のためにあるのか分からない。
変数と実体は一致してないと意味ないだろ。
976デフォルトの名無しさん:2012/09/30(日) 15:53:00.58
>>975
>ポインタって何のためにあるのか分からない。
malloc()/free()、それから関数ポインタのためだ
それ以外に使う奴はそちらのほうがどうかしている

>変数と実体は一致してないと意味ないだろ。
最初は存在しない実体にたいしてはどうする?
977デフォルトの名無しさん:2012/09/30(日) 15:55:13.63
char *str = "hoge";
ってした時"hoge"がヒープ領域に作られて、その先頭アドレスがスタックにつまれるんじゃないっけ
978デフォルトの名無しさん:2012/09/30(日) 15:57:21.63
>>977
おまえ、とりあえず聞いたことがある単語を並べてみただけだろ?
979デフォルトの名無しさん:2012/09/30(日) 15:59:03.07
>>978
違うのか?
じゃあ、説明よろ
980デフォルトの名無しさん:2012/09/30(日) 16:00:37.82
>>975
実体のアドレスを格納する変数だよ
981デフォルトの名無しさん:2012/09/30(日) 16:03:30.22
>>977 >>979
"hoge"はコンパイル時またはリンク時にそのための領域が作成され格納される
つまり"hoge"はプログラム実行前にプログラム自身にすでにふくまれているのだ
プログラム作成時にアドレスは確定しているから(正確にはプログラムのメモリ展開時だけれどもね)
>char *str = "hoge";
に対応するコードは、そのアドレスをスタック上にある str 変数に対応する領域にコピーする
982デフォルトの名無しさん:2012/09/30(日) 16:10:07.12
ttp://yougo.ascii.jp/caltar/%E3%82%B9%E3%83%97%E3%83%BC%E3%83%AA%E3%83%B3%E3%82%B0

データの転送ってメモリから行われるんじゃなくて、HDDから行われるわけ?
良く分からないので教えて下さいませ。
983デフォルトの名無しさん:2012/09/30(日) 16:14:01.97
たぶんそれはプリンタを意識した解説
984デフォルトの名無しさん:2012/09/30(日) 16:17:00.75
>>983
ありがとー
というかHDDって高速なんですか?メモリのほうが高速と聞きましたが
985デフォルトの名無しさん:2012/09/30(日) 16:25:50.11
HDD は、プリンタに比べて高速って言ってるだけ。
986デフォルトの名無しさん:2012/09/30(日) 16:32:55.63
バースト転送したほうが速いって言ってるだけ
987デフォルトの名無しさん:2012/09/30(日) 16:45:26.21
バースト転送ってヒーロー物に出てきそうな名前で中二病の香りがします。
いったい誰が名付けたんですか?
988デフォルトの名無しさん:2012/09/30(日) 16:50:44.44
英語混じりだと中二病て
どんだけ英語耐性低いねん
…と釣られてみる
989デフォルトの名無しさん:2012/09/30(日) 16:55:27.70
>>988
英語だからではありません
990デフォルトの名無しさん:2012/09/30(日) 16:59:40.87
スプーリングは速度じゃなくてスループットを上げるたものものでは
991デフォルトの名無しさん:2012/09/30(日) 17:13:55.55
そういう話をするときに「速度」なんてあいまいな言葉使うなよ…
992デフォルトの名無しさん:2012/09/30(日) 17:14:45.14
..               r'゚'=、
               / ̄`''''"'x、
          ,-=''"`i, ,x'''''''v'" ̄`x,__,,,_
      __,,/    i!        i, ̄\ ` 、
  __x-='"    |   /ヽ      /・l, l,   \ ヽ
 /(        1  i・ ノ       く、ノ |    i  i,
 | i,        {,      ニ  ,    .|    |  i,
 .l,  i,        }   人   ノヽ   |    {   {
  },  '、       T`'''i,  `ー"  \__,/     .}   |
  .} , .,'、       },  `ー--ー'''" /       }   i,
  | ,i_,iJ        `x,    _,,.x="       .|   ,}
  `"            `ー'"          iiJi_,ノ
993デフォルトの名無しさん:2012/09/30(日) 17:31:23.17
         / ̄\
         | ^q^ |
         \_/
         /   ヽ   
        | |   | |
        | |   | |     
        ||   ||
        し|  i |J=二フ
          .|  ||
         | ノ ノ
         .| .| (
         / |\.\ 
         し'   ̄
994デフォルトの名無しさん:2012/09/30(日) 17:36:33.54
うめ
995デフォルトの名無しさん:2012/09/30(日) 17:37:10.19
配列の長さを2の累乗数にすることに意味はありますか?
要素数が絶対に60をこえない配列で
int foo[60]ではなくint foo[64]とする人がよくいるのは気持ちいい悪いの問題?
996デフォルトの名無しさん:2012/09/30(日) 17:39:49.69
要素数にできる整数の最大てのは何だよ
それ考えろよ
997デフォルトの名無しさん:2012/09/30(日) 17:50:57.40
おちんちん
998デフォルトの名無しさん:2012/09/30(日) 17:51:30.42
っはー
999デフォルトの名無しさん:2012/09/30(日) 17:52:05.36
ドナドナ
1000デフォルトの名無しさん:2012/09/30(日) 17:52:32.04
>>995
出荷した後に、61に拡大しろという追加注文をされる事がままあり、
バイナリーパッチで対応するために、予備領域として64までとっておくという事はあった。
cではなかったけど、たぶんcでも似たようなもんじゃないかと思う。
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。