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


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

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



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

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

【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):()
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
【C 関数検索 man on WWW】 www.linux.or.jp/JM/index.html
【過去ログ検索】        chomework.sakura.ne.jp/
【wiki】               www23.atwiki.jp/homework/

【前スレ】
C/C++の宿題を片付けます 104代目
pc11.2ch.net/test/read.cgi/tech/1202135539/

152 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 17:48:27 ]
>>143
A
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6290.txt

153 名前:149 mailto:sage [2008/04/20(日) 17:49:56 ]
すんません、3つプログラム作らないとダメなんですね。
読み間違ってました。

154 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:13:49 ]
>>146
次のソースで試してみました。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6291.txt
環境:
WindowsXP/cygwin(gcc.3.4.4)
Vine Linux 4.1(kernel 2.6.15) / gcc
FreeBSD 6.2 / gcc
MS-DOS ver6.2(NEC) / lsic(3.30c), borland c(3.1), ms-c(6)

結果をみるかぎり、>>139, >>141 が正しいように思えるのですが、如何に?



155 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:16:08 ]
>>143
B
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6292.txt

>>149
すいません、横から仕事取っちゃいました。

156 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:28:04 ]
>>149
>3、4流っぽい気が
それはお手本のソースを見ない限りなんともいえませんが、それは提示されてましたっけ。

157 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:29:25 ]
>>123
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6293.c
意外に手こずってしまった
間違ってたらごめんね

158 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 19:09:34 ]
>>157
ありがとうございます!
ちょっと家のPC不調なんで学校行って実行してみます

159 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 19:19:23 ]
>>154
ここ、宿題スレ。あとな、お前何が言いたいの?
あのリストを作るプログラムをちゃんと見たか?w
getchar() が使われているんだが???

160 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 20:07:23 ]
>>149
それをいうならアンダースコアから始まる変数名を使って欲しくはない
(わざとやってるんじゃなければ)



161 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 20:12:35 ]
自分の信じている土台が揺らぎ始めたのを本能的に察知して相手をたたき出すことにしたようですね。
なるほど、なるほど。

162 名前:149 mailto:sage [2008/04/20(日) 20:15:42 ]
外部に公開する必要のないシンボルや、どうでもいいテンポラリな変数は先頭_で始めてます。

163 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 20:21:12 ]
>>162
アンダースコアで始まる名前は処理系のために予約されていることになってるから
使わないほうがいいと思うよ

164 名前: ◆wIggSzRFEU [2008/04/20(日) 20:26:38 ]
1 情報

2 人数a人のクラスで野球チーム(9人)をbチーム作成した。
このとき残りのメンバーでバレーチーム(6人)を何チーム作れ、何人あまるかを出力する。

3 Windows
テラタームを使ってます


4 2008年4月21日06時

5 scanfを用いるみたいです・・・
難しい関数は習ってません

よろしくお願いします。

165 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 20:28:17 ]
プログラムの問題なのか?算数の問題じゃなくて?

166 名前: ◆wIggSzRFEU [2008/04/20(日) 20:29:59 ]
そうです・・・

167 名前:149 mailto:sage [2008/04/20(日) 20:32:57 ]
>>163
そのような話は聞いたことがないのですが、それは処理系依存の話でしょうか?
よく見る他人のソースがlinuxのkernelソースだったもんで普通に使ってました。

168 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 20:33:06 ]
>>164
#include<stdio.h>

int main(void)
{
int a, b, c; // a:クラスの人数 b:野球チーム数 c:バレーチーム数

printf("クラスの人数を入力してください : ");
scanf("%d", &a);
if(a<0) return 1;

for(b=0;b*9<=a;b++)
{
c=(a-b*9)/6;
printf("野球チーム数:%d バレーチーム数:%d あまり人数:%d\n", b, c, a-b*9-c*6);
}

return 0;
}

169 名前:デフォルトの名無しさん [2008/04/20(日) 20:35:14 ]
>>168
ありがとうございます!

170 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 20:36:20 ]
bも入力するんじゃないの?



171 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 20:41:53 ]
野球チーム一つ分の人数を数値から引いて、
その数でバレーチームが何人作れて、
何人余るかじゃないの?

172 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 20:44:54 ]
>>167
処理系のために予約されてるんだから、当然規格で決まってる
ただまぁアンダースコアで始まるすべての名前が予約されてるわけじゃないけど

