C/C++の宿題片付けます 159代目at TECH
C/C++の宿題片付けます 159代目 - 暇つぶし2ch571:デフォルトの名無しさん
12/08/25 03:08:42.25
>>570
ここに書け

572:デフォルトの名無しさん
12/08/25 03:43:59.72
>>566
URLリンク(ideone.com)

573: ◆QZaw55cn4c
12/08/25 05:18:11.37
>>566
スレリンク(tech板:402番)

574:デフォルトの名無しさん
12/08/25 10:31:21.30
>>◆5bhYRM1Rdk
何個も宿題書いてるみたいだけど
小出しにしないで全部書いたほうが良いよ
一連の問題だって分かると解答も変わるし

575:デフォルトの名無しさん
12/08/25 10:58:35.13
それから自分のソースを添削してもらいたい場合を除き問題はコピペする。
なぜかというと、アップしたサイトから問題が消えてしまうと、最近の地方都市の
ようにシャッターが下りたままだらけのスレとなってしまう。

576:デフォルトの名無しさん
12/08/25 15:24:15.40
>>573
ここにリンク張れ
変なスレに誘導すんなカス

577:デフォルトの名無しさん
12/08/25 16:41:38.84
できれば、小出しにしないでほしいな。
数多くてもいいいから。

578: ◆5bhYRM1Rdk
12/08/26 11:25:52.58
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
URLリンク(ideone.com)
URLリンク(ideone.com)
URLリンク(ideone.com)
URLリンク(ideone.com)

[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4]期限 1週間以内 



579:デフォルトの名無しさん
12/08/26 12:04:52.02
>>578
>>575

580:デフォルトの名無しさん
12/08/26 12:21:54.54
複数レスに渡るようなコードはうpろだに貼った方がいいけど
その場合でも問題の概要くらいは書いた方がいいな。手をつけてもらえなくなる

あとideone重い

581:デフォルトの名無しさん
12/08/26 17:54:05.36
>>578
酷い問題だなぁ
スタックとキューの実装比較がテーマなのにインターフェイスが異なるとかw
そも queue.rear って必要か?
print_queue_list() の実装も気持ち悪いし

582: ◆QZaw55cn4c
12/08/26 19:49:58.83
>>575
ideone や codepad は 5 年前の内容でも引っ張り出せる。5年前の自分のコードをみるとさすがに赤面ものだ

583:デフォルトの名無しさん
12/08/27 03:49:40.48
>>582
メールでやり取りするとまた削除対象になりますよ

584:デフォルトの名無しさん
12/08/27 20:27:33.77
>>578
Stack
URLリンク(ideone.com)

Queue
URLリンク(ideone.com)

585: ◆GnxmqzQNd3uR
12/08/28 03:49:37.29
main.cpp
URLリンク(paste.factorcode.org)
gff.h
URLリンク(paste.factorcode.org)

Struct[0]->Typeがメモリー上のデータではなくアドレスを指している理由が分かりません。
期待する動作としてはStruct[0]->TypeがStruct[1]->Type以降と同じようにデータを指すことです。
よろしくお願いします。

URLリンク(paste.factorcode.org)
実際の出力
0x005e43e8 Struct[0]->Type 0x005e43e8(6177768)
期待する出力
0x005e43e8 Struct[0]->Type 0xffffffff(4294967295)

586:デフォルトの名無しさん
12/08/28 04:11:30.99
洋ゲーのデータ読み込む宿題とは珍しい

587:デフォルトの名無しさん
12/08/28 04:53:11.55
>>585
test->Struct = (Struct *)(MEMORY_gff + 0x38);

で代入しちゃってるからなぁ
ローカル変数用意してそこに代入した方がいいかもね

Struct *testStruct = (Struct *)(MEMORY_gff + 0x38);
printf("0x%08lx\tStruct[%d]->Type\t0x%08lx(%lu)\r\n", &testStruct[i].Type, i, testStruct[i].Type, testStruct[i].Type);

あとマクロとか使ったほうがいいかもね
URLリンク(ideone.com)

588: ◆GnxmqzQNd3uR
12/08/28 05:12:56.58
>>587
ありがとうございます。

以下のような構造体を作ることは可能なのでしょうか?
可変長の部分は結局ポインタで繋げることになるのでしょうか?

構造体1
|=DWORD aa;
|-int bb;
|-構造体2[bb]
||-int count;
|\-DWORD aaa;
\-構造体3[bb]
|-char foobar[0][50];
|-char foobar[1][50];
\-char foobar[2][50];

589:デフォルトの名無しさん
12/08/28 05:27:50.84
>>588
>可変長の部分は結局ポインタで繋げることになるのでしょうか?
そうなるね

typedef struct {
  int attr;
  int num;
  int items[ ];
} info_t;

info_t *info = malloc(sizeof(info_t) + sizeof(int) * num);
info->num = num;

構造体の最後のメンバである時に限って0長配列メンバは可能だけど
これは全メンバのアドレスが決まっているから可能

590:デフォルトの名無しさん
12/08/28 06:12:13.24
>>589
0長配列が使える様になったのは何時ごろからか知ってる?
昔、Xlib とかの構造体では items[1] とかやってて面倒だった記憶が有るんだけど

591:デフォルトの名無しさん
12/08/28 06:41:31.08
>>590
規格としてはC99からっぽい
URLリンク(seclan.dll.jp)

MS-C ver.6から使えたが、ANSI準拠ではないので大っぴらには使ってなかったようだ

typedef struct tagBITMAPINFO {
  BITMAPINFOHEADER bmiHeader;
  RGBQUAD bmiColors[1];
} BITMAPINFO;


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch