[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 08/28 14:33 / Filesize : 188 KB / Number-of Response : 592
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C/C++の宿題片付けます 159代目



1 名前:デフォルトの名無しさん [2012/07/22(日) 23:08:24.46 ]
あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他の発言はスルーの方向で。

【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。 >>2以降にあります。
・問題文は、出題されたまま全文を書いてください。
・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。

486 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 02:15:47.04 ]
[1] プログラミング言語
[3] 環境
 [3.1] OS: Windows7
 [3.2] コンパイラ名とバージョン: Visual Studio2010 )
 [3.3] 言語: C++

int main(void){
 double d2, s2;
 int i;
 s2 = 0.0;
 d2 = 1.0/10000000.0;
 for(i = 0; i < 10000000; i++){
  s2 = s2 + d2;
 }
 printf("%f\n",s2);
 printf("%17.14f\n",s2);
 return 0;
}

上記のプログラムを実行すると,コマンドプロンプトには

1.000000
0.999999999750170

と出力される.
どちらも同じs2を出力しているのにもかかわらず,
表示させる桁数を変えるだけで出力内容が変わる理由,
および,2行目の方で計算結果が
1.000000000000000
とならない理由を述べよ.

487 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 02:23:35.48 ]
計算機ちゃんの気まぐれだろjk
自分のPCくらいちゃんと手懐けておけよ


488 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 07:18:36.76 ]
レスしないならウザいでください
わからないだけです

489 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 08:34:57.42 ]
>>486
期日書いてないから宿題と思わないし、C++じゃなくてCだと思うけども。
1) 2進数は習いましたか?
2) 浮動小数点数の表現方法は習いましたか?

それとも、あれかな。そのあたりを調べろっていう課題なのかね。

490 名前:486 mailto:sage [2012/08/21(火) 09:17:16.48 ]
>>489
すみません 2012-08-24までです

491 名前:486 mailto:sage [2012/08/21(火) 09:23:09.22 ]
>>489
1)習いました
2)習いました
どうしてこうなるかを調べる課題です
打ち切り誤差 桁落ち 情報欠落 丸め誤差のいずれかだと思うのですが

492 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 11:47:27.75 ]
>>491
なるほど。丸め誤差ですね。
e-words.jp/w/E4B8B8E38281E8AAA4E5B7AE.html
0.5 0.25 0.125 ... を組み合わせて足してできる小数でないと、
丸め誤差が生じます。
誤差をがある数を足しあわせたら、答えも誤差を含みます。
これが、答えの一方になります。
わかりづらいようでしたら、十進数の0.1を二進数に変換してみてください。
これが後段の答えです。
前段の答えは、
printf()が十進数でいうところの四捨五入を行う位置が違うからです。

私は国語が苦手なので、答えはそちらでまとめてくださいね。

493 名前:486 mailto:sage [2012/08/21(火) 11:51:58.96 ]
>>492
詳しくありがとうございました!なんとかなりそうです

494 名前:デフォルトの名無しさん [2012/08/21(火) 14:55:59.45 ]
[1] 授業単元:データベース概論(レポート内容がcプログラムを作成しなさいというものでしたので)
[2] 問題文(含コード&リンク):
1.
CSVファイルからAccessデータベースを作るプログラム
2.
7桁の郵便番号を与えると,その郵便番号に対応する住所を表示するプログラム.
3.
住所の一部を文字列として与えると,その文字列を含む住所と郵便番号を表示するプログラム.
www.mi.s.osakafu-u.ac.jp/~fujimoto/gakka/db/
の6月26日のものを参考にということです。

[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: すみませんわからないです
 [3.3] 言語: C
[4] 期限: 8月31日まで

データベースの講義ですのでここで質問してよいのかわかりませんがプログラムを作る課題でしたので、
分かる方ぜひおねがいします。




495 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 15:00:33.39 ]
こりゃアレだな
ken_all.csv を使えっていうお告げだ


496 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 19:32:35.34 ]
CからDB扱ったことないから、練習してみるか。週末ためしてみよう。

497 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 19:34:34.07 ]
いや
ちがうだろコレ

CでDBを作れっちゅー課題だ


