12/12/31 10:42:41.43
>>498
お前破壊的にバカ。こんなバカ久しぶりに見た。そういう事じゃない。www
> >>494
> Tree make_tree(){ return (Tree)malloc(sizeof(struct Tree)); }
> free_tree(Tree *tree){ free(tree); }
503:デフォルトの名無しさん
12/12/31 15:20:00.79
動的二次元配列を0で初期化したいのですがfor
でまわす以外に方法ってなにかあるのでしょうか??
504:デフォルトの名無しさん
12/12/31 15:23:36.68
calloc
505:デフォルトの名無しさん
12/12/31 15:28:00.37
>>503
memset
506:デフォルトの名無しさん
12/12/31 16:02:31.09
優しい奴が多いな。
507:デフォルトの名無しさん
12/12/31 17:02:34.81
エディタ何使って開発してますかー
VisualStudioはどうでもいいので、回答しなくて結構ですよ
508:デフォルトの名無しさん
12/12/31 17:03:23.74
>>502
他人を煽りたいだけだろ
509:デフォルトの名無しさん
12/12/31 17:04:23.68
>>507
emacs,vim
この話終わり
510:デフォルトの名無しさん
12/12/31 17:13:13.38
>>508
微妙に違う。PGの適性の無いバカを煽ってるだけ。
おい、白白。おまえがクソコード撒餌したおかげで記録的なバカが釣れたぞ。
反省文書け。
511:デフォルトの名無しさん
12/12/31 17:19:40.07
>>504
>>505
ありがとうございます
512:デフォルトの名無しさん
12/12/31 17:20:47.70
>>507
漢は黙ってcat
513:デフォルトの名無しさん
12/12/31 17:23:45.87
>>510
>>492の解説は?
514:デフォルトの名無しさん
12/12/31 17:32:31.81
ああ、>>488から>>497までか
515:デフォルトの名無しさん
12/12/31 17:39:19.61
>>488と>>492は別人だ。
解説が必要なバカも同罪。わかるまで考えて遺書か辞表か反省文書け。
しかもおせっかいな通りすがりがヒント出してるのに。
516:デフォルトの名無しさん
12/12/31 17:43:23.85
malloc,freeの直書きが気持ち悪くてつい
517:デフォルトの名無しさん
12/12/31 17:46:09.12
優越感に浸っちゃってるつもりなんだろうな、かわいそうな人
518:デフォルトの名無しさん
12/12/31 17:46:12.29
その程度じゃ「PGの適性が無いバカ」とまでは罵らねーよ。
519:デフォルトの名無しさん
12/12/31 17:46:49.60
普通は関数マクロでメモリ取るよね?
520:デフォルトの名無しさん
12/12/31 17:49:13.17
>>517
適性の無いバカは哀れだねえ。気づいて無いのは白白と>>498の二人だけだろうな。
521:デフォルトの名無しさん
12/12/31 17:50:26.77
日常的にcなんて触るもんじゃないし
522:デフォルトの名無しさん
12/12/31 17:50:50.42
具体的に書けないのは、指摘され返されたら面目丸つぶれだからなの?
523:デフォルトの名無しさん
12/12/31 17:52:12.74
三人ぐらい居てカオス
524:デフォルトの名無しさん
12/12/31 17:52:17.78
>>518
まず罵ろうというのがおかしくね?
幼少時代になんかあったの?
525:デフォルトの名無しさん
12/12/31 17:54:54.79
だいたいみんな、興味を持ち出して、BSD付属のコマンドを覗いたぐらいから、
大学を卒業してM$AccessやPHPで仕事をする
526:デフォルトの名無しさん
12/12/31 17:57:08.87
>>524
さあ、なんでだろうね。わからないけどバカみると吐き気がする。
527:デフォルトの名無しさん
12/12/31 17:59:53.30
今日日、cで仕事をしようなんて、大体は幼少時代に何かあった人たち
528:デフォルトの名無しさん
12/12/31 18:01:58.14
typedef struct Hoge *Hoge;ってどっかの流派であるの?
C++に慣れた頭からすると、C++だとstruct HogeはHogeという型名でもアクセスできるから、混乱しそうだなとは思うんだけど。
529:デフォルトの名無しさん
12/12/31 18:04:43.64
cじゃ変数定義するときにstruct付けないとエラー出るよ
gccないの?
530:デフォルトの名無しさん
12/12/31 18:05:11.20
確かに俺も混乱しそうだと思う
初めてパッと見たときに勘違いする
というのはわかるが、>>515には何がダメなのか解説してほしい
typedefが理解できてないだけなんじゃないか?
531:デフォルトの名無しさん
12/12/31 18:21:52.65
はあ? 気持ち悪いtypedefだがそんな事で罵っていない。
>>488は引用が一行足りないので、もしかするとそれで煽ってたのかもしれないが、
>>492みて疑問を持たないバカは死んだ方がいい。
>>492
> Tree tree = malloc(sizeof(struct Tree));
> Tree_add(tree, 3);
532:デフォルトの名無しさん
12/12/31 18:22:19.90
アマチュアはプロジェクトに沿ったコーディング規約を使えば良い
自動車業界なんかだと、MISRA-cなり規格やら検査ツールがあるらしい
きっと、年末年始や土日祝日も開発室に篭って仕事なんだろう
533:デフォルトの名無しさん
12/12/31 18:22:55.93
>>519
どんな普通?
534:デフォルトの名無しさん
12/12/31 18:24:22.45
>>533
BSDなり、メモリ確保するあたり
あんなの幼少時に何かあった人たちだよ
計算機に育てられたか、計算機の中で生まれたか
535:デフォルトの名無しさん
12/12/31 18:25:12.32
レビューの達人を召喚しよう。w
スレリンク(tech板:420番) 出てきて指摘してやれよ。
536:デフォルトの名無しさん
12/12/31 18:29:39.44
>>531
具体的にコードで指摘してみろよ、バーカww
537:デフォルトの名無しさん
12/12/31 18:35:14.00
やなこった。悔しいかバカ。w
538:デフォルトの名無しさん
12/12/31 18:36:47.84
自信がないからできないだけ
539:デフォルトの名無しさん
12/12/31 18:40:32.84
>>533
#define MALLOCしとくとメモリアロケータをごっそり入れ替える事が容易。
ツールキットによっては独自のメモリアロケータ使う事が必要な場合もあるので、
オープンソースな開発ではかなり普通に使われているテクニック。
540:デフォルトの名無しさん
12/12/31 18:44:40.49
>>538
うんこQzが得意とする炎上学習法。ww
「コードコード」と必死に連呼するさまもQzそのもの。
というわけで、修正
> 適性の無いバカは哀れだねえ。気づいて無いのは白白と>>498とバカのQzの三人だけだろうな。
541:デフォルトの名無しさん
12/12/31 18:54:22.84
自 信 が な い の で で き ま せ ん
542:デフォルトの名無しさん
12/12/31 18:56:16.99
悔しそうだな。バカ。
白白が気付いて反省文書くまでまってろ。w
543:デフォルトの名無しさん
12/12/31 18:58:26.12
意訳:自信がないのでできません
544:デフォルトの名無しさん
12/12/31 19:00:02.87
意訳: バカでわからないので教えてください。
545:デフォルトの名無しさん
12/12/31 19:01:36.95
意訳:バカなので答えることができません
546:デフォルトの名無しさん
12/12/31 19:02:33.84
バカなので句点の後に草を生やしてしまいます
547:デフォルトの名無しさん
12/12/31 19:11:35.86
桃白白ってただの無知な初心者だったのか
コテハン使うくらいだからそれなりに骨のある奴かと思ってたわ
548:デフォルトの名無しさん
12/12/31 19:28:40.38
意訳: バカでわからないので教えてください。
549:デフォルトの名無しさん
12/12/31 19:47:40.78
意訳:バカですが恥ずかしいコードを晒すことは何があっても回避します
550:デフォルトの名無しさん
12/12/31 19:51:32.31
意訳: 無知でバカなので>>483のようなウンコードも平気で晒します。
見た瞬間めまいがしてすぐに閉じた。w
551:デフォルトの名無しさん
12/12/31 19:54:38.85
意訳:バカなのでコテハンの存在が疎ましく難癖つけて憂さを晴らします
552:デフォルトの名無しさん
12/12/31 19:56:41.71
バカなので肥溜めに自ら入り込んでしまいます
553:デフォルトの名無しさん
12/12/31 20:03:45.18
バカなのでQzと同じ土俵に立っていることがまるで理解できていません
554: ◆QZaw55cn4c
12/12/31 20:06:13.63
>>550
ごめんね
気づけのお薬あげる、よく利くよ つURLリンク(upload.wikimedia.org)
555:デフォルトの名無しさん
12/12/31 20:31:52.72
Qzじゃ無いとしても、コードコードと騒ぐ炎上学習法を真似て実践するクズだから、
こんな簡単な事も気づけないんだろうな。惨めすぎる。
白白はとっとと反省文書くように。その他のQzを含む気付けないバカ共は遺書を書け。
556:デフォルトの名無しさん
12/12/31 20:36:49.86
自称霊感が強い、なので他の人には見えないものが見えてしまいます
557:デフォルトの名無しさん
12/12/31 20:52:24.83
>>482だけじゃバカにはわからないらしいからもう少しヒントをやろう。
これがおかしいコードだと気づけないバカは年越さずに死ね。
> Tree tree = malloc(sizeof(struct Tree));
> Tree_add(tree, 3);
> Tree_add(tree, 1);
558:デフォルトの名無しさん
12/12/31 20:56:34.63
何でこんなに荒れるんやろねぇ
まぁ何にしろ書き込んでるのはひとりやろけどね
559:デフォルトの名無しさん
12/12/31 21:04:45.51
バカが分をわきまえればいい。
560:デフォルトの名無しさん
12/12/31 21:05:55.30
>>488あたりから自演がひどい
561:デフォルトの名無しさん
12/12/31 21:13:35.26
オレ(>>492)は>>488じゃないわけだが。自演に見えるのはバカの証拠。
でも、教えてもらったらきっと死にたくなるよ。えれー基本的な事だから。
こんなバカどものウンココードで世の中は動いてるんだろうと想像すると
こっちが死にたくなってくるけどな。
562:デフォルトの名無しさん
12/12/31 21:15:34.52
>>557
563:デフォルトの名無しさん
12/12/31 21:15:42.04
> こんな××どもの×××コードで某巨大掲示板は動いてるんだろうと想像すると
> こっちが死にたくなってくるけどな。
564:デフォルトの名無しさん
12/12/31 21:16:58.26
>>561
とっとと思いを遂げろ
自意識過剰のバカ
565:デフォルトの名無しさん
12/12/31 21:18:33.99
>>561
くだらないやり取りを、自演という表現に換えただけですよ。
566:デフォルトの名無しさん
12/12/31 21:21:04.32
>>557で気付かないバカは分をわきまえた方が生きやすいぞ。
567:デフォルトの名無しさん
12/12/31 21:22:36.54
入門編スレで息巻く先輩、マジパネーっす
568:デフォルトの名無しさん
12/12/31 21:29:06.64
入門者が質問するスレであって、バカが答えるスレじゃ無いわけだ。
569:デフォルトの名無しさん
12/12/31 21:36:00.25
答えないやつがなに偉そうに言ってんの?って感じ
570:デフォルトの名無しさん
12/12/31 21:37:47.54
×答えない
○答えられない
571:デフォルトの名無しさん
12/12/31 21:45:15.59
自称回答者のバカには教えてやらない。
572:桃白白
12/12/31 21:50:35.76
>>528
typedef struct Hoge *Hogeの流派はないんじゃね。すくなくとも桃白白は
同じことをする人を知らない。マジでかーやめたほうがいいのか。
C++だとtypedefでどんな名前にしちゃうの?
573:デフォルトの名無しさん
12/12/31 21:51:43.85
マジカッケーっすww
ところでわりんすけどタバコ買ってきてもらえません?
574:デフォルトの名無しさん
12/12/31 22:06:11.68
int **matrix;
matrix = (int **)calloc(gyo,sizeof(int));
if (matrix==NULL){
exit(1);
}
for (i=0; i<gyo; i++) {
matrix[i] = (int *)calloc(retu,sizeof(int));
if (matrix[i]==NULL)
{
exit(1);
}}
すみません、これなんですが、
callocで配列は確保できているみたいなのですが
ところどころ(5こおきに等)0になりません
間違いをおしえてくださいmm
575:デフォルトの名無しさん
12/12/31 22:12:57.28
>>574
もしかして
sizeof(int) != sizeof(int*)
576:デフォルトの名無しさん
12/12/31 22:15:33.35
>>572
構造体とそれへのポインタを同じ名前にするとかキチガイ沙汰。
とっとと>>557で指摘されてるのなおして反省文書くように。
バカ共が必死で答えを待ってるぞ。
577:デフォルトの名無しさん
12/12/31 22:23:42.95
キチがキチと呼ぶ
578:デフォルトの名無しさん
12/12/31 22:27:22.17
>>576
変数じゃねえだろ型にtypedefしてるだけだ
579:デフォルトの名無しさん
12/12/31 22:33:58.00
>>575
すみません(int*)って何をあらわしてるんですか??
とりあえずsizeof(int) == sizeof(int*)でした
580:デフォルトの名無しさん
12/12/31 22:44:27.57
>>578
更にわかってないバカが参入
581:デフォルトの名無しさん
12/12/31 23:03:05.22
キャストもわからないんじゃ、入門書を3冊ぐらい読んでから
またくるんだね。
582:デフォルトの名無しさん
12/12/31 23:07:45.20
>>580
Cの規格書読み直せバカ
あ、読んでねえからそんな発言がでんだな
583:574
12/12/31 23:44:20.84
>>581
sizeof(int *)
今までわからずにつかってましたが、というかつかってないが
後ろの部分ってキャストだったんですね
(int **)calloc
の(int **)もよくわかりません、**ってのが特にわかりません
どうかおしえてください
584:デフォルトの名無しさん
12/12/31 23:46:15.74
sizeof はキャストじゃないっぺ。
585:デフォルトの名無しさん
12/12/31 23:55:19.30
>>582
お前がバカって事は良くわかってるから、そんなに必死でアピールしなくてもいい。
もうすぐ年越すけどやっぱりわからないんだろ。さすがバカ。wwww
586:デフォルトの名無しさん
12/12/31 23:55:46.00
>>574
再現する最小構成のソースを貼ってくださいと何度言わせれば
おそらくmatrixへのアクセスミスだろうとエスパーしてみた
5個おきではないので違うっぽいけど
URLリンク(codepad.org)
>>583
int**は読んでそのまま、intへのポインタへのポインタ。でっていう。
ポインタはCで挫折しやすい所だから、まずはしっかり勉強した方がいい。
ここで一から聞くのではなく、図などで分かりやすく説明してるサイトで勉強して、
そのうえで分からない所をここで聞け。
キャストなども同じ。基礎を勉強しないでノリでサンプル動かしてる感じかい?
587:574
12/12/31 23:59:06.50
>>584
ですよねー
sizeof(int *)
は(int *)のサイズ求めてるだけですよねー;
もしかして581って違う人にいってたとしたらはずいな;
588:574
13/01/01 00:04:44.35
>>586
ありがとうございます、すいません
はろうとしたのですが、なんか忍者修行中で、リンクはれませんでした;;
ですね。勉強します。
苦しんで覚えるC言語入門(サイト)
は一通りしました。
やり方ググッてとりつけてるかんじです。
589:574
13/01/01 00:08:23.66
URLリンク(codepad.org)
590:574
13/01/01 00:09:35.95
すみません、OTZはれましたOTZ
591:デフォルトの名無しさん
13/01/01 00:10:48.30
最新のヴァkはh抜かすのもできねーのかよ
592: ◆QZaw55cn4c
13/01/01 00:12:39.43
>>572
やりたいことは理解したつもりです。結論からいうと、>>484 のまずいところは以下の2点
1) malloc() して得た領域が 0 クリアされていることを仮定している。
> Tree tree = malloc(sizeof(struct Tree));
の直後に
> Tree_add(tree, 3);
をおいてしまっている。たぶん、c++/java のコンストラクタにあたるものを C にするときに書き落としてしまっているかと。
2) malloc() の帰り値はチェックしたほうがいいんじゃないかな?
>typedef struct Hoge *Hoge
名前空間が違うからねえ可能といえば可能だけれども。もう C++/java 的な考え方に染まっておられるんですね。
確かに非再帰に書けばスタックオーバーフローの恐怖からは逃れられるけれども、この問題の場合も私ならば再帰的に書いてしまう。
URLリンク(ideone.com)
木構造は再帰的ゆえに木構造を扱うアルゴリズムも再帰的に書いて楽をしたくなってしまいます。
スタックオーバーフローは別の手段で回避しようかと、リンク時にスタックサイズを指定したり、ああ、最近 AVL 木を添削してもらったのでぼちぼち使い始めています。
あけおめ!
593: ◆QZaw55cn4c
13/01/01 00:25:38.57
>>539
なるほどねえ、現に私ことQZも早々とアロケータはデバッグのための自前物にしちゃってるからねえ、オープンソースものに参加するのもいいかもしれませんね。
594:574
13/01/01 00:30:39.17
591
最近のバカはその後httまで抜かすも戻るを押し書き込んだ模様です
595:デフォルトの名無しさん
13/01/01 00:40:29.53
h抜かす必要ないのに
596:桃白白
13/01/01 00:45:04.73
>>592
rootにNULLを入れるのが抜けてるってことね。
mallocのNULLチェックは質問の本旨と関係ないから省いた。
AVL木の添削したのはじつは桃白白だったりしちゃうんだけど、削除の方はできた?
597:デフォルトの名無しさん
13/01/01 00:53:33.69
>>596
その節はありがとうございます。:-)
今のところはうまくいっているようですが、まだ自分で再構成できるまでには至っていない、削除ルーチンはまだだし、当分は無理かなあ、まだ怖くて怖くて。
598:桃白白
13/01/01 01:14:25.79
>>597
二分探索木の削除はわかる? AVL木の削除はそれに平衡処理を追加するだけだ。
599: ◆QZaw55cn4c
13/01/01 01:27:29.70
>>598
二分木の削除はOKですが、木回転が一回で終わらないのが今のところの難所になっています。ああ、これは本のサンプルを見たほうがはやいかもしれませんね。
600:桃白白
13/01/01 02:58:17.72
>>599
削除時に回転が必要になるのは左右の木の高さの差が2になったとき。
左右の木の高さの差が2になるのは木の高さが1減ったとき。
木の高さが1減るのは木のバランスがイーブンになったとき。
木のバランスがイーブンになるのは
左に傾いている木の左のノードを削除したとき。
右に傾いている木の右のノードを削除したとき。
木の回転が行われたとき。
木のバランスがイーブンでなかったら木の高さは変わってないわけだから
平衡がとれてるってことでその上のノードでは回転は必要なくなる。
削除時の回転は、回転後にバランスがイーブンになるものと、
回転後にバランスがイーブンにならないものとがある。
分類するとこうなる。
URLリンク(i.imgur.com)
ノードのバランスをチェックすることで左への回転か右への回転かを
わけることができる。子のバランスをチェックすることで一重回転か
二重回転かをわけることができる。一重回転のときは子のバランスを
チェックすることで回転後のバランスをわけることができる。
二重回転のときは孫のバランスをチェックすることで回転後のバランスを
わけることができる。
削除時はパターンが2個増えて、平衡したという判断の仕方が変わるだけ。難しくないっしょ。
601:デフォルトの名無しさん
13/01/01 03:15:10.87
>>572
C++の場合、
struct Hoge {
int a;
};
自体が
typedef struct Hoge {
int a;
} Hoge;
相当になる。というかclassとstructがほとんど違いがない。(メンバ変数のデフォルトのアクセス制限の違いだけだったはず)
602:桃白白
13/01/01 03:33:55.52
>>601
なるほどー、桃白白もそう書くことにしようかな。
603:デフォルトの名無しさん
13/01/01 08:29:15.39
> rootにNULLを入れるのが抜けてるってことね。
年を越したらようやく正解が出てたか。 白白は反省文書くように。Stackも同様。
こんな簡単な事を恥ずかしくないコード出せとか必死で煽ってたバカは死にたくなっただろう。
もう死んだ? >>549とか >>549とか >>549とか >>549とか
まぐれで動くこともあるから、普通にレビューの経験積んでればこの程度の事は一瞥で
わかるようになってるもんだ。
3年以上PGやっててわからなかった奴は才能無いからホームレスに転職しろ。
604: ◆QZaw55cn4c
13/01/01 08:48:08.33
>>603
たしかにこの種のバグはデータ構造を扱うようになると一度は出会う、QZのような馬鹿だと何度も首をかしげることになりますね。
そこで、>>592 に一端を示してもいる「QZアロケータ」では malloc()したあとにランダム値を書き込んで返すという cmalloc() と真逆のことをして早期発見に努めています、本質的な対策にはなっていませんけど。
もっとも最近はめっきりと出会うことはなくなりました。
でも本当は c++ にさっさと移行してコンストラクタをきっちり書くことでしょうね。
>>603 ご指摘感謝アマチュアには身に余る配慮でした。
自然対数の底の展開もなんかやらかしてるのかな?
>>600
子ノードを左右とも持つノードの削除で思考/試行格闘中です。
605:デフォルトの名無しさん
13/01/01 11:20:31.42
>>603
結局おまえば出せずじまいじゃん
ちょろっと晒してドヤ顔してればいいものを
よほど自信がなかったんだろうなwwバーーカ
606: ◆QZaw55cn4c
13/01/01 11:46:20.30
>>605
may be >>477
607:デフォルトの名無しさん
13/01/01 12:46:41.66
>>605
こんな簡単なのでドヤ顔で指摘しろとか、本当にバカって惨め。
>>515でヒントのヒント、そのあとでヒント>>557を出してるのにバカには
わからなかったんだな。吐き気がするほどのバカ、破滅的に頭が悪い。
んじゃ、お年玉代わりにバカ向けにドヤ顔で解説してやる。感謝しろよ。バカ。
>>515の「おせっかいな通りすがり」とは彼ら(>>503-505)
-------------------------------------
>>503
> 動的二次元配列を0で初期化したいのですがfor
> でまわす以外に方法ってなにかあるのでしょうか??
>>504
> calloc
>>505
> >>503
> memset
-------------------------------------
続いて>>557の解説
mallocの後の領域初期化は要注意ポイント。
それをいきなりTree_addに渡している。Tree_addの引用が一行だけなら
Tree_addで初期化する可能性も否定できないが、2行引用すればバグであること
が明らかにになる。
> Tree tree = malloc(sizeof(struct Tree));
> Tree_add(tree, 3);
> Tree_add(tree, 1);
608:デフォルトの名無しさん
13/01/01 12:58:18.38
ふーん
609:デフォルトの名無しさん
13/01/01 14:03:48.62
>>607
解説っつーか、バカだの死ねだの発言が問題なわけですがそれは理解できてるんですか?
610:デフォルトの名無しさん
13/01/01 14:26:29.35
バカにバカといって何が悪い。
611:デフォルトの名無しさん
13/01/01 14:26:49.59
うん
612:デフォルトの名無しさん
13/01/01 14:32:48.84
なんでこう回りくどい人なんだろ
613:デフォルトの名無しさん
13/01/01 14:56:58.50
バカって言われたくなければ、自分の順位を正しくはかる事だ。
614:デフォルトの名無しさん
13/01/01 15:01:27.84
正月くらい美しく過ごしなさいな
615:デフォルトの名無しさん
13/01/01 15:16:38.98
>>613
普段どんな惨めな生活を送ってるんですか?
よほどでなければこうまでねじ曲がらないと思うんですけど?
616:デフォルトの名無しさん
13/01/01 15:48:41.85
バカと言われたのがそんなに悔しいなら、最初から出しゃばらなきゃ良かったんだよ。
お前のようなバカは、自分のバカさを認識して分をわきまえた方が生きやすいと思うぞ。
617:デフォルトの名無しさん
13/01/01 16:04:11.22
マァその小さすぎる梅干し程度の脳味噌じゃ自前で認識できないようだから
有難くも私がお前はバカだアホだマヌケだと懇切丁寧に教えてやっているんだがな
カネとってもいいくらいだ
618:デフォルトの名無しさん
13/01/01 16:17:58.12
こんな底辺スレで何をそんなに大きく出ちゃってるんだこのバカは
実生活でのストレスやらはこんなところくらいでしか発散させられないほどのバカなんだろうな
619:デフォルトの名無しさん
13/01/01 16:26:43.13
>>618
底辺PGなんてそんなものだ
察してやろうぜ
620:デフォルトの名無しさん
13/01/01 16:26:55.50
>>618
>>615
621:デフォルトの名無しさん
13/01/01 16:27:09.76
争いは、同じレベルの者同士でしか発生しない
622:デフォルトの名無しさん
13/01/01 16:47:42.38
まあこれで少しは懲りたでしょうな
623:デフォルトの名無しさん
13/01/01 16:50:05.51
「バカだの死ねだの発言が問題」とかいいながらバカを連発して回りくどいバカだな。
624:デフォルトの名無しさん
13/01/01 16:50:51.95
すいません。
ビットマップ画像に、アルファベット、ひらがな、カタカナ、数字、記号を入れて、
指定した文字を画面に描画する処理を作っているんですが、
if分の分岐が100を超えてしまうと、VCがコンパイルエラー表示してしまいます。
if分の分岐を使わずに、指定した文字の座標をセットするにはどうしたらいいでしょうか
625:デフォルトの名無しさん
13/01/01 16:52:01.88
>>623
バカ認定してる相手にバカって言われてそんなに悔しいの?www
だったら最初からかみついてくるんじゃねーよバーーーカww
626:デフォルトの名無しさん
13/01/01 16:53:21.45
その分岐の一部を貼ってみなよ。
627:デフォルトの名無しさん
13/01/01 16:53:52.77
>>624
後学のためその力作のソースを是非とも見てみたいから
ideoneとかにうpしてくれると
新年から討論の種が増えてわたくしはうれしいので
是非ともうpしてちょーだい
628:デフォルトの名無しさん
13/01/01 17:00:55.69
if分岐使わないって、関数ポインタの配列によるテーブル化のこと指してるのかな?
629:デフォルトの名無しさん
13/01/01 17:01:17.32
>>625
そんなに頭が悪くて生きているのつらくないか? バカだからそれすらないのか。
自然はうまくできてるな。
630:デフォルトの名無しさん
13/01/01 17:01:49.89
いや、普通にこういうのが並んでるだけだけど。
if (strcmp(c_jp, "あ") == 0){ pos->src.x = CHAR_SIZE*0; pos->src.y = CHAR_SIZE*0; }
else if(strcmp(c_jp, "い") == 0){ pos->src.x = CHAR_SIZE*1; pos->src.y = CHAR_SIZE*0; }
else if(strcmp(c_jp, ":") == 0){ pos->src.x = CHAR_SIZE*20; pos->src.y = CHAR_SIZE*2; }
else if(strcmp(c_jp, " ") == 0){ pos->src.x = CHAR_SIZE*21; pos->src.y = CHAR_SIZE*2; }
else if(strcmp(c_jp, "「") == 0){ pos->src.x = CHAR_SIZE*22; pos->src.y = CHAR_SIZE*2; }
if (c == 'a'){ pos->src.x = CHAR_SIZE*10; pos->src.y = 0; }
else if(c == 'b'){ pos->src.x = CHAR_SIZE*11; pos->src.y = 0; }
else if(c == 'c'){ pos->src.x = CHAR_SIZE*12; pos->src.y = 0; }
else if(c == 'd'){ pos->src.x = CHAR_SIZE*13; pos->src.y = 0; }
631:デフォルトの名無しさん
13/01/01 17:05:10.14
なんつーかこう、isascii()とか文字コード判定処理を使おうという
知能は働かないのかね。
632:デフォルトの名無しさん
13/01/01 17:05:10.48
#define NCHARTYPE 128
typedef void (*funcp)();
void str_a();
int main(){
funcp str_tbl[NCHARTYPE];
str_tbl['a']=str_a();
}
こんな感じのコードを書きたいけど、書けない学部生なら昔見た
633:デフォルトの名無しさん
13/01/01 17:05:29.22
>>629
>>629
634:デフォルトの名無しさん
13/01/01 17:09:28.56
data = array[あ];
ってやるとdataに"あ"のX座標とY座標が入るみたいなイメージ。
STLのマップとかでできないですかね
635:デフォルトの名無しさん
13/01/01 17:10:22.19
stlのmapでやれよ
cでやるならhash関数ぐらい自分で書け
636:デフォルトの名無しさん
13/01/01 17:12:14.00
stlのマップのキー値ってchar* の文字列でもいいんでしたっけ
637:デフォルトの名無しさん
13/01/01 17:12:54.45
C言語にSTLは無いのでできません
638:デフォルトの名無しさん
13/01/01 17:15:50.85
>>637
cstlってライブラリならあります。glibとか基本的なデータ構造は用意されてます
>>634
それって、構造体ポインタの配列(hash)じゃないの?
639:デフォルトの名無しさん
13/01/01 17:16:27.63
>>630
普通は
"あ" -> 0, "い" -> 1
'a' -> 10, 'b' -> 11
を計算で求める。でも、計算式を考えるのが嫌だったら。
↓こういう関数作れば解決。
int z(const char *c_jp)
{
if(strcmp(c_jp, "あ") == 0){ return 0;}
if(strcmp(c_jp, "い") == 0){ return 1;}
}
int e(char c)
{
if(c == 'a'){ return 10;}
if(c == 'b'){ return 11;}
}
640:デフォルトの名無しさん
13/01/01 17:19:55.54
計算結果求めるのに結局if文がいっぱい並ぶじゃないすか
641:デフォルトの名無しさん
13/01/01 17:21:15.01
elseでつないでいるから複雑すぎると言ってコンパイラが降参する。
if () return v;
これの連続だけなら楽勝で通る。
642:デフォルトの名無しさん
13/01/01 17:23:47.63
もっとかっこいいやつがいいです
643:デフォルトの名無しさん
13/01/01 17:24:23.86
{ pos->src.x = CHAR_SIZE*11; pos->src.y = 0;}
この部分、関数かマクロで纏めろよ
644:デフォルトの名無しさん
13/01/01 17:27:46.87
>>642
if () return v;
をうまく配置して格好いい絵でも書けよ。
645:デフォルトの名無しさん
13/01/01 17:30:49.14
>>630
21世紀型プログラミングの真髄を垣間見た
これこそが今の時代に求められるC言語の使い方だ
わたくしはこれ以上この美しいソースを書きかえることなんてできない
646:デフォルトの名無しさん
13/01/01 17:31:05.49
>>633
おまえさー、スゲー簡単な答えかもしれないって事を考えずにコードコードと煽ってたのか?
スゲー簡単な答えが出てきたら(実際出てきちゃったんだが)どうするつもりだったんだ?
バカの思考回路は良くわからないな。
647:デフォルトの名無しさん
13/01/01 17:34:58.94
>>646
そうじゃなくて、煽ることばかりのお前の態度を指摘していたんだよ(最初から
それが読み取れないのはバカだから?日本人じゃないから?
648:デフォルトの名無しさん
13/01/01 17:35:11.24
int hash(const char *cp){
if () return z();
if () return e();
return -1;
}
#define INSERT(a,b,c)
Foo hash_tbl[]={
INSERT(hash("あ")),
INSERT(hash("い")),
...
}
アイディアだけ書く
649:デフォルトの名無しさん
13/01/01 17:36:33.78
C++スレへ行ってSTLの使い方聞くだけでいい
650:デフォルトの名無しさん
13/01/01 17:37:56.14
>>649
このぐらいならSTLなんてイラナイだろ
651:デフォルトの名無しさん
13/01/01 17:39:47.57
>>647
それに対抗するために煽り返していたのか。バカの後付けの言い訳は見苦しすぎる。
足りない頭で必死に考えて、そんな回答ないと確信して煽ってたんだろうな。
バカすぎwww
652:デフォルトの名無しさん
13/01/01 17:40:23.36
この半角のおっさんここにもいるのかwwww
うかうかしてらんねーな
653:デフォルトの名無しさん
13/01/01 17:43:11.44
>>650
STL使えるVC++でSTLを避ける意味はない。
654:デフォルトの名無しさん
13/01/01 17:43:27.03
>>650
STLはこのくらいのものばかりだよ
655:デフォルトの名無しさん
13/01/01 17:43:46.71
>>651
>そんな回答ないと確信して
ここら辺がバカすぎ
全く理解できてない
あるかないかは関係ないだろwww
656:デフォルトの名無しさん
13/01/01 17:45:12.94
C++スレ池
657:デフォルトの名無しさん
13/01/01 17:45:24.81
>>653
ひょっとすると、visual studioでgnuへ貢献しようとしてるかもしれないだろ
658:デフォルトの名無しさん
13/01/01 17:53:35.33
gnuへ貢献ってstl使っちゃいかんの?
659:デフォルトの名無しさん
13/01/01 17:57:52.64
>>655
つまり、気に入らない態度に対して同じ態度で煽り返していたと。バカ丸出しwww
バカは後付けで言い訳考えない方がいいぞ。
660:デフォルトの名無しさん
13/01/01 17:59:15.68
基本的にcで書ける人の方が多いからcで書けってRMSが唱えてたよ
いろんな分野の混じったとき、c++が読めない人も居るからとかなんとか
論文だか草稿だかならみた記憶ならあるけれど
661:デフォルトの名無しさん
13/01/01 18:02:25.55
とかいいつつ、 gcc は c++ で書き直されたんだよな。
662:デフォルトの名無しさん
13/01/01 18:06:35.59
>>661
スラド民の誰かが、中の人が中二病起こしたって書いてたな
技術的な詳細なんてシラネ。そんな人間がこの板を通り掛かるわけもないだろうし
663:デフォルトの名無しさん
13/01/01 18:07:29.44
>>659
同じことをしてやればさすがに理解できるだろうからだよwww
分かったかバカwwwww
しかし、バカにバカって言って何が面白いのか
664:デフォルトの名無しさん
13/01/01 18:10:21.92
if ()
else if()
else if()
...
が、どのくらいいけるか試してみた。VC++ 500行OK, 700行はだめ。
clang, gccは10000行でもOK
VC++ 弱すぎ。
665:デフォルトの名無しさん
13/01/01 18:13:09.74
>>663
残念ながらバカにバカといわれても全然平気。
それより気に入らない態度を自分が真似できる神経を尊敬する。バカってある意味最強だな。
666:デフォルトの名無しさん
13/01/01 18:15:42.51
>>665
これが部下なら鉄拳制裁してやれるのにな
667:デフォルトの名無しさん
13/01/01 18:18:51.68
やられたら手段を選ばずやり返すって、日本人のメンタリティじゃないよね。
668:デフォルトの名無しさん
13/01/01 18:22:37.78
>>665
バカと言われるのは平気と言いながらもレスを絶やすのはできないほど高いプライドをお持ちのようでwwww
669:デフォルトの名無しさん
13/01/01 18:23:29.49
バカの正体は多分↓これだな。これをバカにされたのを粘着してたのか。読み返してみてもバカすぎる。www
From: [498] デフォルトの名無しさん <sage>
Date: 2012/12/31(月) 10:26:26.81
>>491
typedefしないと、変数を定義する際にイチイチstructって書かないとダメだろ
>>494
Tree make_tree(){ return (Tree)malloc(sizeof(struct Tree)); }
free_tree(Tree *tree){ free(tree); }
670:デフォルトの名無しさん
13/01/01 18:23:42.01
息を吐くようにバカバカ連呼できるのは半島人だからか
671:デフォルトの名無しさん
13/01/01 18:25:48.21
うん。相手には、何も言い返すことなくデスクに座って集中している頃合を見計らって、
背後から忍び寄り、後頭部に手を置いて、そのままディスプレイに叩きつけるよ
672:デフォルトの名無しさん
13/01/01 18:26:36.97
>>669
全然、違うよw
673:デフォルトの名無しさん
13/01/01 18:27:27.56
>>668
お前ほどのとびっきりのバカはめったにいないからな。
674:デフォルトの名無しさん
13/01/01 18:30:22.43
>>673
逆にお前のような奴はどこぞの半島に腐るほどいるんだよな
675:デフォルトの名無しさん
13/01/01 18:36:14.06
どっちも小学生の喧嘩レベルになってるぞ
676:デフォルトの名無しさん
13/01/01 18:37:18.61
自分の気に入らない態度に対して同じ方法で煽り返したお前が朝鮮人だろうと言っているんだが。
677:デフォルトの名無しさん
13/01/01 18:38:55.24
今、何人居るんだ?3~5人ぐらい?w
678:デフォルトの名無しさん
13/01/01 18:40:31.37
>>675
まあしょうがないよ。↓こういう下等な人間もどきなんだから。
> 同じことをしてやればさすがに理解できるだろうからだよwww
679:デフォルトの名無しさん
13/01/01 18:41:48.30
>>675
皆、正月だから小学生の頃に戻ってるんだよ
680:デフォルトの名無しさん
13/01/01 18:43:00.50
>>678
日本には毒を以て毒を制すという言葉がありますが、朝鮮にはどうだかは知りません
681:デフォルトの名無しさん
13/01/01 18:45:31.69
>>679
どっちもいい年なんだろうなと思うと哀れに思えるよね
682:デフォルトの名無しさん
13/01/01 18:46:29.61
FONT_INFO font_info = { 0, 0 };
xxx.insert(pair<char*, FONT_INFO>("あ", font_info));
とやったとして、
xxx.find("あ");
は、必ず見つかるものなの?
"あ"が格納されてるアドレスは必ず同じだと思っていいの?
683:デフォルトの名無しさん
13/01/01 18:48:40.35
その昔、右翼団体が合宿してて街宣車が道路を遮ってるわけ。おかげで会社を遅刻したよ。
また路上を遮ってりゃ、アイスピックでお前らのタイヤに穴開けといてやるからな
684:デフォルトの名無しさん
13/01/01 18:49:26.26
char str[] = "あいうえお"
char c[3];
c[0] = str[0];
c[1] = str[1];
c[2] = '\0';
xxx.find(c);
これ駄目じゃん。。」
685:デフォルトの名無しさん
13/01/01 19:06:57.05
>>680
それは似て非なるもの。
686:デフォルトの名無しさん
13/01/01 19:07:46.74
>>682
せめて、std::stringを使え。使ったところで動くか知らんけど
というか、>>648の意味わからなかった?
687:デフォルトの名無しさん
13/01/01 19:11:05.77
>>684
とりあえず、全角文字って何バイトか調べろ
688:デフォルトの名無しさん
13/01/01 19:12:50.79
>>672
これじゃないのか。
今回はこいつと張本人の白白、Qz以外は個別には罵倒していないはずだが、
大分前に罵倒したバカのうちの一人かな。粘着力が半島人。www
689:デフォルトの名無しさん
13/01/01 19:12:55.68
hash関数かあ、面倒くさいなあ
690:デフォルトの名無しさん
13/01/01 19:14:02.14
>>682
C++スレで使い方を聞けっつてんだろバカ
お前の頭じゃマニュアルみても使い方わからんだろ
691:デフォルトの名無しさん
13/01/01 19:14:26.95
>>689
STL理解してないだろ。理解するのに2~3日、或いは一週間は掛かるぞ
692:デフォルトの名無しさん
13/01/01 19:25:24.00
>>688
罵倒しようという姿勢が半島人
自分の粘着を棚に上げるのも
693:デフォルトの名無しさん
13/01/01 19:30:19.55
フォントだけに限定した場合に衝突しないハッシュ関数って考えられないですかね
694:デフォルトの名無しさん
13/01/01 19:32:59.02
完全ハッシュ関数
695:デフォルトの名無しさん
13/01/01 19:39:14.70
>>687
696:デフォルトの名無しさん
13/01/01 19:39:49.64
>>693
オフセット付けるなり適当に工夫汁。
697:デフォルトの名無しさん
13/01/01 20:07:02.12
ああできたわ。サンクス
unsigned int hash_val = str[0];
if(str[1] != '\0')
{
hash_val = hash_val * 256 + str[1];
}
xxx.insert(pair<UI, FONT_INFO>(hash_val, font_info));
698:デフォルトの名無しさん
13/01/01 20:08:01.28
バカ必死だな。ww
699:デフォルトの名無しさん
13/01/01 20:10:28.88
バカ必死だな。ww
700:デフォルトの名無しさん
13/01/01 21:06:45.71
>>697
なぁ、そのhash関数って最大が幾つになるんだ?
701:デフォルトの名無しさん
13/01/01 21:35:22.57
255*256 + 255 = 65536
だからintで十分入ると思うが何か問題かな
702:デフォルトの名無しさん
13/01/01 21:48:09.15
×65536
○65535
703:デフォルトの名無しさん
13/01/01 22:12:32.03
>>700
255*256 + 255 = 65535
だからintで十分入ると思うが何か問題かな
704:デフォルトの名無しさん
13/01/01 22:51:26.10
2バイト文字の1バイト目が1バイト文字と一致することってあるのかな
705:デフォルトの名無しさん
13/01/01 22:55:53.57
>>704
どのコード体系でいえばいいかにもよるけど、少なくともシフトJISなら
あり得る
706:デフォルトの名無しさん
13/01/01 23:17:31.74
double型ってせっかくintの100億倍以上の表現力もあるのに
結局17桁くらいまでしか精度ないんだろう。利点とかってありますか?
707:デフォルトの名無しさん
13/01/01 23:18:28.86
お前が使うと利点が消える
708:デフォルトの名無しさん
13/01/01 23:25:29.22
>>707
お前それサバンナでも同じ事言えんの?
709:デフォルトの名無しさん
13/01/01 23:48:00.62
double型の 1.00+e00っていう表示はfloatの一般小数点表示と比べて
メリットはあるんですか?純粋な疑問
710:デフォルトの名無しさん
13/01/01 23:54:55.36
mingwについて質問なのですが
>gcc gtk-sample.c -o gtk-sample `pkg-config gtk+-2.0 --cflags --libs`
「'」の意味と、gccにpkg-configの結果?を渡す理由を教えて下さい
711:デフォルトの名無しさん
13/01/01 23:56:14.56
doubleはdoubleになってるからdoubleだろjk
712:デフォルトの名無しさん
13/01/02 00:07:12.90
>>455
俺初心者だけどどういう意味ですか?
パンチガードって何?C言語関係あるの?
713:デフォルトの名無しさん
13/01/02 00:28:19.35
>>706
ネタなのかマジなのかわからんが、100億倍って桁に直したら10桁だろ。intって8.4桁くらいだろ。足したら18.4桁。大体17桁と違いないから正しいじゃないか。
8桁じゃ困って17桁なら大丈夫な計算なら嬉しいだろう?17桁しかないなら8桁しかないのと同じだと思うの?
714:デフォルトの名無しさん
13/01/02 00:33:55.81
>>713
有効桁数は
ビット数 × 0.30102999566398119521373889472449
符号付でも 32bit int なら精度9桁あるぞ
715: ◆QZaw55cn4c
13/01/02 00:52:08.60
>>706
分野によっては数値の大小よりも「有効桁数」を優先する場合があります。
科学技術の実験値表現では例えば「光速度:2.99792458 × 10^8 m/s」とかいいますがこの場合有効桁数は9桁になります。
浮動小数点表現は有効桁数を優先した表現方法です。
716:デフォルトの名無しさん
13/01/02 00:58:20.44
double型って範囲が
±10^(-308)~10^(308)
って事は308桁の精度って事じゃないんですか?
intは24億だから10桁の精度。
精度にしたら30倍。違いますか?
717:デフォルトの名無しさん
13/01/02 01:01:16.63
>>716
IEEE754でググれ
718:デフォルトの名無しさん
13/01/02 01:48:38.93
>>714
すまん一桁カウントし間違えた。0.4桁分はその計算の言わんとする所の意味だよ。
言いたかったのは、100億倍とかいう表現と17桁とかいう表現を混ぜたら、前者は凄く広大な感じがして後者はわい小な感じがするけど、
整合性はだいたいとれてるだろ、ってこと。
そもそも17桁以上の精度を必要とする計算ってそんなに身近なのか?ということを考えた方がいいと思うんだよね。
17桁ってなんかしょぼいな、って感覚的に思って決めつけちゃう前に。大体のものは17桁の精度で測定なんかできないものばかりだろう。
まあ銀行系とかはdoubleじゃ困るだろうけどね。
719:デフォルトの名無しさん
13/01/02 06:11:28.69
銀行系はCOBOLやjavaのクラスライブラリを使うだろ
720:デフォルトの名無しさん
13/01/02 12:23:06.27
ファイルストリームに関する質問だけど
ファイルを読み込むとき例えば100字のテキストファイルがあって
その70行目まで読み込んでたとします。その時70字分の情報は以降
同じストリームから読み取れないんですか?
プッシュバックとかそういうソフトウェア的なことじゃなくて
もう一回fopenしない限り読み取れませんか?
というか読み込んだファイル情報はすぐにHDDに返されるのでしょうか?
721:デフォルトの名無しさん
13/01/02 12:33:52.65
fseek
722:デフォルトの名無しさん
13/01/02 12:51:42.66
>>720
>読み込んだファイル情報はすぐにHDDに返されるのでしょうか?
なんで返すんだ?
まさかHDDからメモリに送られた情報は、送り返されるまでHDD上からは消えてるとでも思ってるのか?
723:デフォルトの名無しさん
13/01/02 13:05:42.03
>>722
他のシステムユーザからのアクセスを遮断するために
消えると思うんですが違いますか?
で結局stdinなどで読み込んだ文字は以降は絶対に読み込む事は
できないんでしょうか?
724:デフォルトの名無しさん
13/01/02 13:08:51.06
すいません送り返されはしませんね
ストリームを閉じたらメモリから消えるという事ですかね?
725:デフォルトの名無しさん
13/01/02 13:12:01.61
>>721
fseekって結局プッシュバックと同じ仕組みじゃないんですか?
ただのバッファとそこから取り出すっていうだけの仕組みでしょ?
僕が知りたいのはHDDから読み込めるかどうかです。
726:デフォルトの名無しさん
13/01/02 13:22:05.51
>>725
2chなんて信じられないんだろ
本買って読めよ
727:デフォルトの名無しさん
13/01/02 13:25:13.71
>>726
はぁ?
728:デフォルトの名無しさん
13/01/02 13:26:54.20
>>725
> fseekって結局プッシュバックと同じ仕組みじゃないんですか?
違うよ。
729:デフォルトの名無しさん
13/01/02 13:30:19.78
可哀想な子警報age
730:デフォルトの名無しさん
13/01/02 13:33:01.78
>>725,727
手元の規格標でsetvbufを検索してみ
てか、糞でかいファイル扱う事を考えたら常識的に考えて分かるでしょ
731:デフォルトの名無しさん
13/01/02 14:38:50.06
gccのオプション多すぎ
732:デフォルトの名無しさん
13/01/02 14:43:54.03
MSVCだって、コマンドラインで使えば似たようなもの
733:デフォルトの名無しさん
13/01/02 15:59:28.26
素人のくせに何でプッシュバックとか無理して知ったかぶるかね。
734:デフォルトの名無しさん
13/01/02 16:13:21.04
プッシュバックって何の事?
735:デフォルトの名無しさん
13/01/02 16:21:50.25
俺もなんのことかと思ってググってみたが、飛行機を引っ張る車しかでてこない
736:桃白白
13/01/02 16:25:02.00
ねえママ、ママもバックからプッシュしたことある?こういうのパパに聞いたほうが
いいのかな、掲示板見たらみんなやってるみたいなんだ、ぼくもプッシュバックしたい。
737:デフォルトの名無しさん
13/01/02 16:26:29.80
>>710
バッククォートで括られた箇所は、コマンド実行に置換される
pkg-configってコマンドがあるわけ。manでも読め
実行すると、gtkのヘッダやライブラリの場所がズラズラ出てくる
738:デフォルトの名無しさん
13/01/02 16:27:20.27
>>736
可哀想な子
739:デフォルトの名無しさん
13/01/02 16:35:00.23
vector の push_back() のことじゃないの?
740:デフォルトの名無しさん
13/01/02 16:37:18.53
ああ、push_back(); は vector だけじゃないね
741:デフォルトの名無しさん
13/01/02 16:38:47.96
STL以外のpush_backなんて単語を知らなかったから、
>>735や>>736は、すごく良い教養になった
742:デフォルトの名無しさん
13/01/02 16:40:09.40
>fseekって結局プッシュバックと同じ仕組みじゃないんですか?
>ただのバッファとそこから取り出すっていうだけの仕組みでしょ?
配列の最後尾に追加するのとは全く逆のようだが
743:デフォルトの名無しさん
13/01/02 18:01:15.88
プッシュといえばポップだな、普通は
744:デフォルトの名無しさん
13/01/02 18:24:29.34
720 :デフォルトの名無しさん:2013/01/02(水) 12:23:06.27
ファイルストリームに関する質問だけど
ファイルを読み込むとき例えば100字のテキストファイルがあって
その70行目まで読み込んでたとします。その時70字分の情報は以降
同じストリームから読み取れないんですか?
プッシュバックとかそういうソフトウェア的なことじゃなくて
もう一回fopenしない限り読み取れませんか?
というか読み込んだファイル情報はすぐにHDDに返されるのでしょうか?
723 :デフォルトの名無しさん:2013/01/02(水) 13:05:42.03
>>722
他のシステムユーザからのアクセスを遮断するために
消えると思うんですが違いますか?
で結局stdinなどで読み込んだ文字は以降は絶対に読み込む事は
できないんでしょうか?
725 :デフォルトの名無しさん:2013/01/02(水) 13:12:01.61
>>721
fseekって結局プッシュバックと同じ仕組みじゃないんですか?
ただのバッファとそこから取り出すっていうだけの仕組みでしょ?
僕が知りたいのはHDDから読み込めるかどうかです。
745:デフォルトの名無しさん
13/01/02 23:00:58.92
むかつく質問方法を見事に使いこなしてるな。これもある種の才能だな。
746:デフォルトの名無しさん
13/01/03 00:34:19.91
>>745
ヤフー知恵袋でやれ
747:デフォルトの名無しさん
13/01/03 13:35:24.99
そうか?
748:デフォルトの名無しさん
13/01/03 17:08:15.27
自分が正しいという前提があってそれに対して同意してもらうことを目的にした書き込みだったね
間違ってるどころか何もかも狂ってたから目論見が外れたみたいだけど
749:デフォルトの名無しさん
13/01/03 21:47:35.13
makefileは自動生成するツールがありますが、手書きでmakefileを書くメリットってありますか
750:デフォルトの名無しさん
13/01/03 21:59:36.98
スレ違いです
751:デフォルトの名無しさん
13/01/03 22:16:03.79
>>750
なぜ、スレ違いなの?
めっちゃC言語、入門じゃん
752:デフォルトの名無しさん
13/01/03 22:24:00.11
小規模なのは手で書いた方が早いし、
手で書けない人が自動生成ツールを使うのは難しいんじゃないかな。
753:749
13/01/03 22:48:57.13
>>752
参考になりました。
ありがとうございます
754:デフォルトの名無しさん
13/01/03 23:44:31.42
netpbm
をインストールする時suのパスワードってなにいれるんですか??
755:デフォルトの名無しさん
13/01/03 23:47:31.93
>>754
なんでもないです、
すみません
756:デフォルトの名無しさん
13/01/03 23:49:26.79
そりゃsuのパスワードだろjk
これ以上はUNIX板にでも行けよ
757:デフォルトの名無しさん
13/01/04 00:23:23.61
A 23
F 8
R 23
のような、「文字 数字」をコマンドラインから読み込みたいんだが
char c[5]; int a[5], i = 0; double k;
for(i=0; i<5; i++){
scanf(" %c %d%[\n]",&c[i],&a[i],&k);
}
のようにやるとなぜか6回「文字 数字」を読み込んでしまってうまくいかない。
文字はc[i] 数字はa[i] 改行をkに保存してるんだが
何がおかしいのだろうか・・・・・・orz
758:デフォルトの名無しさん
13/01/04 00:39:47.81
scanf使うなら戻り値ちゃんと見たほうがいい
759:デフォルトの名無しさん
13/01/04 00:41:31.76
>>758
ありがとうございます。
詳しく調べてみます。
760:デフォルトの名無しさん
13/01/04 10:48:43.15
6回読み込んだという理由は?
forを抜けた後iが6だったとか?
761:デフォルトの名無しさん
13/01/04 11:00:22.74
>>760 コマンドラインで6行読み取ってしまうんです。
A 1
B 2
C 3
D 4
E 5
F 6
のように・・・・・・printfで調べてみたらi=0でどうやら2行分読み込んでるようで。
でも格納されてる値をみたらc[0]~c[4]はA~E、a[0]~a[4]は1~5の値が入っていたのでさらに意味不明なことに・・・
762:デフォルトの名無しさん
13/01/04 11:09:28.77
>>757
> double k;
> 改行をkに保存してるんだが
意味がわからん。
>>761
printf( ) デバッグするなら、i の値も一緒に表示すれば良いのに…
763:デフォルトの名無しさん
13/01/04 12:10:27.77
>>757
char c[5], dummy; int a[5], i;
for(i=0; i<5; i++) {
scanf("%c %d%c", &c[i], &a[i], &dummy);
}
としてみるとか。
A 123 4567
と入力すると
A 123
4 567
となるけど。。
764:デフォルトの名無しさん
13/01/04 13:07:54.09
>>757
コマンドラインからでなく、コマンドインタプリタを実行している端末エミュレータから入力しているんだろ。
改行文字をdoubleの変数に保存するなんて阿呆なことしていないできちんと書けよ。
つーか、fgets()で一行入力してからsscanf()でばらす方が無難だと思うが。
765:デフォルトの名無しさん
13/01/04 16:52:54.18
無難だね
766:デフォルトの名無しさん
13/01/04 17:43:34.43
標準入力から一行読みたいときに
一行の長さを調べるにはどうすればいいの?
767:デフォルトの名無しさん
13/01/04 17:48:53.95
普通は一行読み込んで、長さを調べる。
一行の長さが予測できない場合は、適当なサイズ毎に読み込んで
行末がでてくるまで文字数をカウントしていく。
768:デフォルトの名無しさん
13/01/04 17:50:08.92
>>766
エスパー回答
スレリンク(tech板:35番)
のどこかにあるchar *mygetline(FILE *fp)を調べれ
769:デフォルトの名無しさん
13/01/04 18:54:38.84
標準入力はシーク出来ないんですか?
770:デフォルトの名無しさん
13/01/04 18:58:00.04
うん
771:デフォルトの名無しさん
13/01/04 19:38:48.81
>>769
標準入力がキーボードの場合シーク要求来たら大変だろ? (w
772:デフォルトの名無しさん
13/01/04 19:44:49.38
なんで?
773:デフォルトの名無しさん
13/01/04 19:45:02.98
標準入力のタイプによる。レギュラーファイルだったらシークできる。
774:デフォルトの名無しさん
13/01/04 21:42:01.61
標準入力をリダイレクトすればできるものにもできる
しなけりゃできない
775:デフォルトの名無しさん
13/01/04 23:19:10.79
eclipse cdtの方がvisual studioより使いやすいようなー
776:デフォルトの名無しさん
13/01/04 23:21:25.09
mingw+eclipseが最強かな
777:デフォルトの名無しさん
13/01/04 23:54:03.03
お前らEDLIN知らねえの?
778:デフォルトの名無しさん
13/01/05 00:50:25.15
dos 版の ed ね、でも漢なら
echo > file
あるのなら
cat > file
だろう?
779:デフォルトの名無しさん
13/01/05 03:23:19.72
江戸がギリだな、それより懐古するともはやコーディングとかって話じゃなくなる
780:デフォルトの名無しさん
13/01/05 17:21:35.33
あぁ腹減った
781:デフォルトの名無しさん
13/01/05 20:13:48.00
microsoft visual c++ 2010 を使っているんですけど、
「間接参照のレベルが'int*'と'int[4][5]'で異なっています。」
という警告が出てきます。
この警告の意味はどういうことなのでしょうか??
782:デフォルトの名無しさん
13/01/05 20:29:58.01
>>781
警告そのまんま
int*とint[4][5]の型が違いますってこと
てかソース貼れ
783:デフォルトの名無しさん
13/01/05 21:10:22.92
嫌です
784:デフォルトの名無しさん
13/01/05 21:18:41.75
は?
785:デフォルトの名無しさん
13/01/05 22:39:59.17
rand()なんですが値が
100以下がほとんどでない。
ほとんどが億レベルなんですが理由は何でしょうか?
234213423
23513123
5634521324
234523546
.
.
.
.
3
2000回に一回ペースで100以下が出る。
786:デフォルトの名無しさん
13/01/05 22:42:35.80
完全にランダムと仮定して
全体のうち百以下の数の個数と
億単位の個数がいくつあるか
自分の手で計算してごらん
787:デフォルトの名無しさん
13/01/05 23:42:52.22
ごらんとかうるせーよ
788:デフォルトの名無しさん
13/01/05 23:44:52.66
計算してごらん 百位かの割合を 簡単なことさ
789:デフォルトの名無しさん
13/01/05 23:53:02.42
僕らの下に地獄なんてないし
僕らの上にはは空があるだけ
計算してごらん すべての人がその日暮らし…
790:デフォルトの名無しさん
13/01/05 23:54:00.82
ははははは
791:デフォルトの名無しさん
13/01/05 23:56:14.16
ゴランに聞いてごらん
792:デフォルトの名無しさん
13/01/05 23:57:58.37
printf("%f回に1回くらい出る\n", RAND_MAX/100.0);
793:デフォルトの名無しさん
13/01/05 23:58:10.02
>>787
ヒント:NGワード
794:デフォルトの名無しさん
13/01/06 00:08:12.38
URLリンク(codepad.org)
795:デフォルトの名無しさん
13/01/06 01:07:17.67
見上~げて、ごらん~夜の~ほ~しを~
796:デフォルトの名無しさん
13/01/06 19:25:02.72
GAを組んでいるのですが、個体の中身が1だけでしか表示されません。
なぜなのでしょうか??
適応度は個体によってバラバラなのになぜか遺伝子は1のみになってしまいます。
(個体は2次元配列で、2進数によって表現しているつもりです)
おかしい所だらけだと思うのですが、よろしくお願いします。
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#define N 5 // 遺伝子長
#define M 50 // 個体数
#define ml 4 //音符数
#define T 10 // 世代数
#define Pc 0.50 // 交叉確率
#define Pm 0.10 // 突然変異確率
// 遺伝子型の定義
struct genotype {
int gene[ml][N]; // 遺伝子
float fitness; // 適応度
};
float evaluation(int *a); //適応度計算
void one_point_crossover(struct genotype *ind); //交叉
void mutation(struct genotype *ind); //突然変異
void roulette_selection(struct genotype *ind); //選択
int flip(float prob); //
void print_process(struct genotype *ind, int generation); //出力
797:デフォルトの名無しさん
13/01/06 19:27:39.08
int main(int argc, char *argv[]) {
int i; // 個体インデックス
int j; // 遺伝子座インデックス
int s; // 音符数インデックス
int t; // 世代インデックス
struct genotype individual[M]; // 個体
struct genotype erito; //エリート
// 乱数seedの設定
if(argc < 2) { // プログラムの引数が足りない場合
printf("Usage: %s [SEED_NUMBER]\n", argv[0]);
exit(1);
}
else {
srand(atoi(argv[1]));
}
// ステップ1 (0世代目)
for(i=0; i<M; i++) {
for(s=0; s<ml; s++){
for(j=0; j<N; j++) {
individual[i].gene[s][j] = flip(0.5);
}
individual[i].fitness = evaluation(individual[i].gene); // 個体の適応度計算
}
}
print_process(individual, 0); // 初期世代の個体群を表示
798:デフォルトの名無しさん
13/01/06 19:29:17.28
//0世代目のエリート選択
for(i=1;i<M;i++){
if(individual[0].fitness < individual[i].fitness){
individual[0] = individual[i];
}
erito = individual[0];
}
// ステップ2 (1~T世代)
for(t=1; t<=T; t++) {
// 交叉
one_point_crossover(individual);
// 突然変異
mutation(individual);
// 子個体の適応度値計算
for(i=0; i<M; i++) {
individual[i].fitness = evaluation(individual[i].gene);
}
// ルーレット選択
roulette_selection(individual);
799:デフォルトの名無しさん
13/01/06 19:29:51.37
individual[0] = erito; //エリート挿入
for(i=1;i<M;i++){
if(individual[0].fitness < individual[i].fitness){
individual[0] = individual[i];
}
erito = individual[0]; //更新
}
print_process(individual, t);
}
return(0);
} // End of main()
// 個体の適応度計算
float evaluation(int *a) {
int j; // 遺伝子座インデックス
int count = 0; // 遺伝子中の`1'の数
for(j=0; j<N; j++) {
count += a[j];
}
return((float)count);
} // End of evaluation()
800:デフォルトの名無しさん
13/01/06 19:33:20.45
不要だと思った箇所は省きました
// 個体の中身や適応度値を画面に出力
void print_process(struct genotype *ind, int generation) {
int i; // 個体インデックス
int s; //音符数インデックス
int j; // 遺伝子座インデックス
float max_fit, min_fit, avg_fit; // 最大,最小,平均適応度
// 各個体の中身を出力
printf("\n世代数: %d\n", generation);
for(i=0; i<M; i++) {
printf("第%d個体:\n ", i);
for(s=0; s<ml; s++){
for(j=0; j<N; j++) {
if(ind[i].gene[j] == 0) printf("%c", '0');
else printf("%c", '1');
}
printf(" : %.0f\n", ind[i].fitness);
}
}
801:デフォルトの名無しさん
13/01/06 20:19:13.96
> ★ソースコードを晒すと答えやすくなるかもしれません。
> # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。
> # サイズが大きい場合はアップローダ等を利用してください。
> URLリンク(codepad.org)
> URLリンク(ideone.com)
802:デフォルトの名無しさん
13/01/06 20:31:55.59
>>1のテンプレすらも詠まずに長々とだらしないコードをここに張り付ける
その精神性からしてすでに能力が透けて見える
そして極めつけは不要だと自分で判断したコードの中にバグがある場合
もしもここまで来るならそれはどうしようもない
803:デフォルトの名無しさん
13/01/06 20:32:19.38
>>797です。
URLリンク(codepad.org)
804:デフォルトの名無しさん
13/01/06 20:38:50.37
>>802
まあまあそう熱くなるなよ
答えてやるついでに軽く言うくらいが
大人の対応だぜ
805:デフォルトの名無しさん
13/01/06 20:39:37.14
何度もすみません。
訂正があったので
URLリンク(codepad.org)
806:デフォルトの名無しさん
13/01/06 21:02:07.37
>>805
222行目
× > if(ind[i].gene[j] == 0) printf("%c", '0');
○ > if(ind[i].gene[s][j] == 0) printf("%c", '0');
でないかい?
807:デフォルトの名無しさん
13/01/06 21:09:35.36
余談だが
printf("%c", '0'); → printf("0");
で良いような
808:デフォルトの名無しさん
13/01/06 21:26:07.18
int flip でこうやる
float x = (float)rand() / (float)RAND_MAX ;
809:デフォルトの名無しさん
13/01/06 21:31:15.90
こいつのレスのコード見返したけど
やっぱり不要だと思って勝手に省いた部分ジャネーカ
隠れた部分にバグとか、そのままじゃぜってーみつかんねーよ
あおりまくってヴァカにするまでたたかないとコードはでてこねー
810:デフォルトの名無しさん
13/01/06 22:30:13.31
普通状況を再現できる最小限のコードをさらすはずなので大丈夫さ
811:806
13/01/06 22:41:06.95
>>805
float evaluation(int *a);
も気になる。
for (j = 0; j < N; j++) {
count += a[j];
}
↓
for (j = 0; j < ml * N; j++) {
count += a[j];
}
の方が期待される結果を得られるんでないかい?
812:806
13/01/06 23:27:48.98
そういえば、あと 2つ。
[1] 44行目
// ステップ1 (0世代目)
for(i=0; i<M; i++) {
for(s=0; s<ml; s++){
for(j=0; j<N; j++) {
individual[i].gene[s][j] = flip(0.5);
}
individual[s].fitness = evaluation(individual[s].gene); // 個体の適応度計算
//individual[i].fitness = evaluation(individual[i].gene); // 個体の適応度計算
}
}
↓
for(i=0; i<M; i++) {
for(s=0; s<ml; s++){
for(j=0; j<N; j++) {
individual[i].gene[s][j] = flip(0.5);
}
}
individual[i].fitness = evaluation(individual[i].gene); // 個体の適応度計算
}
でないかい?
[2] 141行目
temp[j] = ind[ia].gene[j];
↓
temp[j] = ind[ia].gene[s][j];
でないかい?
813:デフォルトの名無しさん
13/01/06 23:47:42.36
>>805のコードで
struct genotype individual[M];
を
void print_process(struct genotype *ind, int generation); //出力
のindに渡しているけど、print_process()内で
ind[i]でアクセスして大丈夫でしたっけ。
void print_process(struct genotype ind[M], int generation); //出力
に渡すなら、間違いなくind[i]でアクセス出来るのはわかるけど。
814:デフォルトの名無しさん
13/01/07 04:56:25.90
Cを制す者は世界を制す
815:デフォルトの名無しさん
13/01/07 07:44:29.95
>>813
問題ないよ
816:デフォルトの名無しさん
13/01/07 09:27:31.16
>>813
引き数リストのtype name[size]は、type * nameと解釈されるから全く問題ない。
寧ろ、配列そのものではないのでsizeは書かないのが一般的。
817:デフォルトの名無しさん
13/01/07 15:02:30.93
ATARUに出てきたのがC言語だとすぐにわかった
声聞くと一番簡単なプログラムだがスイーツはこれを聞いたらすげえと思うのか
818:813
13/01/07 19:29:11.36
>>815-816
ありがとうございます。
struct genotype *ind と struct genotype **ind で勘違いしていました。
URLリンク(ideone.com) で実験して理解出来ました。
819:デフォルトの名無しさん
13/01/08 00:35:40.79
LinuxでC言語のプログラム書くときにVCみたいなやつないんすか
エディタはvimでいいんですけどビルドとかコンパイル対象のファイルの指定とか
makefile書くのめんどくさいんすけど
820:デフォルトの名無しさん
13/01/08 00:39:25.88
中学生はプログラムなんてやってないで勉強してろ
821:デフォルトの名無しさん
13/01/08 00:41:14.03
makefileっていってもファイル名を並べて書くだけとかのレベルでしょ
難しく考えすぎなんじゃない
VCみたいなのといったらeclipseだろうか たぶんmakefileより面倒な気がするけど
822:デフォルトの名無しさん
13/01/08 02:02:44.92
Eclipseでいいんじゃない?Makefileより面倒かどうか、は、Makefileに慣れてるかどうか、って感じじゃない?
VSに慣れた自分はEclipseのCDTは結構使いやすく感じるよ。Makefileでのビルドもできるしね。
てか、補完に関してはVSより使いやすい部分も多いし。CamelCaseでの補完(JDTでいうBIS→BufferedInputStreamみたいなやつ)がはやくVCのIntellisenseにも実装されてほしいよ。
823:デフォルトの名無しさん
13/01/08 06:56:38.62
>>819
Linuxはボランティアが作っているからねえ。
有料のVSと同じ環境が無料で得られたらMSが潰れてしまう。
楽したけりゃ金出してWindows使っとけという話。
824:デフォルトの名無しさん
13/01/08 08:12:56.24
VS部門が無くなったってMSは潰れん
825:デフォルトの名無しさん
13/01/08 12:03:31.11
ボランティアが日本語のいわゆる「ボランティア」のことなら、Linuxを作ってるのはそれだけじゃない。
給料貰ってそれを仕事としてやってる人間の方がむしろ多い。
826:デフォルトの名無しさん
13/01/08 12:30:58.45
日本語がどう、じゃなくてマスゴミが、ボランティア=無償奉仕かのように間違ったイメージを広げてるだけ。
827:デフォルトの名無しさん
13/01/08 12:37:21.56
つまり金貰って開発してるのにGUIのある開発環境すら作れない無能集団ということ?
828:デフォルトの名無しさん
13/01/08 12:49:54.12
何言ってんだこいつ
829:デフォルトの名無しさん
13/01/08 13:40:50.59
Linuxを作ってる人が開発環境を作ってるわけじゃないだろうし
開発環境はLinuxだけターゲットにしてるわけでもないだろうし
じゅんを
830:デフォルトの名無しさん
13/01/08 15:15:29.50
MSと比較されて「ボランティアだから」と言い訳したバカが混乱の原因。
そんな事は言い訳にはならない。
831:デフォルトの名無しさん
13/01/08 15:21:21.24
オープンソースプロジェクトはバカ避けしにくいって問題もあるだろうな
自己主張が激しいだけの無能とかワラワラいそうだ
ブランチ作って永遠にそこから出て来るな!
って言ってもバカは言うことを聞かない
832:デフォルトの名無しさん
13/01/08 15:31:35.14
iPhoneの無料アプリのレビューも酷いが、あれはあれでウンコアプリの
抑止力になっているのか。
833:デフォルトの名無しさん
13/01/08 15:44:12.26
>>832
広告アプリの足の引っ張り合いかも
834:デフォルトの名無しさん
13/01/08 16:55:53.56
>>805です。
問題としていたところが解決されました。
本当にありがとうございました。
835:デフォルトの名無しさん
13/01/08 18:52:10.93
>>805です。
何度もすみません。
現段階では、評価値が各個体ごとに出力されているのですが、
各個体の、各行(5ビットの2進数)ごとに評価値を出力させるには
どうしたらよいのでしょうか??
836:デフォルトの名無しさん
13/01/08 20:29:08.57
上で指摘された箇所を修正したものです。
URLリンク(codepad.org)
837:デフォルトの名無しさん
13/01/09 02:28:08.71
0x00000000,0x77073096,0xee0e612c,0x990951ba,0x076dc419,0x706af48f,0xe963a535,0x9e6495a3,
0x0edb8832,0x79dcb8a4,0xe0d5e91e,0x97d2d988,0x09b64c2b,0x7eb17cbd,0xe7b82d07,0x90bf1d91,
0x1db71064,0x6ab020f2,0xf3b97148,0x84be41de,0x1adad47d,0x6ddde4eb,0xf4d4b551,0x83d385c7,
0x136c9856,0x646ba8c0,0xfd62f97a,0x8a65c9ec,0x14015c4f,0x63066cd9,0xfa0f3d63,0x8d080df5,
0x3b6e20c8,0x4c69105e,0xd56041e4,0xa2677172,0x3c03e4d1,0x4b04d447,0xd20d85fd,0xa50ab56b,
0x35b5a8fa,0x42b2986c,0xdbbbc9d6,0xacbcf940,0x32d86ce3,0x45df5c75,0xdcd60dcf,0xabd13d59,
0x26d930ac,0x51de003a,0xc8d75180,0xbfd06116,0x21b4f4b5,0x56b3c423,0xcfba9599,0xb8bda50f,
0x2802b89e,0x5f058808,0xc60cd9b2,0xb10be924,0x2f6f7c87,0x58684c11,0xc1611dab,0xb6662d3d,
0x76dc4190,0x01db7106,0x98d220bc,0xefd5102a,0x71b18589,0x06b6b51f,0x9fbfe4a5,0xe8b8d433,
0x7807c9a2,0x0f00f934,0x9609a88e,0xe10e9818,0x7f6a0dbb,0x086d3d2d,0x91646c97,0xe6635c01,
0x6b6b51f4,0x1c6c6162,0x856530d8,0xf262004e,0x6c0695ed,0x1b01a57b,0x8208f4c1,0xf50fc457,
0x65b0d9c6,0x12b7e950,0x8bbeb8ea,0xfcb9887c,0x62dd1ddf,0x15da2d49,0x8cd37cf3,0xfbd44c65,
0x4db26158,0x3ab551ce,0xa3bc0074,0xd4bb30e2,0x4adfa541,0x3dd895d7,0xa4d1c46d,0xd3d6f4fb,
0x4369e96a,0x346ed9fc,0xad678846,0xda60b8d0,0x44042d73,0x33031de5,0xaa0a4c5f,0xdd0d7cc9,
0x5005713c,0x270241aa,0xbe0b1010,0xc90c2086,0x5768b525,0x206f85b3,0xb966d409,0xce61e49f,
0x5edef90e,0x29d9c998,0xb0d09822,0xc7d7a8b4,0x59b33d17,0x2eb40d81,0xb7bd5c3b,0xc0ba6cad,
838:デフォルトの名無しさん
13/01/09 02:28:39.97
0xedb88320,0x9abfb3b6,0x03b6e20c,0x74b1d29a,0xead54739,0x9dd277af,0x04db2615,0x73dc1683,
0xe3630b12,0x94643b84,0x0d6d6a3e,0x7a6a5aa8,0xe40ecf0b,0x9309ff9d,0x0a00ae27,0x7d079eb1,
0xf00f9344,0x8708a3d2,0x1e01f268,0x6906c2fe,0xf762575d,0x806567cb,0x196c3671,0x6e6b06e7,
0xfed41b76,0x89d32be0,0x10da7a5a,0x67dd4acc,0xf9b9df6f,0x8ebeeff9,0x17b7be43,0x60b08ed5,
0xd6d6a3e8,0xa1d1937e,0x38d8c2c4,0x4fdff252,0xd1bb67f1,0xa6bc5767,0x3fb506dd,0x48b2364b,
0xd80d2bda,0xaf0a1b4c,0x36034af6,0x41047a60,0xdf60efc3,0xa867df55,0x316e8eef,0x4669be79,
0xcb61b38c,0xbc66831a,0x256fd2a0,0x5268e236,0xcc0c7795,0xbb0b4703,0x220216b9,0x5505262f,
0xc5ba3bbe,0xb2bd0b28,0x2bb45a92,0x5cb36a04,0xc2d7ffa7,0xb5d0cf31,0x2cd99e8b,0x5bdeae1d,
0x9b64c2b0,0xec63f226,0x756aa39c,0x026d930a,0x9c0906a9,0xeb0e363f,0x72076785,0x05005713,
0x95bf4a82,0xe2b87a14,0x7bb12bae,0x0cb61b38,0x92d28e9b,0xe5d5be0d,0x7cdcefb7,0x0bdbdf21,
0x86d3d2d4,0xf1d4e242,0x68ddb3f8,0x1fda836e,0x81be16cd,0xf6b9265b,0x6fb077e1,0x18b74777,
0x88085ae6,0xff0f6a70,0x66063bca,0x11010b5c,0x8f659eff,0xf862ae69,0x616bffd3,0x166ccf45,
0xa00ae278,0xd70dd2ee,0x4e048354,0x3903b3c2,0xa7672661,0xd06016f7,0x4969474d,0x3e6e77db,
0xaed16a4a,0xd9d65adc,0x40df0b66,0x37d83bf0,0xa9bcae53,0xdebb9ec5,0x47b2cf7f,0x30b5ffe9,
0xbdbdf21c,0xcabac28a,0x53b39330,0x24b4a3a6,0xbad03605,0xcdd70693,0x54de5729,0x23d967bf,
0xb3667a2e,0xc4614ab8,0x5d681b02,0x2a6f2b94,0xb40bbe37,0xc30c8ea1,0x5a05df1b,0x2d02ef8d,
839:デフォルトの名無しさん
13/01/09 07:16:17.33
コードを読んで結果がどのようになるか当てる問題です。
過去のテストでこのようなコードがでたのですが
URLリンク(ideone.com)
まったくわかりません。解説お願いします。
まずどこから考えればいいのでしょうか・・・。
840:桃白白
13/01/09 08:46:34.28
>>839
arrayは
mainで[1, 2, 0]がセットされる。
functionで変更される。
mainで出力される。
functionでarrayの値がどう変わるのか考えればいい。
一回目のfunctionでは。
jは-3。
arrayの0番目には-3が加算される。
arrayは[-2, 2, 0]
jは3。
二回目のfunctionでは。
arrayは[-2, 2, 0]
arrayの2番目には3が加算される。
arrayは[-2, 2, 3]
jは-1。
arrayの1番目には-1が加算される。
arrayは[-2, 1, 3]
jは2。
arrayの0番目には2が加算される
arrayは[0, 1, 3]
jは-2。
841:デフォルトの名無しさん
13/01/09 14:46:50.03
>>819
一応、makefileを自動で作成するツールはいくらでもあるけれど
君みたいな馬鹿が質問するレベルのことって、手書きのmakefileで十分な規模じゃないの?
842:デフォルトの名無しさん
13/01/09 14:49:43.18
>>827
基本情報ぐらい取れば?
843:デフォルトの名無しさん
13/01/09 20:31:02.16
>>835
このプログラムは何だか分からないけど、評価値って適応度(genotypeのfitness)のこと?
そうだとしたら、
// 遺伝子型の定義
struct genotype {
int gene[ml][N]; // 遺伝子
float fitness; // 適応度
};
↓
struct genotype {
int gene[ml][N]; // 遺伝子
float fitness[ml]; // 適応度
};
として、
evaluation();は
for(j=0; j<ml*N; j++) {
count += a[j];
}
↓
for(j=0; j<N; j++) {
count += a[j];
}
として、fitnessを設定するところでfitness[]それぞれについてevaluation();を呼び出す。
というのではいかが?
(fitnessを各5bitごとに持たせる。つまり、一個体につきfitnessを4つ持つことになるが良いのだろうか?)
844:デフォルトの名無しさん
13/01/09 20:33:37.26
evaluation();の中でfitness[ml]を全部計算した方が良いかな
845:デフォルトの名無しさん
13/01/09 21:17:03.56
C初心者です。高橋麻奈の「やさしいC」なら簡単に分かるのですが、
「独習C」になると歯が立ちません。その間を埋めるような教科書が無いでしょうか?
ポインタ、構造体などの基礎は理解しているつもりです。
たとえばレス ハンコックの「C言語入門」あたりなのでしょうか。
以上よろしくお願いします。
846:デフォルトの名無しさん
13/01/09 21:28:34.27
神になるためのテンプレから外れるからそういう遠回りになるのだ
847:デフォルトの名無しさん
13/01/09 21:31:44.39
独習Cに難しいところなんてあったっけ?
848:デフォルトの名無しさん
13/01/09 22:29:46.63
例えば何が難しいのか言ってくれ
849:デフォルトの名無しさん
13/01/10 06:33:17.63
日本語が難しいのだと予想
850:デフォルトの名無しさん
13/01/10 06:49:57.39
独習Cは文体が学術っぽくて堅苦しいうえにあの厚さ。
一般人は5分で投げ出す。
翻訳者は高橋麻奈を見習えと言いたい。
851:デフォルトの名無しさん
13/01/10 09:19:03.77
原書よめばいいだろ。
852:デフォルトの名無しさん
13/01/10 09:25:29.86
居るよね
入門書ばっかり読む奴
全く素質無いから早く気づいてやめればいいのに
853:デフォルトの名無しさん
13/01/10 13:30:11.20
本を買ってくれる分おまえよりは業界に貢献してるだろ
854:854
13/01/10 17:03:56.82
ideone.com/Yzef0W
char strload_y[] = "12345678901"; /* 11 桁 */
float loaded_y_float = atof(strload_y) / 10000000;
int loaded_y_int = atoi(strload_y) / 10000000;
上記において、割り算の結果を int に入れた時に数値がおかしくなる理由を教えてください。
Mac OS X 10.8.2(GCC 4.2.1)LP64(I32LP64)モデルです。
よろしくお願いいたします。
855:デフォルトの名無しさん
13/01/10 17:08:13.71
32ビットでのintの最大値が21億ほどだから。
856:854
13/01/10 17:26:55.12
>>855
ありがとうございました。11 桁の段階で既に int が扱える桁を超えていたということなのですね。
漠然としか理解できていなかったので助かりました!
857:デフォルトの名無しさん
13/01/10 18:24:38.75
ついでに言うと、floatも桁数が足りてない。
858:854
13/01/10 18:49:45.54
>>857
ありがとうございます。あの後調べたところ
long 型に変換する atol という関数があること
double 型に変換する atof と、atof が double 型を扱うことまで分かりました。
実際に使用しているプログラムでは 4 桁の数値を取り出すものだったので
たまたま問題にはならなかったみたいです。重ね重ねありがとうございました。
859:デフォルトの名無しさん
13/01/10 20:42:51.81
GCC の話かも知れないのですが、エラーメッセージで時々
Abort trap: 6
Segmentation fault: 11
など数字のついたメッセージを受け取ります。
他の数字のエラーメッセージを見てみたいのですが
これは何の規格で定義されているものですか?
860:デフォルトの名無しさん
13/01/10 20:44:27.31
故意にセグらせる命令があったはず
861:デフォルトの名無しさん
13/01/10 20:50:43.44
6 = SIGABORT
11 = SIGSEGV
Unix系なら<signal.h>付近に書いてある。
862:デフォルトの名無しさん
13/01/11 00:00:12.10
なんで、find,grepの使い方から覚えないんだろう
863:デフォルトの名無しさん
13/01/11 02:19:19.02
リッチーさんも亡くなったのにまだCに固執してるのかきめえ
Bに移行しろよ
864:デフォルトの名無しさん
13/01/12 23:29:53.77
2ちゃんねるブラウザを作ろうかと思ってC言語を勉強しているわけなんですが
C言語で専ブラの画面を作るには、どのように作るのがベストなのでしょうか
C#で作られている専ブラのソース見てみたら、画面共通化されていない感じでした。
ちなみに、一番の問題はスレを表示する機能を実装する時に、
どのように高速動作 + 画像表示させるのかが問題になってくるかなと思っています。
865:デフォルトの名無しさん
13/01/12 23:31:32.43
win32apiで作るかC言語で作るのを諦めるかじゃないかなあ
866:デフォルトの名無しさん
13/01/12 23:36:07.81
CでGUIはキツい
それでなくともショートカットやらマウスジェスチャやら
面倒は山積みだ
一番問題なのは2chブラウザにあたって
C言語を選定するその考えだ
867:デフォルトの名無しさん
13/01/12 23:37:09.66
スレ表示についてはIEコンポーネントを貼り付けるだけでもいける
868:864
13/01/12 23:37:19.15
>>865
最初はwin32で作ろうかなと思ったのですが、面倒そうだったのでやめました
gtkを使ってプログラムしてこうかなって思ってます
過去に専ブラを作ろうと試みたこともあるのですが、スレを表示するのが難しくて困り果てました
表示するだけなら簡単だけど、画像を表示させたりすると難しいんですね
869:864
13/01/12 23:48:06.98
>>866
.NETは会社で使っているので、スルーすることに決めました
>>867
それは過去に考えたことがあるんですが、独自描写でいきたいなと思ってます。
独自描写すればプログラム的に楽しそうだからです
870:デフォルトの名無しさん
13/01/12 23:50:54.93
DirectXでレスを3D表示すると楽しいよ
871:デフォルトの名無しさん
13/01/13 00:16:25.06
wxWidgetsでアプリ作るのはどうかな
872:デフォルトの名無しさん
13/01/13 00:32:50.72
>>868
win32api が面倒とか言ってる奴が、C でやると言うのも理解できないけど、
そもそもなんで C++ でないのか?
まあ、それはそれでスレ違いになるけど。
873:デフォルトの名無しさん
13/01/13 00:42:10.18
HTMLでtable使ってドット絵吐き出せばいいじゃん
874:デフォルトの名無しさん
13/01/13 01:12:12.85
>>869
やめとけよ。
Cの標準ライブラリを見てみたか?
ブラウザを作れそうな機能なんて一つもないだろ?
そういう言語なんだよCは。
875:デフォルトの名無しさん
13/01/13 02:09:08.05
10 SCREEN 0:CONSOLE,,0,1:WIDTH 80,25:DEFINT A-Z:CLS 3
20 ARGC=2:ARGV$(1)=">>874ボケが"
30 GOSUB *MAIN
40 END
100 *MAIN
110 PRINT ARGV$(1)
120 RETURN
876:デフォルトの名無しさん
13/01/13 11:59:25.23
>>868
画像表示とか要らんので、lynxやmnewsみたいのを作って下せ。
877:デフォルトの名無しさん
13/01/13 12:05:20.43
既存のGUI部品に全く頼らず、
ゲームの画面みたいに全部独自のUIでやるのは面白いかもしれないな
そういうのないから大ヒットするかもしれんぞ
878:デフォルトの名無しさん
13/01/13 12:14:06.04
UIカスタマイズとか面白いね
879:デフォルトの名無しさん
13/01/13 14:28:04.56
>>877
freeglutとかで出来そう
880:デフォルトの名無しさん
13/01/13 14:52:14.03
1から200までの整数のうち、7の倍数を一行に13個ずつ表示するプログラムが課題で出されたのですが
7の倍数を抽出する部分は出来たのですが、一行に13個ずつ表示するという部分ができません。
授業では、if文とfor文しか扱っていないのでその範囲内で解決できるみたいです。
ご教授いただけると嬉しいです。よろしくお願いします。
881:デフォルトの名無しさん
13/01/13 14:57:50.46
>>880
キューに貯めて
七個あったら一気に書き込み
882:デフォルトの名無しさん
13/01/13 15:06:05.08
>>880
>一行に13個ずつ表示するという部分ができません。
13個出力したら、"\n" を出力するだけだろ。
883:デフォルトの名無しさん
13/01/13 15:10:22.12
#include <stdio.h>
int main(void){
int count = 0;
for(int i = 1; i <= 200; i++){
if(i % 7 == 0){
printf("%d ",i);
count++;
if(count % 13 == 0){
printf("\n");
}
}
}
return 0;
}
884:デフォルトの名無しさん
13/01/13 15:14:00.23
でたーmainの引数にvoid入れちゃう奴www
885:デフォルトの名無しさん
13/01/13 15:22:00.00
お前ならどうすんの?
886:デフォルトの名無しさん
13/01/13 17:14:41.97
俺ならchar * envまで書いちゃうね
887:デフォルトの名無しさん
13/01/13 17:20:35.14
darwinだと4つも渡してくれるらしいぞ。
int main(int argc, char **argv, char **envp, char **apple);
888:デフォルトの名無しさん
13/01/13 17:21:08.26
その最後のやつはなに?
889:デフォルトの名無しさん
13/01/13 17:35:12.75
実行ファイルのパスが入ってたりするらしいけど。
ていうかやってみたら実際に入ってた。
おおっぴらに使っていいもんではないのかも。
890:デフォルトの名無しさん
13/01/13 17:45:10.55
じゃargv[0]には何が入っているの?
891:デフォルトの名無しさん
13/01/13 18:03:22.58
同じの入っとる。
そっちは書き換えるアプリがあるせいかね。
と思ったけどまったく同じでもないっぽい。
URLリンク(unixjunkie.blogspot.jp)
892:デフォルトの名無しさん
13/01/13 20:37:28.45
Winmainなんかはargv書き換えると落ちるし
893:デフォルトの名無しさん
13/01/13 21:08:38.17
void main()対策
#define void int
894:デフォルトの名無しさん
13/01/13 21:17:19.16
>>893
入門者が本気にするだろw
895:デフォルトの名無しさん
13/01/13 22:54:58.07
>>893
予約語って書き換えできるっけ?
896:デフォルトの名無しさん
13/01/13 23:02:39.51
>>895
できたよ
URLリンク(ideone.com)
897:デフォルトの名無しさん
13/01/13 23:22:30.52
>>896
で、写像の意味を理解してないから、減点くらう訳ですね。
898:デフォルトの名無しさん
13/01/13 23:27:44.74
プリプロセッサはC言語の事なんかなんにも知らないっしょ
899:デフォルトの名無しさん
13/01/13 23:34:08.68
プリプロセッサは何にも知らないけれど
プリプロセッサの気持ちはよく分かる
プリプロセッサ可愛いや
可愛いやプリプロセッサ
900:デフォルトの名無しさん
13/01/13 23:53:43.12
赤いプリプロセッサに唇よせて
黙って見ている蒼井そら
901:デフォルトの名無しさん
13/01/14 02:10:18.27
>>877
UIって今後はjsで標準化されてくよ
QMLやgnome-shell、silverlight、javafx辺りが良い例。
902:デフォルトの名無しさん
13/01/14 02:38:06.68
argv[0]は実行ファイルのフルパスじゃなかったっけ。
903:デフォルトの名無しさん
13/01/14 02:41:03.09
>>902
コマンドインタプリタ次第。
相対パスの場合もあれば、aliasの場合もある。
904:デフォルトの名無しさん
13/01/14 02:43:09.83
起動時に与えられた通りの内容が入ってる。
905:デフォルトの名無しさん
13/01/14 02:46:31.85
>>902
URLリンク(ideone.com)
では、
argv[0]=./prog
と出た
906:デフォルトの名無しさん
13/01/14 04:28:45.10
<time.h>
void a(int year, int month, int day){
struct tm b;
time_t c;
b.tm_year = year -1900;
b.tm_mon = month - 1;
b.tm_mday = day;
b.tm_hour = 0;
b.tm_min = 0;
b.tm_sec = 0;
c=mktime(&b);
/*
*/
}
関数を作っていてこれのmktimeの部分でエラーが出てコンパイルできないのですがなにが原因でしょうか
907:デフォルトの名無しさん
13/01/14 04:38:09.77
>>906
どんな[エラー]?
こちらでは、
「関数 a(); で c に値がセットされたが使われていない」
というような[警告]は出るけどコンパイルは通るよ。
908:デフォルトの名無しさん
13/01/14 04:56:43.16
>>902
Windowsではフルパスだよね
909:デフォルトの名無しさん
13/01/14 09:14:03.76
Windowsでもそのアプリを起動するアプリ次第だけどな。
910:859
13/01/14 16:52:31.42
>>859 です。遅くなりましたがありがとうございました。
>>861
ISO の規格に載っていたとは、検索の仕方がわるかったです。
>>862
iPhone アプリ制作の基礎として C 言語を学んでいるので
UNIX の知識はあまりありません。時間を見て調べてみます。
911:デフォルトの名無しさん
13/01/14 18:30:22.14
>>909
マジかよ・・・
912:デフォルトの名無しさん
13/01/14 19:01:10.81
マジなの?
913:デフォルトの名無しさん
13/01/14 19:06:48.98
相対パスで起動すれば相対パスで入ってるだろ
914:デフォルトの名無しさん
13/01/14 19:11:55.92
WindowsならGetFullPathName()つかってフルパス名に変換してた。
915:デフォルトの名無しさん
13/01/14 20:23:31.00
プログラミングを始めようと思っています
ゲームのチートツールなどを作りたいと思っているのですが
これに特化した言語はありますか?全ての言語で出来ると良いんですが・・・
916:デフォルトの名無しさん
13/01/14 20:36:57.47
Cかアセンブリ
917:デフォルトの名無しさん
13/01/14 20:40:14.02
>>916
かっこいいwwwありがとうございます!
918:デフォルトの名無しさん
13/01/14 20:41:31.10
こいつには無理だな
919:デフォルトの名無しさん
13/01/14 20:58:04.62
資格ってとった方がよいですか?
いいなら、1級までとる。
URLリンク(www.shikakude.com)
920:デフォルトの名無しさん
13/01/14 21:00:04.13
そんなもの糞のやくにもたたんひたすら書け
なんかしらんが宿題スレがいま盛況だからちょうどいい
921:デフォルトの名無しさん
13/01/14 21:13:43.60
そんな事より働く気なら基本情報位持ってないとバカだと思われるぞ
922:デフォルトの名無しさん
13/01/14 21:16:33.63
えーレバーあんま好きじゃないわ
レバーの魅力を語って
923:デフォルトの名無しさん
13/01/14 21:25:11.52
昔の一種くらいはほしいね今は何?今でもCやcaslやってるのか?いずれにせよ妬くには立たん
924:デフォルトの名無しさん
13/01/14 21:26:28.32
>>918
お前って馬鹿だな
925:デフォルトの名無しさん
13/01/14 21:40:49.51
>>919
会社でその資格に対して手当てとか出るなら、とったほうが良い。
そうでないなら、とる意味なし。
926:デフォルトの名無しさん
13/01/15 09:45:46.35
うわぁ