173 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 20:59:16 ]
>>123です
>>157さんのプログラム拝見させて頂きました
恐らく>>64での課題とまとめたソースだと思うのですが
既に>>64を実行してとっているデータ(>>132のような)
を読み込んで演算を行うようにしたいのですが
どうすればいいでしょうか?

あとオーバーフローチェックのところのLLONG_MAXが使用されてなく
エラーが出てしまいます

174 名前:デフォルトの名無しさん [2008/04/20(日) 21:00:54 ]
>>170
>>171

すみません
おっしゃるとおりです;

175 名前:デフォルトの名無しさん [2008/04/20(日) 21:15:18 ]
>>164をお願いします・・

176 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 21:15:32 ]
>>167
すまん、ググってみたが確かなソースにたどり着けなかった

177 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 21:21:58 ]
>>175
aとbを入力する場合
#include <stdio.h>

int main(void)
{
int a, b;

scanf("%d", &a);
scanf("%d", &b);

a -= b * 9;
if(a < 0) return 0;

printf("チーム数:%d\nあまり:%d\n", a / 6, a % 6);

return 0;
}


178 名前:デフォルトの名無しさん [2008/04/20(日) 21:24:15 ]
>>177
ありがとうございます

179 名前:デフォルトの名無しさん [2008/04/20(日) 21:27:15 ]
>>177
if を使わないではできませんか?

180 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 21:30:10 ]
#include<stdio.h>
void main (void)
{
int a,b,c,d,e;
printf("人数入力:");
scanf("%d",&a);
printf("野チーム数:");
scanf("%d",&b);
c=a-(b*9);
d=c/6;
e=c%6;
printf("人数:%d 野数:%d バレ数:%d 余:%d",a,b,d,e);
}
だめ?



181 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 21:42:33 ]
if文削除すればいいだけだろ。
野球チーム数多すぎた場合変なことになるけど。

182 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 23:05:37 ]
[1] 授業単元:プログラミング演習1
[2] 問題文(含コード&リンク):
キーボードからABCDと円周率を入力して「ABCD3.14と」表示させるプログラム
変数は1つで
[3] 環境
[3.1] OS:問わず
[3.2] コンパイラ名とバージョン:VC++6.0
[3.3] 言語:C++だけど基本範囲?
[4] 期限:[2008年04月21日23:59まで]
[5] その他の制限:基本領域なのでstdio.hのみ

よろしくお願いしますm(__)m

183 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 23:08:50 ]
C++なのにstdio.hでいいんだな?別にやっちゃいけないわけじゃないけどいいんだな?

184 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 23:11:23 ]
C++ならcstdioだろうな。

185 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 23:12:41 ]
それより問題文が意味不明なのだが

186 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 23:24:21 ]
>ABCDと円周率
と入力すると
>ABCD3.14と
になるように変換すればいいんだろ
円周率という文字を3.14に置き換えて、「と」を後ろにすればいいんじゃないかな?

187 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 23:31:52 ]
>>182
できた。

#include <stdio.h>
int main()
{
char buf[100];
scanf("%s", buf);
puts("ABCD3.14と");
return 0;
}

188 名前:182 mailto:sage [2008/04/20(日) 23:58:08 ]
>>183-187
素早いレスサンクス。

>>183-184
stdioで桶です

>>185-186
プロセスとしては
起動>入力「ABCD」>入力「3.141592653」で
出力「ABCD3.14」
入力ミスで「」のなかに と を入れてしまいますたorz

>>187ので通るかどうか…多分先生笑顔で×くれてきそう(涙

189 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 00:00:25 ]
なんてくだらない設問なんだ。

190 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 00:04:44 ]
>>188
文字列と小数に関する入力・出力の課題というわけだな。
しかし、
> 変数は1つで
この条件はマジ?



191 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 00:22:16 ]
>>182
#include <stdio.h>
void main() { char buf[16]; gets(&buf[0]); gets(&buf[4]); buf[8] = '\0'; puts(buf); }

192 名前:182 mailto:sage [2008/04/21(月) 00:31:51 ]
>>190
マジですorz

193 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 00:33:39 ]
>>182
できた。

#include <stdio.h>
int main()
{
char buf[100 + sizeof(float)];
scanf("%s", buf);
scanf("%f", buf+100);
printf("%s%.2f\n", buf, *(float*)(buf+100));
return 0;
}

194 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 02:19:26 ]
>>182
これで基本?
#include<stdio.h>