498 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 19:46:50.11 ]
そもそもCSVの仕様はどうするの?
RFC4180準拠なの?
リンク先にある「CSVを楽に読みだすプログラム」みたいな馬鹿チョン仕様でいいの?

499 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 19:51:37.62 ]
>>498
お前がRFC4180準拠で書ける訳ないんだから選択の余地無しだろ

500 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 19:53:46.02 ]
値にメタ文字を含むと爆発するおそれがありますって書いておけばいい

501 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 19:54:18.96 ]
郵便局のサイトにあるCSVを読むんだろ
それg読めればいいだけだ


502 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 19:56:53.79 ]
>>499
え、お前かけないの

503 名前: 忍法帖【Lv=40,xxxPT】 mailto:sage [2012/08/21(火) 19:56:56.74 ]
>>494にあるURLに、材料は全部用意されてるよ。


504 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 20:02:01.89 ]
エスケープ後もエスケープ以外のメタ文字が残るような
クソフォーマットの話はこのスレではどうでもいいと思います



505 名前: 忍法帖【Lv=40,xxxPT】 mailto:sage [2012/08/21(火) 20:09:05.54 ]
Access上のテーブルは、予め作っておくのかな?
それとも、テーブルもプログラムで作成しろということなのかな?

506 名前:デフォルトの名無しさん [2012/08/21(火) 20:24:07.47 ]
                                /⌒ヽ⌒ヽ
                                       Y
                                    八  ヽ
                             (   __//. ヽ,, ,)
                              丶1    八.  !/
                               ζ,    八.  j
                                i    丿 、 j
                          ,. -‐=≦=|     八   |=≧=‐- 、
                        /´      !    i 、       `ヽ
  .,v─ーv_                 .{:::.:  ,:.    i し " i   '    .:、  :.:::}
..,i(厂  _,,,从vy               |::.:.: l::.   ノ (   i    i    .::l . :.:.::|
..l  ,zll^゙″  ゙ミ             ∧:.:... i::,    '~ヽ   !       .::i ...:.:∧
..《 il|′     フーv,_          !: :ヽ:. ::. . ..:. ,. |     i   .l .、.:.. . .:: .:ノ: :!              _( "''''''::::.
 \《 ヽ     .゙li ._¨''ーv,,_      {       ノ|   |   | |  ヽ    :::::::::::::::::::::::::::::;;;;;,, ---‐'' "^~
        ゙^ー、,,,¨ -   ''¨.─        / |     ;;-.;i       \
                       ,/       ,;-/;;; /' ''   ;;;X;,      ヽ
                           i'  /_,,;-‐''  |;;  ;i;;.. 〜  ;;| ''‐-;,,_\_  'i
                           i   `i     X〜 ;i;;; ;;     (___'_っ

507 名前: ◆5bhYRM1Rdk [2012/08/21(火) 21:41:04.88 ]
3 : ◆5bhYRM1Rdk :2012/08/19(日) 09:45:57.21
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):ideone.com/rYMeK
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4]期限 1週間以内 

508 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 21:41:13.68 ]
CSVファイルからAccessデータベースを作るプログラムってのは
1.create database
ttp://support.microsoft.com/kb/149558
2.create table
3.insert into
基本的にこんな流れか

509 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 22:10:22.54 ]
>>507
>strcpyするのに型が違うとコンパイルエラーが出たのですが、型は一緒だと私は思っているため、なぜ違うのかわかりません。
char と char*

>辞書的に後ろ前をif文でどのように表現すればいいのか
strcmp

>文字列結合にstrcatを使うと思うのですが、結合の合間にスペースをいれる方法
前半の文字列とスペースを結合後、その文字列と後半の文字列を結合

>>476を無視してるけど今回のコードを見る限り理解してないよね

510 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 22:25:36.92 ]
>>507
ttp://ideone.com/3MTzP

511 名前: ◆5bhYRM1Rdk [2012/08/21(火) 22:57:05.82 ]
>>509
>>476すいません、ファイル名を入力して改行してCTRL+dを押しても
ファイルが開けないってでるんですが、どういう意味でいっているのかわかりません。
>>510
分かりやすいプログラムありがとうございます。ただ関数内で使用しているfprintf,sprintf
は一体何をしているんでしょうか?fprintfはファイル書き込みの時に使用するのではないんですか?
sprintfは意味がわかりません・・・。それ以外は自分の理解不足、勘違いがよくわかりました。

