C/C++の宿題片付けま ..
415:デフォルトの名無しさん
09/03/19 09:21:23
#include <stdio.h>
#define N 10
struct goodstype {
char name[30]; /* 商品名 */
struct pricetype {
int teika; /* 定価 */
int waribiki; /* 割り引き価格 */
} kakaku;
} goods[N];
int main(void)
{
int i, num;
struct goodstype *work;
for(i=0; i<N; i++) {
work = &goods[i];
printf("商品名[%d/%d]?",i+1,N); fgets(work->name, 30, stdin);
work->name[strlen(work->name)-1] = '\0';
do {
printf("定価[%d/%d]?",i+1,N); num = scanf("%d", &work->kakaku.teika); getchar();
} while(num == 0);
if(work->kakaku.teika >= 1000)
work->kakaku.waribiki = work->kakaku.teika * (1-0.2);
else
work->kakaku.waribiki = work->kakaku.teika * (1-0.1);
}
printf("商品名,定価,割り引き価格\n");
for(i=0; i<N; i++) {
work = &goods[i];
printf("\"%s\",%d,%d\n",work->name, work->kakaku.teika, work->kakaku.waribiki);
}
return 0;
} >>407
416:407
09/03/19 16:23:45
>>415さんありがとうございます
417:デフォルトの名無しさん
09/03/20 01:16:32
>>405
こうか?
URLリンク(kansai2channeler.hp.infoseek.co.jp)
サンプルにファイルを読む関数がないんだが、「読み込みなさい」とか「調べなさい」は手作業?
探索や削除が間違っとる気がして変えたが、間違ってなかったらマクロを両方とも100に戻しといてくれ。
418:417
09/03/20 01:48:36
ごめん。寝付けん暇つぶしでやっとったら、期限見落としとったorz
419:デフォルトの名無しさん
09/03/20 17:59:26
ネタ投下キボン
420:デフォルトの名無しさん
09/03/20 19:57:17
問題出す方も大変だ。
[1] 授業単元:
[2] 問題文(含コード&リンク): スレリンク(tech板:211番)
【 課題 】
課題1.
以下のような賭をすることを考えます.
1. 開始時の所持金をA円とします.
2. 目標とする金額をB円とします.
3. さいころを投げて偶数の場合は1円を獲得,奇数の場合は1円を失います.
4. 所持金が目標額のB円に到達すれば賭は終了,また所持金が0になった場合は破産で終了とします.
数学的な考察をすると,この賭の期待値はA円となります.つまり,何回もこの賭を続けていると,成功したり破産したりしますが,平均すると元の所持金しか得られないということです.
また,勝ち負けまでに投げるさいころの回数の平均は,(B-A)×Aとなります.
たとえば,開始時の所持金をA=8円,目標額をB=10円とすると,勝つ確率は8割,1ゲームあたり平均すると(10-8)×8=16回,さいころを投げることになります.
このことは,賭をしても儲からない,ことを意味していますね.
このことを確かめるプログラムを作成しなさい.
421:デフォルトの名無しさん
09/03/20 21:02:31
入力した文字に対応するモールス信号を出力するプログラム、お願いします
422:デフォルトの名無しさん
09/03/20 21:12:20
>>1
423:デフォルトの名無しさん
09/03/20 21:14:19
>>421テンプレ嫁
424:デフォルトの名無しさん
09/03/20 21:17:15
読んだけど課題じゃないし書くのめんどくさい
頼んだぜ
425:デフォルトの名無しさん
09/03/20 23:06:55
>>424
・・・−−−・・・
426:デフォルトの名無しさん
09/03/21 00:39:28
>このことは,賭をしても儲からない,ことを意味していますね.
ダウト。一部の人間が損をし(破産し)、一部の人間が儲かることを意味している。
427:デフォルトの名無しさん
09/03/21 00:46:19
分散と試行回数による
428:デフォルトの名無しさん
09/03/21 00:51:43
問題の問題点を指摘するルートに入ってるw
>問題出す方も大変だ。
本人も問題を出すつもりだったのだから,本望かw
429:デフォルトの名無しさん
09/03/21 00:54:33
>また,勝ち負けまでに投げるさいころの回数の平均は,(B-A)×Aとなります.
マジで?
430:デフォルトの名無しさん
09/03/21 02:21:08
[1] 授業単元:C言語
[2] 問題文:URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1]OS:Win
[3.2] VC 6.0
[3.3]言語:C
[4]期限:3月24日
[5]その他の制限:main関数以外に自作の関数を利用する
どなたかよろしくお願いします。
431:デフォルトの名無しさん
09/03/21 02:39:02
>>430
最高に間抜けだな
432:デフォルトの名無しさん
09/03/21 02:41:04
前スレにあった気がする
433:デフォルトの名無しさん
09/03/21 02:42:14
スレと時刻的に8992だろ?
434:デフォルトの名無しさん
09/03/21 02:57:50
>>430
8992で合ってんなら
URLリンク(kansai2channeler.hp.infoseek.co.jp)
435:デフォルトの名無しさん
09/03/21 03:38:25
>>420
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int i, j, targetMoney, startMoney, currentMoney;
int totalGame = 10000, totalDice = 0, totalWin = 0;
srand(time(NULL));
printf("所持金を入力してください:");
scanf("%d", &startMoney);
printf("目標額を入力してください:");
scanf("%d", &targetMoney);
for(i=0; i<totalGame; i++) {
for(j=1, currentMoney = startMoney; ; j++) {
if((int)(rand() / (RAND_MAX + 1.0) * 6) & 1 ) currentMoney++;
else currentMoney--;
if(currentMoney == targetMoney) { totalWin++; break; }
if(currentMoney == 0) break;
}
totalDice += j;
}
printf("勝率%.2f%% 平均回数%.2f\n", 100.0 * totalWin / totalGame, (double)totalDice / totalGame);
return 0;
}
436:デフォルトの名無しさん
09/03/21 12:08:02
>>434
すみません、8992です
ありがとうございました
437:デフォルトの名無しさん
09/03/22 02:29:33
[1] 授業単元:基礎演習
[2] 問題文:URLリンク(www.pref.fukushima.jp)
10ページ目の6問目です
[3] 環境
[3.1] OS:Win
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
考えれば考えるほどわからなくなっていましました…
良ければよろしくお願いします。
438:437
09/03/22 02:38:00
437です。
[4]期限:4月1日12:00
[5]その他制限:特になし
改めてお願いします。
439:デフォルトの名無しさん
09/03/22 02:56:56
>>437
URLリンク(kansai2channeler.hp.infoseek.co.jp)
440:デフォルトの名無しさん
09/03/22 02:58:58
あ、printfに\n入れるの忘れてた
441:デフォルトの名無しさん
09/03/22 03:05:55
>>437
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n, *data, key, begin, end, mid, i;
while(1){
scanf("%d", &n);
if(n <= 0) break;
data = (int *)malloc(sizeof(int) * n);
for(i = 0; i < n; i++) scanf("%d", &(data[i]));
scanf("%d", &key);
begin = 0; end = n - 1;
for(i = 0; begin <= end; i++){
mid = (begin + end) / 2;
if(data[mid] == key){
i++;
break;
}
if(data[mid] < key) begin = mid + 1;
else end = mid - 1;
}
printf("%d\n", i);
free(data);
}
return 0;
}
442:デフォルトの名無しさん
09/03/22 03:06:27
速いなorz
443:デフォルトの名無しさん
09/03/22 03:11:59
i++を二箇所に書くくらいならi=1からはじめればいいのに。
444:デフォルトの名無しさん
09/03/22 03:23:14
begin > endで抜けることを考えてi++2つとしたが、非常に頭悪いことをしてる気がする。
445:デフォルトの名無しさん
09/03/22 03:53:53
こんなプログラムメンテしたくない。というか、プログラミングのセンスないね、チミ。
446:デフォルトの名無しさん
09/03/22 03:54:54
>>445
先生のセンスをこのスレの奴らに見せ付けてやってください!
447:デフォルトの名無しさん
09/03/22 09:22:37
>>445
うん、ないよ。でも、趣味でしかないし、1人でのんびりやれればいいから
下手の横好きでもいいかなー。
448:デフォルトの名無しさん
09/03/22 10:03:53
>>445
メンテじゃなくて、先輩社員が作ったプログラムを触る仕事しかさせてもらえないんだろ?
最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5302日前に更新/131 KB
担当:undef