int main(void)
{
char buf[100+1];

setvbuf(stdout, NULL, _IOFBF, 1024);

fprintf(stderr, "入力「ABCD」>", buf);
scanf("%100s", buf);
printf("%s", buf);

fprintf(stderr, "入力「3.141592653」>", buf);
scanf("%lf", buf);
printf("%.2f\n", *(double*)buf);

fflush(stdout);

return 0;
}

195 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 08:35:07 ]
139 名前:デフォルトの名無しさん 投稿日:2008/04/20(日) 14:42:29
>>138
普通、EOFは入力できないのだが。 < 出来るんだが・・・

141 名前:デフォルトの名無しさん 投稿日:2008/04/20(日) 15:03:54
いいえ、それは一部の環境において入力を閉じる行為です。  < 話が分かってない・・・

196 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 08:37:55 ]
EOFっていったら普通Ctrl-Dで入力だな

197 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 08:44:35 ]
EOFがキーボードから入力できないとしても、どのファイルには
ファイルの終わりを意味するEOFコードが記録されていますし
それを入力受付として使うことも可能ですが何か?w
これだから初心者、素人は・・・ナンバーサイン野郎の妄想に惑わされるなよ。

198 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 08:49:57 ]
あと、そいつが言っているのはEOF対策として、freadが指定したFILEストリームから
指定したポインタへ取り込まないという性質についてだろ?だったら最初から
EOFが 入力 出来ないという勘違いは言わなきゃ良かったんだよ。
言いたいことが相手に的確に伝えられない、誤解を生じさせて損をして生きている奴って
世の中普通にいるしなw こんなところでだから、見ず知らずの人に理解してもらおうと
必死になったんだろうけど、それを相手のエスパーで理解してもらわなきゃ通じないって
どんだけコミュニケーションが下手なんだよ、ナンバーサイン君は?

199 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 11:35:31 ]
ナンバーサイン君って誰?

200 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 12:01:24 ]
いちいち蒸し返すなよ



201 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 12:22:47 ]
[1] 授業単元: プログラミング実習
[2] 問題文
数学関数を使って,0以上10未満の範囲で平方根(sqrt)の対応表を出力しなさい.小数点の刻みを0.01とすること.
[3] 環境
 [3.1] OS:Windows/Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 4/22

202 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 13:45:07 ]
#include <stdio.h>
#include <math.h>

int main(void)
{
double a;

for(a=0; a<10; a+=0.01) printf("√%.2f = %f\n", a, sqrt(a));

return 0;
}

って書くと減点されるんだろうな。

203 名前:デフォルトの名無しさん [2008/04/21(月) 14:56:39 ]
>>202
負の方が表示されないからな。

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

int main()
{
int i;

for(i=0;i<1000;i++)
printf("√%.2f = %f, -%f\n",i/100.0,sqrt(i/100.0),sqrt(i/100.0));

return 0;
}

204 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 15:03:24 ]
>>203
負?フッ

205 名前:デフォルトの名無しさん [2008/04/21(月) 15:25:35 ]
sqrt()2回とかw

206 名前:182 mailto:sage [2008/04/21(月) 15:30:31 ]
>>192-194
作成ありがとうございます。
先生に出したら一つめの方がやり直し、二つ目は「同時に表示できてないな(藁」
とあっさり×&デコピンを頂戴致しました(泣
文字列と小数を同時ディスカ・・・orz

207 名前:デフォルトの名無しさん [2008/04/21(月) 15:35:03 ]
>>182は何を意図した問題なのかさっぱりわからん。

208 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 15:35:07 ]
>>206
#include <stdio.h>

struct hoge{
char str[100];
double value;
};

int main(void){
struct hoge foo;

scanf("%s", foo.str);
scanf("%lf", &foo.value);
printf("%s%.2f\n", foo.str, foo.value);

return 0;
}

209 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 15:42:37 ]
エスパーktkr

210 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 15:52:59 ]
>>206
>>194 は同時に表示するはずだが…



211 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 17:23:33 ]
>>208
変数3つ使ってるじゃん

212 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 17:24:59 ]
>>211
三つってどれ?

213 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 19:46:48 ]
>>173
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6296.c
要望どおりに変更してみたが、ちゃんとチェックしてないので手痛いミスがあるかもしれん

>>あとオーバーフローチェックのところのLLONG_MAXが使用されてなく
>>エラーが出てしまいます
いまんいち意味がわからない
コンパイルできないなら、その部分削除したらいいよ
ためしにカッコつけて入れてみただけだから

214 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 19:50:32 ]
>>212
char
double
struct hoge

215 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 20:12:55 ]
それは変数じゃなくて型名