512 名前: ◆5bhYRM1Rdk [2012/08/22(水) 00:55:45.30 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):ideone.com/eeKJB
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4]期限 1週間以内 


513 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 01:49:26.51 ]
>>512
ideone.com/evZS8

514 名前: ◆5bhYRM1Rdk [2012/08/22(水) 01:57:49.30 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):ideone.com/LGHF6
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4]期限 1週間以内 




515 名前: ◆5bhYRM1Rdk [2012/08/22(水) 02:07:46.45 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):ideone.com/ZXLEr
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4]期限 1週間以内 

516 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 03:21:00.95 ]
>>515
ttp://ideone.com/Pucit


517 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 06:13:25.45 ]
>>494
ttp://ideone.com/5cMkB
とりあえずCSVファイルをODBCで読み込むサンプル

518 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 09:08:34.85 ]
>>517
ttp://ideone.com/HrW7k
とりあえずここまで

519 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 13:35:57.49 ]
>>494
ttp://ideone.com/V8023
1.CSVファイルからAccessデータベースを作るプログラム

520 名前:デフォルトの名無しさん [2012/08/22(水) 13:58:49.70 ]
>>517,518,519
とてもはやい解答ありがとうございます。
大変助かります。

521 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 14:15:22.90 ]
[1] 授業単元:独学
[2] 問題文(含コード&リンク): ideone.com/jBgUV
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: VC++ 2010
 [3.3] 言語: どちらでも可
[4] 期限: 無期限
[5] その他の制限: 特になし

522 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 14:23:09.41 ]
>>494
ttp://ideone.com/Dw67o
2.7桁の郵便番号を与えると,その郵便番号に対応する住所を表示するプログラム.

ttp://ideone.com/5ncU5
3.住所の一部を文字列として与えると,その文字列を含む住所と郵便番号を表示するプログラム.

>>520
こちらも復習がてらやってます

523 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 15:16:25.85 ]
>>521
それ普通にこっちで聞いていいと思うよw
toro.2ch.net/test/read.cgi/tech/1341052801/

まず、typedef structを使うのはC言語の方で、C++ではtypedefは不要
ideone.com/cuuh4

C言語としてはそのソースはコンパイル出来ない
ideone.com/RYaVs
struct無しで変数宣言するなら「typedef struct _hoge2 {} _hoge2;」のように
後ろにtypedef名を書く必要がある
「struct _hoge2」の形式で変数宣言する必要がなければ「typedef struct {} _hoge2;」でいい
ideone.com/7ABDE

Cでどれを使うかというと人次第だけど typedef struct {} yyy; の形式が多いんじゃないかな
structだけでなくunionもね
実装側の詳細を多少隠蔽出来るから
ideone.com/TEs6W

524 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 15:26:30.72 ]
>>521
あとtypedefの話だったから書いてなかったけど
「_」で始まる名前と「__」(_が2個)を含む名前は使わないようにね
詳細はC C++ 予約名とかでググって



525 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 16:36:33.56 ]
>>524
ありがとうございます。
非常に参考になりました。

隠蔽についてはまだ理解仕切れてませんが、
これから学んでいきます。

526 名前: ◆t3V4YN9hBY [2012/08/23(木) 00:21:07.26 ]
【質問テンプレ】
[1] 授業単元: プログラミング演習
[2] 問題文
巡回セールスマン問題の厳密解を総当たり法で求めるプログラムを、再帰呼び出しを用いて作成せよ
(例)  1  2  3  4  5  6
  1 0 470 550 420 300 200
  2 470 0 800 900 770 560
  3 550 800 0 330 650 750
  4 420 900 330 0 450 400
  5 300 770 650 450 0 180
  6 200 560 750 400 180 0
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:Visual C++ 2010
 [3.3] 言語:C++
[4] 期限: 8月30日
[5] その他の制限:なし プログラムが動けばいいと教授に言われました。
どうぞよろしくお願いいたします。