216 名前:154 mailto:sage [2008/04/21(月) 20:13:52 ]
>>111
当方で確認した環境は WindowsXP, 処理系は cygwin(gcc 3.4.4) です。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6298.txt
プログラミングにあたっては、次を参照しました。
ja.wikipedia.org/wiki/%E9%96%8B%E5%B9%B3%E6%B3%95
この説明にそって書いたのですが、どうやらわかりにくくなってしまったようです。
>>159
>ここ、宿題スレ。
#これは失礼。では宿題をときながらではいかが?
>getchar() が使われているんだが???
#たしかに getchar() の返り値を int で受けていない、EOF をチェックしてない、など些細ですがまずいところはありますね。
>>197
>どのファイルにはファイルの終わりを意味するEOFコードが記録されていますし
#いいえ、記録しておく必要はありませんし記録していません。
#>>139 の記述がおおむね正しいのです。
>>200
>いちいち蒸し返すなよ
#ごめんなさい。宿題解きながらということで、ご勘弁ください。

217 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 20:18:12 ]
>>216
バカか・・・んじゃどうしてプログラムはEOFを検出して動作したんだ?ん?
お前は入力は 印字可能な文字 のみだと思ってんの?w
コンピュータ、電子計算機がやっている基本だよ、入出力って。
その中に人間が決めた定義、その中にEOFも改行コードなども
印字不可能でも存在するデータがあるんだがw
いい加減失せろ、ナンバーサインバカw

218 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 20:19:01 ]
蒸し返すな!値を返せ!by return

219 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 20:20:18 ]
www.google.co.jp/search?hl=ja&client=firefox&rls=org.mozilla%3Aja%3Aofficial&hs=o5t&q=EOF+%E5%85%A5%E5%8A%9B&btnG=%E6%A4%9C%E7%B4%A2&lr=lang_ja
普通にEOFの入力が可能です、ありがとうございました。

220 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 20:22:51 ]
リダイレクトも知らなさそうだな、ナンバーサインは・・・



221 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 20:24:03 ]
そんなことよりコナン観ようぜ

222 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 21:27:20 ]
[1] 授業単元:アルゴリズムとデータ構造
[2] 問題文:jubilo.cis.ibaraki.ac.jp/~isemba/PROGRAM/CPROG/214.pdf
6.課題を全て
[3] 環境
 [3.1] OS:Windows
 [3.3] 言語:C
[4] 期限:4月27日まで
[5] 問題のプログラムの赤枠を埋める感じでお願いします。
どなたかよろしくお願いします。

223 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 21:40:10 ]
ここに投稿したことたぶんバレるぞ

224 名前:デフォルトの名無しさん mailto:age [2008/04/21(月) 22:22:31 ]
[1] 授業単元:OSプログラミング入門
[2] 問題文:OSにおけるセキュリティーホールを検出するプログラムを作成せよ
[3] 環境
 [3.1] OS:Windows
 [3.3] 言語:C
[4] 期限:4月27日まで
[5] セキュリティーホールが発見された場合は自動で修正するように
機能を付けること

225 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:31:51 ]
ねーよw

226 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 23:03:20 ]
ゲイツ自重wwwwwwww

227 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 23:05:39 ]
#include<stdio.h>
int main(void)
{
int a = 5, b = 3;
double d;

d =(int)(((double)a / b) + 0.5));
printf("%f\n", d);
return 0;
}
これで何故かエラーがでるんですがどこがおかしいのでしょうか?

228 名前:111 mailto:sage [2008/04/21(月) 23:07:21 ]
>>154
丁寧なレスありがとうございます。
本当に助かりました。
せっかくなので頑張って解読してみます!



229 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 23:10:51 ]
>>227
VIPで聞けばいいじゃん
あとどんなエラーが出てるのか位書かないと答えようが無い
まあどうせ)とかだろうけど

230 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 23:11:18 ]
d =(int)(((double)a / b) + 0.5));

) が一個余分



231 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 23:12:21 ]
7行目にステートメント;がないといわれます。

232 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 23:37:24 ]
>>206
じゃあ次は>>191を提出してみましょう

233 名前:デフォルトの名無しさん [2008/04/21(月) 23:42:01 ]
[1] 授業単元: C++
[2] 問題文
サイコロのプログラムをつくりなさい
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン: borland C++ 5.5.1 for win
 [3.3] 言語: C++
[4]特になし、長いので分けて書きます。
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
Class Dice{
int face;
int value;

public:
Dice(int f)
{
face=f;
srand((unsigned)time(NULL));
value=rand()%face+1;
}
Dice()
{
face=6;
srand((unsigned)time(NULL));
value=rand()%face+1;
}


234 名前:デフォルトの名無しさん [2008/04/21(月) 23:45:11 ]
>>233の続きです
void throwDice()
{
srand((unsigned)time(NULL));
value=rand()%face+1;
}
int read()
{
return value;
}
}
int main()
{
Dice d6;
Dice d10(10);
d6.throwDice(6);
d10.throwDice();
cout<<"6面体の目:"<<d6.read()<<endl;
cout<<"10面体の目:"<<d10.read()<<endl;
return 0;
}
エラー2141 dice2.cpp5:宣言の構文エラーとでます
ソースの問題でしょうか?
お願いします


235 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 23:48:31 ]
>>233
Classじゃなくてclass
小文字だよ。

236 名前:デフォルトの名無しさん [2008/04/22(火) 00:04:22 ]
throwDice()にsrand()はいらないだろ。

237 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:07:19 ]
素早く振ると同じ目ばかり出るよな。
さらに言えば、コンストラクタでもsrandしないほうがいい。
mainで1回だけやればいい。

238 名前:デフォルトの名無しさん [2008/04/22(火) 00:11:39 ]
Main関数で5つの整数を読み込み,
その平均(double)を
画面に出力するプログラムです
また5つの引数を受け取り,
平均を返す関数mean_calc5(・・・)
を呼び出し,返された平均値をmain関数で画面出力すること

C言語です  お願いします



239 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:16:12 ]
>>238
>1

240 名前:デフォルトの名無しさん mailto:¥sage [2008/04/22(火) 00:16:23 ]
>>235
ありがとうございます。
またうっかりミスです。
>>236
>>237
ご指摘ありがとうございます。
<問題>の部分で省略したのですが
オブジェクト指向で
物体としてのサイコロをプログラムで作りなさいという項目
があったので、あえてコンストラクタでsrandをいれました。
実際のサイコロも置いた瞬間に目がででいるという事だそうです




241 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:19:27 ]
>>222
当方で確認した環境は WindowsXP, 処理系はcygwin(gcc 3.4.4) です。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6299.txt
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6300.txt
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6301.txt
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6303.txt
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6304.txt
最後の2つは、私は出題者の狙いをはっきりとは汲み取ることができませんでしたので、もしかするとはずれているかもしれないこと、ご容赦ください。

>>217
>その中にEOFも改行コードなども印字不可能でも存在するデータがあるんだが
##では、実際にファイルを覗いて見てください。
##1) すべてのファイルに共通の EOF がありますか?
##2) あなたの環境の include\stdio.h にある EOF はどう define されていますか?それがすべてのファイルの末尾におかれていますか?
##私の環境では #define EOF (-1) ですが、すべてのファイルの末尾 1 バイトが -1 = 0xffというわけではありません。
##3) ^D や ^Z の値が -1 なのでしょうか?
>>198
>freadが指定したFILEストリームから指定したポインタへ取り込まないという性質についてだろ?
##getchar()≒getc(stdin) or fgetc(stdin) ですから、getchar() も fread() と同じくストリームを見ています。stdin だろうとファイルだろうと同じことなんですが。
##で、>>154 で示したとおり、stdin には EOF は格納されていません。
>>220
##リダイレクトに関係する関数, pipe() や dup() あるいは dup2() (POSIX) は fd です。今はCライブラリ関数の fp を問題にしています。
>>218
>蒸し返すな
##宿題を解きながら、ですのでご勘弁を。

242 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:24:12 ]
ん、リダイレクトに pipe() はかんけいないですね。しつれい。

243 名前:173 mailto:sage [2008/04/22(火) 00:28:15 ]
>>213
お手数かけてスミマセン
どうもありがとうございました!

244 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:30:42 ]
>srand
は乱数関数の"初期化"だ

乱数関数を実行して値を取得するのが
>実際のサイコロも置いた瞬間に目がででいる
という事だ


245 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 01:18:48 ]
>>238
#include <stdio.h>

void Main( int* data, int num )
{
int i;
for( i = 0 ; i < num ; i ++ )
{
printf( "値%d:", i+1 );
scanf( "%d", data+i );
}
}

double mean_calc5( int v0, int v1, int v2, int v3, int v4 )
{
return ((double)v0 + v1 + v2 + v3 + v4) / 5;
}