527 名前:デフォルトの名無しさん mailto:sage [2012/08/23(木) 09:28:09.92 ]
それ
ナニ行列だったっけ


528 名前: ◆t3V4YN9hBY [2012/08/23(木) 09:58:11.31 ]
なに行列かはわかりませんが、
1→2→3→4→5→6 2230
といった結果を出すプログラムをつくるらしいのですが、
馬鹿だから俺には全くわからない。 

529 名前:デフォルトの名無しさん mailto:sage [2012/08/23(木) 10:04:41.06 ]
123456で全順列作って、合計距離を計算し、
最小値を出せば良いんじゃないの?


530 名前: ◆t3V4YN9hBY [2012/08/23(木) 10:45:44.49 ]
最小値は出さなくていいんです。全通りの合計距離がでれば

531 名前:デフォルトの名無しさん mailto:sage [2012/08/23(木) 11:31:32.59 ]
フツー
グラフ理論つったら
隣接行列使わね?

だからそれナニ行列なのよ


532 名前:デフォルトの名無しさん mailto:sage [2012/08/23(木) 11:54:32.80 ]
どう見ても隣接行列だろw

533 名前:デフォルトの名無しさん mailto:sage [2012/08/23(木) 12:00:20.80 ]
>>530
えっ? 最小値を出さなくていいの? 意味が分からんよ
巡回セールスマンって普通は「全通りの中で最小距離のもの」を求める問題なんだけど

534 名前: ◆5bhYRM1Rdk [2012/08/23(木) 12:16:07.06 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):[1] 授業単元:C言語
[2] 問題文(含コード&リンク):ideone.com/1Z7RF
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4]期限 1週間以内 




535 名前: ◆t3V4YN9hBY [2012/08/23(木) 12:20:58.04 ]
すいません。馬鹿なので勘違いしてました。529さんのいっているとおりで
123456で全順列作って、合計距離を計算し、
最小値を出せば良いんじゃないの?
ってことでよろしいです。よろしくお願いします。

536 名前:デフォルトの名無しさん mailto:sage [2012/08/23(木) 12:23:44.52 ]
>>534
ttp://ideone.com/idf6S

537 名前:デフォルトの名無しさん mailto:sage [2012/08/23(木) 12:42:40.34 ]
巡回セールスマン問題はNP困難なのだからまともに解こうと思うと非常に時間が掛かる
工夫が必要

ja.wikipedia.org/wiki/%E5%B7%A1%E5%9B%9E%E3%82%BB%E3%83%BC%E3%83%AB%E3%82%B9%E3%83%9E%E3%83%B3%E5%95%8F%E9%A1%8C

538 名前:デフォルトの名無しさん mailto:sage [2012/08/23(木) 12:51:50.38 ]
>>526
ideone.com/mxZHW

528とは少し表示の仕方が逆順だが

539 名前: ◆t3V4YN9hBY [2012/08/23(木) 16:11:10.90 ]
>>538
ありがとうございます。
6→5→4→3→2→1 の合計距離が違うと思うのですが・・・

540 名前:デフォルトの名無しさん mailto:sage [2012/08/23(木) 16:28:25.01 ]
1→2→3→4→5→6→1 じゃね?
巡回セールスマン問題は出発地に戻ってくるところまでだし

541 名前: ◆t3V4YN9hBY [2012/08/23(木) 16:32:03.72 ]
>>540
そうっすね^^じゃあ完成すね。ありがとうございました。
解読していきやす。

542 名前:538 mailto:sage [2012/08/23(木) 20:20:00.36 ]
すまんねw
528 で始点への枝が書いてなかったから省略するもんかと思ってたw

543 名前: ◆5bhYRM1Rdk [2012/08/23(木) 23:25:10.39 ]
>>516
>>536
分かりやすいプログラムありがとうございました。


544 名前: ◆5bhYRM1Rdk [2012/08/24(金) 00:39:58.49 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):[1] 授業単元:C言語
[2] 問題文(含コード&リンク):ideone.com/rVIkp
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4]期限 1週間以内 




545 名前: ◆5bhYRM1Rdk [2012/08/24(金) 00:47:14.72 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):ideone.com/bycLg
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4]期限 1週間以内 