int main()
{
int data[5];
Main( data, 5 );
printf( "平均値=%f\n", mean_calc5( data[0], data[1], data[2], data[3], data[4] ) );
return 0;
}

246 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 02:16:19 ]
入力を閉じることを「EOFを入力する」と表現することがあると、
146が認めればすむだけのことに思える。

ちなみに、DOSやCP/Mには、テキストファイルの終わりに0x1Aの1バイトを置く風習があった。
support.microsoft.com/kb/405482/ja
DOSでのC処理系の実装では、テキストモードでファイルを読み取るとき、
0x1Aが現れたら(後ろにまだデータがあっても)ファイルの終わりとし、
getcでEOF(もちろん値は-1)を返したり、fgetsでNULLを返すという風にしていた。
(もちろんバイナリモードではやらない)
標準入力からも、Ctrl+Zで0x1Aを入力可能で、あとはファイルの場合と同じ。

そして、Windowsでは、ファイルに0x1Aを置く習慣も廃れ、
また、コンソール(標準入力)でのCtrl+Zは、0x1Aの入力ではなく、
OSがストリームの終わりに達したという扱いに変換するようになっているというのは
Win32コンソールを触ったことがあれば想像の通り。

247 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 02:42:06 ]
スレ違いウザイ

248 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 06:04:25 ]
>>246
入力 の意味を理解してから出直せ、ボケ初心者

249 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 06:09:41 ]
>>248
おまえが考えてる入力の意味ってなに?

250 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 06:17:08 ]
>>249
自分で調べろよw 基本はデータを読み込む、取り込む。それが文字だろうと数値データだろうと
デジタル機器においては、入出力されるデータは全て数値データ、もっと追求すると
2進法で記録された0と1の組み合わせだよ。その0と1の組み合わせを人間が都合よく
解釈、理解できるように実装されたコンピュータで扱いっているが、EOFが値として
どのように定義されていうと思う?-1と記されて言る資料がほとんどだろ?
EOFがファイルの終わりというのは、人間が都合よく定義した決まりごとであって
所詮は数値データに過ぎないんだよ、これくらい大学に通った奴なら普通に分かるw

っつか、お前はナンバーサインじゃないだろ?何そんな知ったかの肩を持って
このスレにこんな時間まで粘着して、自分の無知を晒してんの?w



251 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 06:22:05 ]
www.google.co.jp/search?hl=ja&q=EOF%E3%80%80%E5%85%A5%E5%8A%9B&lr=&btnG=Google+%E6%A4%9C%E7%B4%A2
EOFの入力は可能です、ありがとうございました。
この粘着はgetcharやfread、fgetc、fgetsなどの ライブラリ の動作について
いちいち話をするが、それらがプログラムの動作において EOF を検出して
どう動作するかについて話をしているが、完全に思い違い。
指定したポインタ、変数へ格納するかどうか?についても話をしているんだろうけど
EOF、すなわちファイルの終わり、それを検出してファイルに書き出す、あるいは
ファイルを読み込んでいるという基本的な処理の例があるにもかかわらず
まだ EOF が入力されないという大ボケをかますプログラマ以前に
コンピュータを扱う技術者としては相応しくない知ったか。いるよな、こういう
聞き分けのない、自分が思ったことをいつまでも相手に理解してもらおうという奴。
完全に筋の通る理論で論破されているのにw

ちなみに、標準入力からはキーボードによる入力でも可能だし、リダイレクトや指定の
ライブラリによるファイルの読みは可能。誰かさん、墓穴を掘ったがファイルの終わりが
全てのファイルにあるのか?って突っ込み、痛すぎ・・・原則として、ファイルの終わりを
示すコードは存在するよw 存在しない例外とも言えるファイルを持ち出そうと必死になるが
本題を崩すなよ。

EOFが入力されるかどうか?についてだろ。すでに昔から存在する事実を
何をいまさら、かじり始めた青二才が必死に反論してんだ?????
頼むからこんなところに来る、自分に反論する人だけに対して
わけのわからん理論で反論せんで、大学の教授にでも質問しろよw

ちなみに、自分は通っていた大学には東大、京大卒の教授が何人もいましたよ。

252 名前:249 mailto:sage [2008/04/22(火) 06:24:37 ]
>>248が何を食いついてるのかよく分からなかった
EOFに関して>>246>>250ともおかしなこと言ってる訳じゃないのに
議論がかみ合わないのは不思議だと思いますた






[ 続きを読む ] / [ 携帯版 ]

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

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