546 名前: ◆5bhYRM1Rdk [2012/08/24(金) 00:58:28.44 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):ideone.com/Ax7di
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4]期限 1週間以内 



547 名前:デフォルトの名無しさん mailto:sage [2012/08/24(金) 01:00:33.37 ]
問題文くらい書き写せよ。

548 名前: ◆t3V4YN9hBY [2012/08/24(金) 01:23:58.54 ]
>>542
すいません。バイト終わって家で動かしたのですが、INFINITYとprevが識別できません。
どうすればよろしいでしょうか? 
お手数かけて申し訳ないっす;;

549 名前:デフォルトの名無しさん mailto:sage [2012/08/24(金) 02:05:14.92 ]
INFINITYじゃなくて<limits>をインクルードしてstd::numeric_limits<double>::infinity()
ってやればいいじゃんせっかくあるんだから

550 名前:デフォルトの名無しさん mailto:sage [2012/08/24(金) 06:37:39.16 ]
const double INF = 99999999; とかのでかい数突っ込んでおいてもよろしい

551 名前: ◆5bhYRM1Rdk [2012/08/24(金) 08:56:06.35 ]
544の問題を書いてみたんですが、なんで出力されないのでしょうか?コンパイルが通るので
分かりません
書いたコード→ideone.com/ky4CJ

552 名前:デフォルトの名無しさん mailto:sage [2012/08/24(金) 09:00:21.33 ]
>>551
ttp://ideone.com/As3OL

553 名前: ◆5bhYRM1Rdk [2012/08/24(金) 09:08:31.31 ]
>>すばやい回答ありがとうございます。あなたいつも回答してくれてるような・・

554 名前: ◆5bhYRM1Rdk [2012/08/24(金) 09:56:06.01 ]
545誰かお願いします。非スカラー型へのポイント変換ってなんですか・
書いたコード→ideone.com/ToYZ8



555 名前:デフォルトの名無しさん mailto:sage [2012/08/24(金) 10:03:40.64 ]
struct queue{
 struct data *top,*rear;
};
じゃなくて
struct queue{
 struct queue *top,*rear;
};
じゃねーの?

556 名前:555 mailto:sage [2012/08/24(金) 10:15:59.29 ]
ノードは自分で定義しろってことか
ideone.com/1n7lv

557 名前:555 mailto:sage [2012/08/24(金) 10:43:05.07 ]
>>546
ヒープ使うようにした
ideone.com/RW1M5

558 名前:デフォルトの名無しさん [2012/08/24(金) 10:43:32.15 ]
[1]授業単元:マイコン実習
[2]問題文 H8マイコンを使ってマイクロスイッチを押した回数をカウントして2桁LEDディスプレイに表示させるプログラムを作りたいです。
カウントリセットもできたりしたです。行く行くは音源を付けて流れるようにしたりマイクロスイッチの数を増やしたいです。
[3]環境
 [3.1]OS:Windows
 [3.2]コンパイラ名とバージョン:gcc
 [3.3]言語:C言語
[4]期限:8月31日
[5]その他の制限:

559 名前:デフォルトの名無しさん mailto:sage [2012/08/24(金) 10:49:49.98 ]
>>558
いいなぁ。楽しそう。1週間あれば余裕を持って作れるね。
おれも学生に戻りたい。

560 名前: ◆5bhYRM1Rdk [2012/08/25(土) 01:37:01.41 ]
>>556>>557ありがとうございます。
>>557なんですがヒープをまだ学習していないので>>556に延長する形で
cの初心者でもわかるように書いて欲しいのですが、誰かお願いします。

561 名前:デフォルトの名無しさん [2012/08/25(土) 01:41:25.04 ]
>>560
ヒープとは動的に確保されるメモリ領域のことだよ
malloc()とかで確保される領域ね

562 名前:デフォルトの名無しさん mailto:sage [2012/08/25(土) 01:43:33.09 ]
スタックだって動的じゃんw
何を言ってるんだ

563 名前:デフォルトの名無しさん [2012/08/25(土) 01:53:16.56 ]
>>562
>>561の1行目が言いたいこと
2行目はその一例

564 名前:デフォルトの名無しさん mailto:sage [2012/08/25(土) 02:34:20.18 ]
つまりスタックも動的なのでヒープであるってことでいいですか?



565 名前:デフォルトの名無しさん [2012/08/25(土) 02:43:21.11 ]
>>564
いくないです
>>561の動的と>>562の動的とは意味が異なる

566 名前: ◆5bhYRM1Rdk [2012/08/25(土) 02:45:27.43 ]
>>560は自己解決しましたすいません。
別の問題お願いします→ideone.com/djvSI

567 名前:デフォルトの名無しさん [2012/08/25(土) 02:48:50.62 ]
>>566
curとtopの変数の使い方逆じゃね?

568 名前: ◆5bhYRM1Rdk [2012/08/25(土) 02:53:14.26 ]
>>567コードを書いてほしいです

569 名前:デフォルトの名無しさん [2012/08/25(土) 02:58:05.64 ]
>>568
質問を書け

570 名前: ◆5bhYRM1Rdk [2012/08/25(土) 03:04:19.02 ]
>>567にかいてあるんですが、何か不足してますか?

571 名前:デフォルトの名無しさん [2012/08/25(土) 03:08:42.25 ]
>>570
ここに書け

572 名前:デフォルトの名無しさん mailto:sage [2012/08/25(土) 03:43:59.72 ]
>>566
ideone.com/LqC3i

573 名前: ◆QZaw55cn4c mailto:sage [2012/08/25(土) 05:18:11.37 ]
>>566
toro.2ch.net/test/read.cgi/tech/1313183984/402

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



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

576 名前:デフォルトの名無しさん mailto:sage [2012/08/25(土) 15:24:15.40 ]
>>573
ここにリンク張れ
変なスレに誘導すんなカス

577 名前:デフォルトの名無しさん mailto:sage [2012/08/25(土) 16:41:38.84 ]
できれば、小出しにしないでほしいな。
数多くてもいいいから。

578 名前: ◆5bhYRM1Rdk [2012/08/26(日) 11:25:52.58 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
ideone.com/vbxzo
ideone.com/d2Q9D
ideone.com/WX3WK
ideone.com/7PgFw

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



579 名前:デフォルトの名無しさん mailto:sage [2012/08/26(日) 12:04:52.02 ]
>>578
>>575

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

あとideone重い

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

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

583 名前:デフォルトの名無しさん mailto:sage [2012/08/27(月) 03:49:40.48 ]
>>582
メールでやり取りするとまた削除対象になりますよ

584 名前:デフォルトの名無しさん mailto:sage [2012/08/27(月) 20:27:33.77 ]
>>578
Stack
ideone.com/PLIcx

Queue
ideone.com/VLRFP



585 名前: ◆GnxmqzQNd3uR mailto:sage [2012/08/28(火) 03:49:37.29 ]
main.cpp
ttp://paste.factorcode.org/paste?id=2742
gff.h
ttp://paste.factorcode.org/paste?id=2741

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

ttp://paste.factorcode.org/paste?id=2740
実際の出力
0x005e43e8 Struct[0]->Type 0x005e43e8(6177768)
期待する出力
0x005e43e8 Struct[0]->Type 0xffffffff(4294967295)

586 名前:デフォルトの名無しさん mailto:sage [2012/08/28(火) 04:11:30.99 ]
洋ゲーのデータ読み込む宿題とは珍しい

587 名前:デフォルトの名無しさん mailto:sage [2012/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);

あとマクロとか使ったほうがいいかもね
ttp://ideone.com/cDq75

588 名前: ◆GnxmqzQNd3uR mailto:sage [2012/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 名前:デフォルトの名無しさん mailto:sage [2012/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 名前:デフォルトの名無しさん mailto:sage [2012/08/28(火) 06:12:13.24 ]
>>589
0長配列が使える様になったのは何時ごろからか知ってる?
昔、Xlib とかの構造体では items[1] とかやってて面倒だった記憶が有るんだけど

591 名前:デフォルトの名無しさん mailto:sage [2012/08/28(火) 06:41:31.08 ]
>>590
規格としてはC99からっぽい
ttp://seclan.dll.jp/c99d/c99d04.htm

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

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






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<188KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef