2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

ぼるじょあがC/C++の宿題を片づけますYO! 41代目

1 :ぼるじょあ ◆yBEncckFOU :05/02/28 07:07:33
(・3・)アルェー 一回おきに登場することにしたC++房のぼるじょあですYO!
わからない宿題を片づけますYO!

――【注意点】―――――――――――――――――――――――――
・質問は必ず【質問テンプレ】に従ってください。
・問題文は、解いてもらう方にわかりやすいように全文を書きましょう。
・計算問題は必ず数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはやめましょう。解いてもらっている方に失礼です。
・複雑なAAはスレが荒れたり問題が埋もれる原因になりますので使用を控えてください。
―――――――――――――――――――――――――――――――
【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):
[3] 環境
 [3.1] OS:
 [3.2] コンパイラ(バージョン):
 [3.3] 言語:C/C++/どちらでも可 のいずれか
[4] 期限:yyyy年mm月dd日hh:mmまで/無期限 のいずれか
[5] その他の制限:

【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm

【歴代スレは>>2-13

2 :ぼるじょあ ◆yBEncckFOU :05/02/28 07:09:11
40代目: http://pc5.2ch.net/test/read.cgi/tech/1107625122/
39代目: http://pc5.2ch.net/test/read.cgi/tech/1106650397/
38代目: http://pc5.2ch.net/test/read.cgi/tech/1105541524/
37代目: http://pc5.2ch.net/test/read.cgi/tech/1103913840/
36代目: http://pc5.2ch.net/test/read.cgi/tech/1102753497/
35代目: http://pc5.2ch.net/test/read.cgi/tech/1101568895/
34代目: http://pc5.2ch.net/test/read.cgi/tech/1100530682/
33代目: http://pc5.2ch.net/test/read.cgi/tech/1097932699/
32代目: http://pc5.2ch.net/test/read.cgi/tech/1097592876/
31代目: http://pc5.2ch.net/test/read.cgi/tech/1095075678/
30代目: http://pc5.2ch.net/test/read.cgi/tech/1091954342/

3 :ぼるじょあ ◆yBEncckFOU :05/02/28 07:10:45
29代目: http://pc5.2ch.net/test/read.cgi/tech/1090765027/
28代目: http://pc5.2ch.net/test/read.cgi/tech/1089974839/
27代目: http://pc5.2ch.net/test/read.cgi/tech/1089448445/
26代目: http://pc5.2ch.net/test/read.cgi/tech/1088860889/
25代目: http://pc5.2ch.net/test/read.cgi/tech/1087929711/
24代目: http://pc5.2ch.net/test/read.cgi/tech/1086612317/
23代目: http://pc5.2ch.net/test/read.cgi/tech/1085149383/
22代目: http://pc5.2ch.net/test/read.cgi/tech/1083050221/
21代目: http://pc5.2ch.net/test/read.cgi/tech/1078157730/
20代目: http://pc5.2ch.net/test/read.cgi/tech/1075217631/
19代目: http://pc5.2ch.net/test/read.cgi/tech/1073566342/
18代目: http://pc5.2ch.net/test/read.cgi/tech/1071407728/
17代目: http://pc5.2ch.net/tech/kako/1070/10704/1070469896.html
16代目: http://pc5.2ch.net/tech/kako/1069/10698/1069837000.html
15代目: http://pc5.2ch.net/tech/kako/1068/10689/1068950713.html
14代目: http://pc5.2ch.net/tech/kako/1067/10671/1067175933.html
13代目: http://pc5.2ch.net/tech/kako/1064/10645/1064541405.html
12代目: http://pc5.2ch.net/tech/kako/1060/10607/1060706382.html
11代目: http://pc5.2ch.net/tech/kako/1058/10582/1058283913.html

4 :ぼるじょあ ◆yBEncckFOU :05/02/28 07:11:30
10代目: http://pc5.2ch.net/tech/kako/1057/10570/1057070174.html
9代目: http://pc5.2ch.net/tech/kako/1055/10559/1055944101.html
8代目: http://pc5.2ch.net/tech/kako/1055/10550/1055056940.html
7代目: http://pc5.2ch.net/tech/kako/1053/10539/1053963794.html
6代目: http://pc5.2ch.net/tech/kako/1053/10530/1053045530.html
5代目: http://pc5.2ch.net/tech/kako/1051/10515/1051594046.html
4代目: http://pc5.2ch.net/tech/kako/1045/10450/1045074808.html
3代目: http://pc5.2ch.net/tech/kako/1041/10419/1041992392.html
2代目: http://pc3.2ch.net/tech/kako/1039/10397/1039772622.html
1代目: http://pc3.2ch.net/tech/kako/1038/10380/1038024989.html

5 :ぼるじょあ ◆yBEncckFOU :05/02/28 07:14:17
ぼるじょあ◆yBEncckFOU は共同体で連続体で群生体だから
 無限の知識と無尽蔵の体力を持ってるんだYO 24時間365日、いつでも質問かかって来いYO

(・3・) アルェー こっちが嫌になるほど質問しろYO

ぼるじょあ◆yBEncckFOU はコテハンじゃないYO
名前欄に「ぼるじょあ#ぶるじょあ」で、キミも今日から ぼるじょあ◆yBEncckFOU だYO

ぼるじょあ◆yBEncckFOU の心得
  良い子には優しく、悪い子はむっしっし、自作自演はちょっとだけだYO

ぼるじょあ ◆yBEncckFOU のフリーソフトとか置いてくれてるHPだYO
http://www.geocities.co.jp/SiliconValley/3908/

6 :デフォルトの名無しさん:05/02/28 07:27:15
unsigned char array[8];  ←この書き方ってダメ?

Error E2040 ..\lab3.c 18: Declaration terminated incorrectly
↑このエラーはどういうことでしょうか?

7 :デフォルトの名無しさん:05/02/28 07:29:25
>>6
要素数は16の倍数でなければならない。

8 :デフォルトの名無しさん:05/02/28 07:39:47
>>1
実生活では誰にも相手してもらえないから、せめてここではかまってもらいたくて
こんなクソスレ立てるんだね
どこまでも迷惑な奴だ

9 :デフォルトの名無しさん:05/02/28 07:44:08
>>1
早すぎな気もするが乙。

10 :デフォルトの名無しさん:05/02/28 09:09:56
>7
よくわかんないです。
unsigned char array[8];
この8を16に変えたんだけど、同じエラーが出ました。
よかったら、もう少し細かく説明もらえませんか?

11 :デフォルトの名無しさん:05/02/28 09:32:28
>>10
前の行がきちんと終了していないか、副作用のあるマクロ定義があるかも試練。
周辺のソースを貼ってみるよろし。
但し、宿題でないのならスレ違い。

12 :デフォルトの名無しさん:05/02/28 17:23:31
>>6
直訳すると
「失敗 E2040 ..\lab3.c 18: 宣言が間違って終了した」
心当たりはないですか?
すぐ上の行でセミコロンがないとか・・・


13 :デフォルトの名無しさん:05/03/01 01:52:09


14 :デフォルトの名無しさん:05/03/01 01:59:03
>>6
コンパイルしたけどそんなエラーでなかった。

15 :デフォルトの名無しさん:05/03/01 11:40:14
[1] 授業単元: OS
[2] 問題文(含コード&リンク):
問題文というか、宿題の中の分からない事なのですが質問させてください。

1.ユーザーから実行ファイル名を含むコマンドラインを受け取り、いずれかのexecにより実行せよ。
  (例 "emacs test.txt"等と入力されたらそれを実行する。
   だけど、プログラムによっては引数が複数あるのでどのexecを使えばいいのでしょう?)
2.もし、コマンドラインの最後に"&"がある場合は特殊な動作をせよ。
  (例 "emacs test.txt &"等
   strtokを使っているのですが、最後のトークンを特定して引き出すのはどうすればよいのでしょうか)

変な質問の形になってしまいましたがよろしくお願いします。

[3] 環境
 [3.1] OS: UNIX
 [3.2] コンパイラ(バージョン): G++
 [3.3] 言語:C

16 :デフォルトの名無しさん:05/03/01 11:45:39
>>15
はしょりすぎ
意味不明

17 :15:05/03/01 11:55:39
すみません。orz
とりあえず1はなんとかしますので2をお願いします。

シェルもどきのような簡単なコマンドプロンプトを作る宿題なのですが、
fgets( cline, 128, stdin );
cline[strlen(cline)-1] = '\0';
のような形でユーザーからclineにスペースによって分けられた文字列を受け取ります。
それをstrtokで一つ一つ読み込んでいるのですが、”もし最後の文字列が"&"なら〜をせよ”と書いてありまして、
最後のトークンだけ先に引き出すのは可能なのかお聞きしたかったのです。
それともやはり、ループで一つ一つ呼んでNULLになったらその一つ手前が最後、みたいにしなければならないのでしょうか。

18 :デフォルトの名無しさん:05/03/01 12:08:45
結局すべてのトークンが揃わないと何もできないんだから
全部トークンに分けてから最後が&か見ればいいと思う



19 :15:05/03/01 12:20:19
分かりました、そうします。
ありがとうございます。

あと、すみませんができればもう一つお願いします。
execv関数を使いたいのですが、
char cline[128];
fgets( cline, 128, stdin );
で得た文字列をchar* []型にするにはどうすればよいのでしょうか。
どのサイトを見てもargv用だと書いてあって、何を試してもcannot convertかinvalid initializerしか出てくれません。orz

20 :デフォルトの名無しさん:05/03/01 12:43:05
// トークン数がn個までとわかってるなら↓
char** token;
token=malloc(sizeof(char**)*n);
for(i=0;i<n;i++){
token[i]=malloc(128);
}

// なんか処理

// 解放
for(i=n-1;i>=0;i--){
free(token[i]);
}
free(token);

21 :デフォルトの名無しさん:05/03/01 12:51:08
LNK2005: _DllMain@12 がでます。たすけてください

22 :デフォルトの名無しさん:05/03/01 12:55:19
↑ちゃんとプロジェクト作り直す

23 :デフォルトの名無しさん:05/03/01 13:14:44
includeに入るDOS.hって何でしょうか?

24 :デフォルトの名無しさん:05/03/01 13:19:18
>>23
知るかボケ

25 :デフォルトの名無しさん:05/03/01 13:29:46
↑↑ms-dos寄りの関数のヘッダ
int21とかエロいのが入ってる

26 :デフォルトの名無しさん:05/03/01 18:24:32
最近のDOS.Hにはレジスタ関連の構造体入ってないんやね

27 :デフォルトの名無しさん:05/03/02 07:41:34
リアルタイムにネットワークの転送量を表示したいのですが、
式はどうなるのでしょうか?
dwInOctets
dwInUcastPkts
dwInNUcastPkts
は表示できるのですが、Octetsは通信してない時も値が入ってますし・・
どうかよろしくお願いします。


28 :Cとアセンブリの混合:05/03/02 12:03:16
charデータをストリーミングファイルから読み16ビット
unsigned numberのodd parity を計算して、
8ビット(7ビット+parity bit)をアウトプット書き出す作業をして
ボーランドプロジェクトとしてコンパイルするという
cコード書けという問題です。

"Odd parity" forces the number of "1s" to be odd including
the parity bit.
Some examples are: x1001110 -> 11001110 x0011001 -> 00011001

どなたかヒントください。



29 :デフォルトの名無しさん:05/03/02 12:04:32
>>28
マルチは市ねよ

30 :デフォルトの名無しさん:05/03/02 12:53:47
>>28
うるせーよ
マジ消えてくれ

31 :デフォルトの名無しさん:05/03/02 13:51:37
>>28
どこがCとアセンブリの混合なんだ?
バカ?

32 :デフォルトの名無しさん:05/03/02 15:12:38
アセンブリはアセンブリでも、6502のアセンブリで書いてやれw

33 :デフォルトの名無しさん:05/03/02 15:24:50
ここのスレは宿題片付けんじゃねーのか??


34 :デフォルトの名無しさん:05/03/02 15:26:29
テンプレも読めん奴のことなど知らん

35 :デフォルトの名無しさん:05/03/02 15:28:19
いきがってますねー。

36 :デフォルトの名無しさん:05/03/02 15:31:52
ぼるじょあが片付けるのであって、俺らは知らんよ

37 :>>28:05/03/02 15:38:03
こいつらは分かってねーだけだよ。親切な私が解いて差し上げました。
 この問題は一つ一つのビットをxorでmaskしたりするのなんかもある。
 unsigned short mask;
unsigned int result = 0;
for ( mask = 0x40; mask; mask >>= 1 ) ここまでの結果はbitsの中の1の数によって0になったり1になったりする。
{
result ^= !!(mask & value); ←odd parity
}
   if ( odd )
{
result = !result;
}
  value |= result << 7;
 unsigned short parity(unsigned short value, int odd)
{
/* ... */
return value;
}
parity(0x4E,1) = 0xCE ←test results
parity(0x19,1) = 0x19

38 :デフォルトの名無しさん:05/03/02 19:00:04
[1] 授業単元:ファイル処理
[2] 問題文(含コード&リンク):下記参照
[3] 環境
 [3.1] OS:汎用
 [3.2] コンパイラ(バージョン):gcc
 [3.3] 言語:c++
[4] 期限:無期限
[5] その他の制限:なし

問題文:
CSV形式のテキストファイルを読み込み、2次元配列に展開しなさい。
1行のフィールド数は行ごとに可変個であり、フィールドには数字が格納されているものとする。
メモリー効率を考慮して配列のサイズは最小限に留める事。

10, 20, 30
20, 30, 40, 50
30, 40, 50

よろしくお願いします。

39 :デフォルトの名無しさん:05/03/02 20:15:53
10,,30,30 とか
20,40,50, とか
12,13,3F,ab とか
あったらどうすればいいの?

40 :デフォルトの名無しさん:05/03/02 20:18:53
>>39
死ねばいいだろ

41 :デフォルトの名無しさん:05/03/02 20:22:38
馬鹿だな、これを使えば楽勝よ!
http://www.fides.dti.ne.jp/~oka-t/cpplab-boost-spirit.html

42 :38:05/03/02 20:26:42
>>39
>1行のフィールド数は行ごとに可変個であり、フィールドには数字が格納されているものとする。
数字というのは10進数のことです。
文面から察するに空のフィールドは存在しないと思います。


43 :デフォルトの名無しさん:05/03/02 21:55:52
AからZの文字を1から26に変換しなさい。
また、27はAA,28はABとなります。

上記の変換が出来れば逆の変換も考えなさい。


さっぱり出来ないです…

44 :デフォルトの名無しさん:05/03/02 21:59:54
>>43
>>1

45 :デフォルトの名無しさん:05/03/02 22:08:30
>>43
char c = 'A';
printf("%d", c-'A'+1);

46 :デフォルトの名無しさん:05/03/02 22:13:06
>>43
>また、27はAA,28はABとなります。

AAが27になるんじゃなくて?
どっちにしても逆の変換もあるなら同じか

47 :46:05/03/02 22:35:07
>>43
#include <stdio.h>
#include <string.h>
#include <ctype.h>
unsigned alpha2int(const char * s) {
    unsigned n = 0;
    const char * const alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    for (; isupper(*s); ++s) {
        n *= 26;
        n += strchr(alpha, *s) - alpha + 1;
    }
    return n;
}
int main(void) {
    char s[256];
    while (scanf("%255s", s) == 1)
        printf("%s -> %d\n", s, alpha2int(s));
    return 0;
}

48 :43:05/03/03 00:18:06
>>44
失礼しました。

[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ(バージョン):VC++
 [3.3] 言語:C/C++/どちらでも可

[問題]
AからZの文字を1から26に変換しなさい。
また、AAは27,ABは28となります。

上記の変換が出来れば逆の変換も考えなさい。



英数から数値は、>>45 >>46のレスで理解できました。
ありがとうございます。

数値から英数を自分なりに考えたんですが
26進数でやれば良いんでしょうか?
それだと、0〜25になるし・・・

49 :デフォルトの名無しさん:05/03/03 00:58:57
'A'+0〜25

50 :デフォルトの名無しさん:05/03/03 01:20:24
[1] 授業単元:C言語
[2] 問題文:スキュターレ暗号文を以下に示すように自動解読するプログラム
Level1B.Cを作成しなさい。

[3] 環境
 [3.1] OS: unix
 [3.2] コンパイラ
 [3.3] 言語:C
[4] 期限:今日の朝まで・・

例:
原文
あすミケーネでアテネぐんをむかえうつ

暗号文
あでをすアむミテかケネえーぐうネんつ

暗号文
さいれがいてるんしんよばはをうろよとにう

実行結果
何文字ごとに読みますか?3
さがるんはろにいいんよをようれてしばうと
何文字ごとに読みますか?4
さいしはよいてんがとれるようにがんばろう

明日の再試の問題です、
どなたかお助けを・・さっぱりわかりません。3問あります><
夜分遅くにすみませんが、お願いします!!!!


51 :2問め:05/03/03 01:36:05
[1] 授業単元:C言語
[2] 問題文:吉○家のメニューデータを管理できる構造体を作成し、以下のように必要データランキング
を収集するプログラムlevel2a.c(main)level2b.c(func:並替表示関数)、level2.hを作成しなさい
[3] 環境
 [3.1] OS: unix
 [3.2] コンパイラ
 [3.3] 言語:C
[4] 期限:今日の朝まで・・


52 :2問め:05/03/03 01:36:41
豚丼     583kcal 320円
牛焼肉丼   785kcal 420円
牛カレー丼  510kcal 290円
焼鳥丼    740kcal 380円
豚キムチ丼  605kcal 370円

実行結果
吉○屋メニューランキング
1:カロリーランキング
2:安価ランキング
etc:終了
No.?1
品名     カロリー 値段
牛焼肉丼   785kcal 420円
焼鳥丼    740kcal 380円
豚キムチ丼  605kcal 370円
豚丼     583kcal 320円
牛カレー丼  510kcal 290円

吉○屋メニューランキング
1:カロリーランキング
2:安価ランキング
etc:終了
No.?2
品名     カロリー 値段
牛カレー丼  510kcal 290円
豚丼     583kcal 320円
豚キムチ丼  605kcal 370円
焼鳥丼    740kcal 380円
牛焼肉丼   785kcal 420円

53 :3問め:05/03/03 02:03:21
[1] 授業単元:C言語
[2] 問題文:Mバーガーのメニューデータより注文したい商品番号と数量と時刻に対する
売上分布の結果を出力するプログラムlevel3a.c(main)、level3b.c(func:集計用関数)level3.hを作成せよ
[3] 環境
 [3.1] OS: unix
 [3.2] コンパイラ
 [3.3] 言語:C
[4] 期限:今日の朝まで・・



54 :3問め:05/03/03 02:05:39
Mバーガーメニューデーター
甘辛チキンバーガーセット    504円
ベーコンエッグバーガーセット  556円
エビカツバーガーセット     525円
てりやきバーガーセット     504円
フィシュバーガーセット     504円
ハンバーガーセット       399円
チーズバーガーセット      399円

実行結果
1:甘辛チキンバーガーセット    504円
2:ベーコンエッグバーガーセット  556円
3:エビカツバーガーセット     525円
4:てりやきバーガーセット     504円
5:フィシュバーガーセット     504円
6:ハンバーガーセット       399円
7:チーズバーガーセット      399円
0:集計
何番?6
数量?3
何時?12

55 :3問め:05/03/03 02:06:18
1:甘辛チキンバーガーセット    504円
2:ベーコンエッグバーガーセット  556円
3:エビカツバーガーセット     525円
4:てりやきバーガーセット     504円
5:フィシュバーガーセット     504円
6:ハンバーガーセット       399円
7:チーズバーガーセット      399円
0:集計
何番?6
数量?4
何時?13

1:甘辛チキンバーガーセット    504円
2:ベーコンエッグバーガーセット  556円
3:エビカツバーガーセット     525円
4:てりやきバーガーセット     504円
5:フィシュバーガーセット     504円
6:ハンバーガーセット       399円
7:チーズバーガーセット      399円
0:集計
何番?5
数量?2
何時?20
1:甘辛チキンバーガーセット    504円
2:ベーコンエッグバーガーセット  556円
3:エビカツバーガーセット     525円
4:てりやきバーガーセット     504円
5:フィシュバーガーセット     504円
6:ハンバーガーセット       399円
7:チーズバーガーセット      399円
0:集計
何番?0

56 :3問め:05/03/03 02:08:05
1:甘辛チキンバーガーセット 2:ベーコンエッグバーガーセット 3:エビカツバーガーセット 4:てりやきバーガーセット
5:フィシュバーガーセット 6:ハンバーガーセット  7:チーズバーガーセット
どのデータ売上分布を見たいですか?5

0時 0個 : 1時 0個 : 2時 0個 : 3時 0個 :
4時 0個 : 5時 0個 : 6時 0個 : 7時 0個 :
8時 0個 : 9時 0個 : 10時 0個 : 11時 0個 :
12時 0個 : 13時 0個 : 14時 0個 : 15個 0個 :
16時 0個 : 17時 0個 : 18時 0個 : 19時 0個 :
20時 2個 : 21時 0個 : 22時 0個 : 23時 0個 :
フィッシュバーガーセット売上個数:2個
フィッシュバーガーセット売上金額:1008円

0時 0個 : 1時 0個 : 2時 0個 : 3時 0個 :
4時 0個 : 5時 0個 : 6時 0個 : 7時 0個 :
8時 0個 : 9時 0個 : 10時 0個 : 11時 0個 :
12時 3個 : 13時 4個 : 14時 0個 : 15個 0個 :
16時 0個 : 17時 0個 : 18時 0個 : 19時 0個 :
20時 2個 : 21時 0個 : 22時 0個 : 23時 0個 :
ハンバーガーセット売上個数:7個
ハンバーガーセット売上金額:2793円

3問目が長すぎで読みづらくなってすみません。。
朝まで待ってみます。どうか〜!!

57 :デフォルトの名無しさん:05/03/03 03:38:30
おまえマルチやったんかい

58 :デフォルトの名無しさん:05/03/03 04:03:43
>>57
すいません、さっきのスレにも書きました。
今日のテストがんばります!

59 :デフォルトの名無しさん:05/03/03 04:15:18
> cat level2.h
#include <stdio.h>
#include <stdlib.h>

struct menu {
char name[16];
int cal;
int val;
};

void display(struct menu *m, int n);
void func(struct menu *m, int n, int f);

60 :デフォルトの名無しさん:05/03/03 04:16:39
> cat level2a.c
#include "level2.h"

struct menu yoshimaruya[] = { { "豚丼", 583, 320 }, { "牛焼肉丼", 785, 420 }, { "牛カレー丼", 510, 290 }, { "焼鳥丼", 740, 380 }, { "豚キムチ丼", 605, 370 } };

int main(void)
{
int n, f;
n = sizeof(yoshimaruya) / sizeof(struct menu);
display(yoshimaruya, n);
while(1){
printf("吉○屋メニューランキング\n");
printf("1:カロリーランキング\n");
printf("2:安価ランキング\n");
printf("etc:終了\n");
printf("No.?");
scanf("%d", &f);
switch(f){
case 1:
func(yoshimaruya, n, 1);
break;
case 2:
func(yoshimaruya, n, 2);
break;
default:
return 0;
}
}
}

61 :デフォルトの名無しさん:05/03/03 04:17:11
> cat level2b.c
#include "level2.h"

void display(struct menu *m, int n)
{
int i;
for(i = 0; i < n; i++){
printf("%-16s %5dkcal %5d円\n", m[i].name, m[i].cal, m[i].val);
}
}

int sortfunc1(const void *a, const void *b)
{
return ((struct menu *)b)->cal - ((struct menu *)a)->cal;
}

int sortfunc2(const void *a, const void *b)
{
return ((struct menu *)a)->val - ((struct menu *)b)->val;
}

void func(struct menu *m, int n, int f)
{
if(f == 1)
qsort(m, n, sizeof(struct menu), sortfunc1);
else
qsort(m, n, sizeof(struct menu), sortfunc2);
display(m, n);
}

62 :デフォルトの名無しさん:05/03/03 05:44:23
>level2a.c
#include <stdio.h>
#include "level2.h"

int main(void)
{
MenuData md[5] = {{"豚丼", 583, 320}, {"牛焼肉丼", 785, 420}, {"牛カレー丼", 510, 290},
{"焼鳥丼", 740, 380}, {"豚キムチ丼", 605, 370}};
int i;

while (1) {
//入力待ち
printf("\n吉○屋メニューランキング\n1:カロリーランキング\n2:安価ランキング\netc:終了\nNo.?");
scanf("%d", &i);

switch (i) {
case 1:
case 2: //並び替え
func(md, i);
break;
default:
return 0;
}
}
}

63 :デフォルトの名無しさん:05/03/03 05:52:03
#include <stdio.h>
#include "level2.h"
void func(MenuData *lpmd, int fSort) {
int i, j;
MenuData mdTemp;
switch (fSort) {
case 1://カロリーランキング
for (i = 0; i < 4; i++) {
for (j = i + 1; j < 5; j++) {
if (lpmd[i].Calorie < lpmd[j].Calorie) {
mdTemp = lpmd[i];
lpmd[i] = lpmd[j];
lpmd[j] = mdTemp;
}}}
break;
case 2: //安価ランキング
for (i = 0; i < 4; i++) {
for (j = i + 1; j < 5; j++) {
if (lpmd[i].Price > lpmd[j].Price) {
mdTemp = lpmd[i];
lpmd[i] = lpmd[j];
lpmd[j] = mdTemp;
}}}
break;
}
//結果表示
printf("品名 カロリー 値段\n");
for (i = 0; i < 5; i++) {
printf("%-10s%6dkcal%6d円\n", lpmd[i].Name, lpmd[i].Calorie, lpmd[i].Price);
}
return;
}

64 :デフォルトの名無しさん:05/03/03 05:52:33
>level2.h
typedef struct _MenuData {
char *Name;
int Calorie;
int Price;
} MenuData;

void func(MenuData *, int);

65 :デフォルトの名無しさん:05/03/03 05:55:48
>level3a.c
#include <stdio.h>
#include "level3.h"
int main(void)
{
MenuData md[7] = {{"甘辛チキンバーガーセット", 504, 0}, {"ベーコンエッグバーガーセット", 556, 0}, {"エビカツバーガーセット", 525, 0},
{"てりやきバーガーセット", 504, 0}, {"フィッシュバーガーセット", 504, 0}, {"ハンバーガーセット", 399, 0}, {"チーズバーガーセット", 399, 0}};
int i, amount, hour;
while (1) {
//入力待ち
for (i = 0; i < 7; i++) {
printf("\n%d:%-29s%5d円", i + 1, md[i].Name, md[i].Price);
}
printf("\n0:集計\n何番?");
scanf("%d", &i);
switch (i) {
case 0://集計
func(md);
return 0;
case 1: case 2: case 3: case 4: case 5: case 6: case 7: //数量と時間の入力待ち
printf("数量?");
scanf("%d", &amount);
do {
printf("何時?");
scanf("%d", &hour);
}while (!(hour >= 0 && hour <= 23));
md[i - 1].Amount[hour] += amount;
break;
}
}
}

66 :デフォルトの名無しさん:05/03/03 05:57:38
>level3b.c
#include <stdio.h>
#include "level3.h"

void func(MenuData *md)
{
int i, j, total;
while (1) {
//入力待ち
for (i = 0; i < 7; i++) {
printf("\n%d:%s ", i + 1, md[i].Name);
}
printf("\nどのデータ売上分布を見たいですか?");
scanf("%d", &i);
switch (i) {
case 1: case 2: case 3: case 4: case 5: case 6: case 7: //集計表示
--i;
total = 0;
for (j = 0; j < 24; j++) {
if (j % 4 == 0) {
printf("\n");
}
printf("%2d時:%4d個 : ", j, md[i].Amount[j]);
total += md[i].Amount[j];
}
printf("\n%s売上個数:%d個\n%s売上金額:%d円\n", md[i].Name, total, md[i].Name, md[i].Price * total);
break;
default:
return;
}
}
}

67 :デフォルトの名無しさん:05/03/03 05:58:04
>level3.h
typedef struct _MenuData {
char *Name;
int Price;
int Amount[24];
} MenuData;

void func(MenuData *);

68 :デフォルトの名無しさん:05/03/03 06:01:31
あ、>>63はlevel2b.cね。

69 :デフォルトの名無しさん:05/03/03 06:25:14
>>500
ありがとうございました!間に合いそうです。
がんばるぞぉぉー!本当に夜分遅くから朝早くにかけてお世話になりました。
本当に感激です、、ここはイイ板ですね。イイ住人さん達がいるから


みなさん、問題をたくさん張ったりたくさん書き込みしちゃって
見ずらしくなしたり色々と迷惑かけちゃってすいません。迷惑かけた分
自分はテストがんばってきます。ありがとうございましたー!!!!!

70 :デフォルトの名無しさん:05/03/03 06:25:35
>>500
ありがとうございました!間に合いそうです。
がんばるぞぉぉー!本当に夜分遅くから朝早くにかけてお世話になりました。
本当に感激です、、ここはイイ板ですね。イイ住人さん達がいるから


みなさん、問題をたくさん張ったりたくさん書き込みしちゃって
見ずらしくなしたり色々と迷惑かけちゃってすいません。迷惑かけた分
自分はテストがんばってきます。ありがとうございましたー!!!!!

71 :デフォルトの名無しさん:05/03/03 07:01:15
500?

72 :デフォルトの名無しさん:05/03/03 07:03:32
>>71
http://pc5.2ch.net/test/read.cgi/tech/1109394073/l50

73 :デフォルトの名無しさん:05/03/03 10:45:46
なんで >>62-68http://pc5.2ch.net/test/read.cgi/tech/1109394073/500
だと思ったんだ?自演厨か?


74 :デフォルトの名無しさん:05/03/03 13:43:32
これからはうpろーだーを使うこと!

75 :デフォルトの名無しさん:05/03/03 13:45:28
>73
http://pc5.2ch.net/test/read.cgi/tech/1109394073/507

76 :ななし:05/03/03 17:44:41
levele3.h
levele3a.c
levele3b.c
levele2.h
levele2a.c
levele2b.c
って間違ってない?コンパイル出来ないけど。大丈夫ね?

77 :デフォルトの名無しさん:05/03/03 17:59:55
>>76
先生が気づかなければOK

78 :デフォルトの名無しさん:05/03/03 19:26:34
(´・ω・`)

79 :デフォルトの名無しさん:05/03/03 19:31:48
              ,,,,,,,,,,,,,,,,,,,,
             /": : : : : : : : \
           /-─-,,,_: : : : : : : : :\
          /     '''-,,,: : : : : : : :i
          /、      /: : : : : : : : i     ____________
         r-、 ,,,,,,,,,,、 /: : : : : : : : : :i    /
         L_, ,   、 \: : : : : : : : :i   / 先生に気づかれたら
         /●) (●>   |: :__,=-、: / <    負けかなと思ってる  
        l イ  '-     |:/ tbノノ    \    
        l ,`-=-'\     `l ι';/      \  回答者(年齢・性別不詳)
        ヽトェ-ェェ-:)     -r'          ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
         ヾ=-'     / /  
     ____ヽ::::...   / ::::|
  / ̄ ::::::::::::::l `──''''   :::|

80 :デフォルトの名無しさん:05/03/03 20:35:43
        _....._{{ 〃
      , - ' ,..、、.ヾ{{フ'⌒`ヽ、
    /  ,:', -‐‐` ´ '´⌒ヽ ヾ:、
.   ,'   ,'´ ,ィ ,ィ ,' ,   `ヽ',  ',-<
    ,'   .i  /|. /.| { i,  i,  }.  }_,,}}        
   ! |  ! .,'-.{ ! !|; |`、.}゙!.! |.  ! ヽ.       
   ', ', |Vァ=、゙、 `゙、!-_:ト,リ', l ! |   ゙',     
    ヽ、', l:!Kノ}.     f:_.}i゙i: リ ! l ル'  
     | l!iヾ- ' ,   .!__:ノ ゙ ,リ l リ'´     ほえ〜、知世ちゃん
.     ',|!!、    r‐┐   ` ノ' /,イ       プログラミングわかんないよ〜
      'i!゙、ヽ、 ゙ー'  _, ィ,:',:''´         
      ゙:、ィ、jヾー::: 'iヘ ノ',リ              
   ,、- '´ ヽ、゙、   { `>"、              
  /\\    ',   }   //`ヽ
            _,.. ----- 、_

81 :デフォルトの名無しさん:05/03/03 21:23:00
>>79
気づかれた負けなのは質問者じゃないの




(´・ω・`)

82 :デフォルトの名無しさん:05/03/04 06:39:52
昨日、再試の問題について質問したものです。無事出来ました!
親切な方々、どうもありがとうございます。。

83 :デフォルトの名無しさん:05/03/04 06:51:00
おめでと。

84 :デフォルトの名無しさん:05/03/04 07:51:07
お、無事に済んだのか。よかったな。

85 :デフォルトの名無しさん:05/03/04 14:12:00
今日は赤飯だな。

86 :デフォルトの名無しさん:05/03/04 14:40:36
俺の家では青飯だ

87 :デフォルトの名無しさん:05/03/04 15:37:10
>>86
何入れて青くするの?

88 :デフォルトの名無しさん:05/03/04 16:11:27
塩化銅

89 :デフォルトの名無しさん:05/03/04 18:38:27
硫酸銅で良くない?

90 :デフォルトの名無しさん:05/03/04 19:04:51
まぁ何か拘りがあるんだろうよ

91 :デフォルトの名無しさん:05/03/04 19:49:17
[1] 授業単元:C++
[2] 問題リンク:http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.cgi?mode=thr&no=235
[3] 環境
 [3.1] OS:Win
 [3.2] コンパイラ(バージョン):Visual C++
 [3.3] 言語:C++
[4] 期限:明日
[5] その他の制限:なし

今、航空シュミレーションっていうのをやってるんですけど、
なかなかおもしろそうな課題なんですけど、手強い…。

92 :デフォルトの名無しさん:05/03/04 19:49:46
問題文は、
「仮定」
#滑走路は1本。
#すべての離陸にかかる時間一定。
#すべての着陸にかかる時間一定。
#着陸と離陸にかかる時間が同じである必要はない。
#飛行機はランダムタイムでくる。
#飛行機がくる時間は確立によって与えられる。
#着陸の飛行機は離陸の飛行機より優先。
「インプット」
#着陸にかかる時間。
#離陸にかかる時間。
#着陸にくる飛行機の平均時間(確率)
#離陸にくる飛行機の平均時間(確率)
#クラッシュなしで着陸する飛行機がまてる最大の時間
#ランニングタイムの時間
「アウトプット」
output参照。

93 :デフォルトの名無しさん:05/03/04 19:50:17
手伝ってください。よろしくお願いします。

94 :デフォルトの名無しさん:05/03/04 19:56:39
ふつう、シミュレーションって書かない?

95 :デフォルトの名無しさん:05/03/04 20:00:12
こいつは今までずっとシュミレーションと言ってきたのだろうか…
周りも指摘してやればいいのに

96 :デフォルトの名無しさん:05/03/04 20:01:11
いや、>>91 は趣味でやってるからそれであってる

97 :デフォルトの名無しさん:05/03/04 20:05:10
シュミレーションで検索 約 513,000 件
シミュレーションで検索 約1,490,000 件

98 :デフォルトの名無しさん:05/03/04 20:09:45
>>97
何からとってきたソースなのか書いていない。
しかも、件ってどういう単位だよ。どう比較すればよいのかも書いていない。
それが意味するところは?

役に立たない資料だな。

おまえしねよ。

99 :デフォルトの名無しさん:05/03/04 20:10:02
趣味だから良いんだよ バーカ

100 :デフォルトの名無しさん:05/03/04 21:28:32
すいません。シミュレーションでした。

http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/241.cpp
一応、やってみたのですが・・・。

Car Wash 問題のような一方向だと、わかるのですが、
この問題の場合、2方向から来て、一方向が優先をもっているんですけど、
それをとくアルゴリズムがよくわからないんです。

101 :デフォルトの名無しさん:05/03/04 22:19:02
>>100
やってみた
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/242.txt

アルゴリズムは…

102 :101:05/03/04 22:35:33
間違ったところあった…

103 :デフォルトの名無しさん:05/03/04 22:40:10
101さん最高ーーーーーーーーーー!!!!!まじで超うれしーーーーー!!!!
本当、ありがとうごさいました。

104 :デフォルトの名無しさん:05/03/05 00:31:39
VC++でもいいのかな?

105 :void:05/03/05 00:52:28
[1] 授業単元:C言語
[2] 問題文:32bitの掛け算
long型×long型→long型の配列[2]([0]は上位32bit、[1]は下位32bitが格納される)
[3] 環境
 [3.1] OS: Unix
 [3.2] コンパイラ:GCC
 [3.3] 言語:C
[4] 期限:月曜まで

106 :113:05/03/05 02:49:17
>>105

long long 型を使っていいんだったら簡単なんだけど
配列に戻す意味がないような・・

#include<stdio.h>

static void
Mul( long p1, long p2, long pV[2] ) {
long long w = (long long)p1 * (long long)p2;
pV[ 0 ] = (long)( w >> 32 );
pV[ 1 ] = (long)w;
}

static void
Test( long p1, long p2 ) {
long v[ 2 ];
Mul( p1, p2, v );
printf( "%lx * %lx = %llx\n", p1, p2, ( (long long)v[ 0 ] << 32 ) | ( v[ 1 ] & 0x00000000ffffffffLL ) );
}



107 :デフォルトの名無しさん:05/03/05 03:02:18
>>106
シフトと加算でやろうと思ったが、符号付きなので面倒くさくてヤメタ。
Cだとキャリーフラグもオーバーフラグも使えないのでマンドクセ。

108 :デフォルトの名無しさん:05/03/05 03:46:24
>>107
出来ない言い訳をわざわざ書いて恥をさらしてる椰子発見

109 :デフォルトの名無しさん:05/03/05 03:53:53
>>108
アホか。long longを使わないで何とかしてやろうと思ってたんだが、
ビール飲んだので頭が回らなくなったんだよ。

110 :デフォルトの名無しさん:05/03/05 03:56:35
>>107じゃないけど、出来たから晒してみまつ。
#include <stdio.h>
#include <stdlib.h>

#define LOWORD(l) ((unsigned short)(l))
#define HIWORD(l) ((unsigned short)(((unsigned long)(l) >> 16) & 0xFFFF))

int main(void)
{
unsigned long i, j, k[2];
unsigned long L1, L2, H1, H2, H1H2, H1L2, L1H2, L1L2;
unsigned long HH, HL, LH, LL;

scanf("%lx,%lx", &i, &j);
L1 = LOWORD(i);
H1 = HIWORD(i);
L2 = LOWORD(j);
H2 = HIWORD(j);
H1H2 = H1 * H2;
H1L2 = H1 * L2;
L1H2 = L1 * H2;
L1L2 = L1 * L2;
LL = LOWORD(L1L2);
LH = HIWORD(L1L2) + LOWORD(L1H2) + LOWORD(L1H2);
HL = HIWORD(LH) + HIWORD(L1H2) + HIWORD(L1H2) + LOWORD(H1H2);
HH = HIWORD(HL) + HIWORD(H1H2);
k[0] = (HH << 16) + LOWORD(HL);
k[1] = ((unsigned long)LOWORD(LH) << 16) + LL;
printf("0x%.8lx * 0x%.8lx = 0x%.8lx%.8lx\n", i, j, k[0], k[1]);
return 0;
}

111 :デフォルトの名無しさん:05/03/05 04:17:00
>>110
これだと引数が負のとき、うまくいかないのでは?

112 :デフォルトの名無しさん:05/03/05 06:39:35
>>105
long long を使わないとこんな感じかな
#include<stdio.h>

static void
_Mul( unsigned short p1[ 4 ], unsigned short p2[ 4 ], unsigned short pV[ 4 ] ) {
int i, j;
for ( i = 0; i < 4; i++ ) {
for ( j = 0; j + i < 4; j++ ) {
int wI = i + j;
unsigned int w = p1[ i ] * p2[ j ];
while ( w ) {
w += pV[ wI ];
pV[ wI++ ] = (unsigned short)w;
if ( wI >= 4 ) break;
w >>= 16;
}
}
}
}



113 :デフォルトの名無しさん:05/03/05 06:40:22
>>112 の続き
staticvoid
Nanashi( long p, unsigned short pV[ 4 ] ) {
pV[ 0 ] = (unsigned short)p;
pV[ 1 ] = (unsigned short)( p >> 16 );
if ( p < 0 ) {
pV[ 2 ] = pV[ 3 ] = (unsigned short)-1;
} else {
pV[ 2 ] = pV[ 3 ] = 0;
}
}

static void
Mul( long p1, long p2, long pV[2] ) {
unsigned short w1[ 4 ];
Nanashi( p1, w1 );
unsigned short w2[ 4 ];
Nanashi( p2, w2 );
unsigned short wV[ 4 ];
wV[ 0 ] = 0;
wV[ 1 ] = 0;
wV[ 2 ] = 0;
wV[ 3 ] = 0;
_Mul( w1, w2, wV );
pV[ 1 ] = wV[ 1 ] << 16 | wV[ 0 ];
pV[ 0 ] = wV[ 3 ] << 16 | wV[ 2 ];
}



114 :デフォルトの名無しさん:05/03/05 06:41:13
>>113
static void
Test( long p1, long p2 ) {
long v[ 2 ];
Mul( p1, p2, v );
long long w = ( (long long)v[ 0 ] << 32 ) | ( v[ 1 ] & 0x00000000FFFFFFFFLL );
printf( "%lx * %lx = %llx(must be %llx)\n", p1, p2, w, (long long)p1 * (long long)p2 );
}



115 :デフォルトの名無しさん:05/03/05 07:06:27
>>101さん。
やってみたんだけど、running errorがでてしまいます。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/243.cpp
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/244.cpp

116 :デフォルトの名無しさん:05/03/05 07:10:53
リンク間違えた
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/245.cpp
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/246.cpp

117 :デフォルトの名無しさん:05/03/05 10:07:48
116です。確率をdoubleで入れるの忘れてただけでした。
出来ました。

118 :デフォルトの名無しさん:05/03/05 11:34:21
>>117
とりあえずcoutでlcとtcが逆になってるところある
あと<algorithm>は消し忘れた

119 :デフォルトの名無しさん:05/03/05 16:38:41
[1] 授業単元: C++
[2] 問題文(含コード&リンク): http://www.geocities.jp/yanmaniyanmani/gazou.txt
[3] 環境
 [3.1] OS: win
 [3.2] コンパイラ(バージョン):Visual C++
 [3.3] 言語:C++
[4] 期限:2005年3月6日
[5] その他の制限: CGIに書き換えて提出

自力で多少考えたのですがどうしてもCGIに書き換える事が出来ませんでした
助力をお願いいたします


120 :デフォルトの名無しさん:05/03/05 17:10:02
何この糞コード。

121 :デフォルトの名無しさん:05/03/05 17:10:34
つーか、関数ってコメントの後の大量の変数は一体何さ。

122 :デフォルトの名無しさん:05/03/05 17:24:24
CGIってなんなのさ?

123 :デフォルトの名無しさん:05/03/05 17:36:15
最後のprintfで結果を出力している部分にタグ出力を追加すればいいのかな。

それにしてもこのソースをリファクタリングしろって問題の方がふさわしい気がする。
この問題を出した先生を知りたい。

124 :デフォルトの名無しさん:05/03/05 17:44:07
なんかかわいそうだな…

125 :119:05/03/05 17:44:36
このC++で作成したプログラムをCGI上で実行させるために書き換えたいのですが
どうしたらいいか分かりません

関数の算術式ですが
   

S=1−(V-V')/(V+V')

V=√ i=n j=m
Σ Σ V^2
i=0 j=0  ij

という式を使っています

126 :デフォルトの名無しさん:05/03/05 17:51:44
入出力だけちゃんとすればあとは弄らなくてもいいよ

127 :デフォルトの名無しさん:05/03/05 20:23:08
先ずは入出力を整理して、出力は必要ならタグにするって処かな。

128 :デフォルトの名無しさん:05/03/05 20:44:34
>>119
問題はやらなくていい。
そのソース書いたキチガイを滅多打ちにしてこい。

129 :デフォルトの名無しさん:05/03/05 21:37:15
俺CGI言語って知ってるよ。
なんかDragonForceとかいうやつが考え出した言語らしいよ。
想像(妄想)するだけでプログラムができるみたい。
DragonForceの得意言語の中にも”CGI”ってあった。

130 :119:05/03/05 22:11:29
とりあえず入出力の部分をいじってみます
みなさまの助言ありがとうございました

131 :デフォルトの名無しさん:05/03/05 23:03:33
Intelは、プログラマーが数百のコアを載せたプロセッサを活用する手助けをする
新しいプログラミング言語「Baker」に取り組んでいる。同社はこの言語を複数の処理エンジンを持つ
自社のネットワークプロセッサでテストしており、またこの言語が作業負荷の変化を検出して、
必要な処理コアを割り当て、不必要なコアの消費電力を削減する方法をデモした。

http://www.itmedia.co.jp/enterprise/articles/0503/04/news030.html

※ローマ字読みしないように

132 :デフォルトの名無しさん:05/03/05 23:42:18
声優と、グラフィッカーをはげしく募集していますよ。力を試してみませんか?
MMO製作企画を立ち上げました。協力できる人はこちら
http://www112.sakura.ne.jp/~kaientai-project/creategame.htm

2chスレ
http://game10.2ch.net/test/read.cgi/mmominor/1108379282/l50

ただ今職人(プログラマ、グラフィッカー)はげしく募集中!
あなたの力を思う存分発揮してください。




133 :最凶VB厨房:05/03/05 23:43:01
>>119
ワロタ

134 :デフォルトの名無しさん:05/03/06 00:11:58
>>133
目クソが鼻クソを笑ってんじゃねえよ

135 :デフォルトの名無しさん:05/03/06 01:00:28
>>119
何がおかしいか書いて味噌。

136 :デフォルトの名無しさん:05/03/06 07:52:15
>>119
詳細きぼんぬ。
そのソースって自分で書いたわけじゃないの?

137 :デフォルトの名無しさん:05/03/06 12:50:57
>>119
すごいなこのソース。
一番びっくりなのはC++と書いてありながらC++な記述がないところだな。
コメントは最近のCコンパイラだと微妙だし。


138 :デフォルトの名無しさん:05/03/06 12:58:48
>>135
せめて配列使えって

139 :デフォルトの名無しさん:05/03/06 13:08:06
>>119
134行目、void Input_image(void);って意味を成してないな。

140 :ゆう:05/03/06 13:24:23
大学でファイルをやってるんですが、
ファイルをオープン、文字を1文字づつ読み込んで表示、
クローズ、オープンの時のエラー処理あり。のプログラムを
Cでお願いします。


141 :デフォルトの名無しさん:05/03/06 13:33:07
>>140
>1の質問テンプレくらい使ってくれ

142 :デフォルトの名無しさん:05/03/06 13:34:32
それ以前に>>140はマルチですから!残念!
二度とくるなよ

143 :ゆう:05/03/06 13:44:22
【質問テンプレ】
[1] C言語
[2] ファイルをオープン、文字を1文字づつ読み込んで表示、
クローズ、オープンの時のエラー処理あり。
[3] 環境 →テストに向けての暗記のためなし
 [3.1] OS: Windows 
 [3.2] コンパイラの暗記したいだけなのでなし
 [3.3] 言語:C
[4] 期限:今日の夕方
[5] その他の制限:簡単に、とにかく簡単に‥
すみません‥よろしくです‥


144 :デフォルトの名無しさん:05/03/06 13:47:06
>>139
確かに、意味がわからないな。
ここまでくるとわざとやってるとしか思えないな。


145 :デフォルトの名無しさん:05/03/06 13:47:18
>>143
他所で答えてもらってただろ
何が不満なんだ

146 :デフォルトの名無しさん:05/03/06 13:50:24
簡単がいいっていってんだろ

147 :デフォルトの名無しさん:05/03/06 13:52:32
どんなに簡単に書いても文句言ってくるだろうな

148 :デフォルトの名無しさん:05/03/06 13:55:28
それはいえてるな‥

149 :デフォルトの名無しさん:05/03/06 14:02:07
暗記云々とかわけわからん

150 :デフォルトの名無しさん:05/03/06 14:03:11
しょうがないなぁ

int main(void){
char b;
long size,i;
FILE* in = fopen(ファイル名,モード);
if(in == NULL)exit(0);
fseek(in,0,SEEK_END);
size = ftell(in);
fseek(in,0,SEEK_SET);
for(i = 0;i < size;i++){
fread(&b,1,1,in);
fputc(b,stdout);
}
fflush(stdout);
if(fclose(in) < 0)puts("Close Fault");
return 0;
}

151 :デフォルトの名無しさん:05/03/06 14:43:25
>>150
size要らないじゃん。
fread()よりfgetc()の方が適当だろうし。

>>143
入力ストリームのクローズではエラーが発生しないよ。

152 :デフォルトの名無しさん:05/03/06 14:57:46
>>143
>コンパイラの暗記したいだけなのでなし
ならスレ違い

153 :デフォルトの名無しさん:05/03/06 16:04:56
>>151
・ファイルをオープン、
・文字を1文字づつ読み込んで表示、
・(ファイルを)クローズ
・オープンの時のエラー処理あり。

の箇条書きでは

154 :デフォルトの名無しさん:05/03/06 19:35:56
>>119のソースを関数化してみたんだけど、大体200行ちょっとになったよ。
C++を普段触らないんで、細かいところは間違いまくってるとは思いますが、、、。
スパゲッティーというか無駄無駄ソースだね。これ教師のソースじゃねーでしょ?

ところでこいつの閾値以上のカウントのところでよいアルゴリズムないですか?
漏れの頭じゃどうしても糞な方法しか思いつきませんでした。

データ用意するのマンドクセかったのでデバッグシテマセン。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/247.txt

155 :デフォルトの名無しさん:05/03/06 23:27:46
[1] 授業単元:ガウスの消去法
[2] 問題文:ガウスの消去法を用いて以下の連立一次方程式を解きなさい。
|2 -2 1| |x1| |-9|   |x1| |-2|
|1 -1 2| |x2|=|-3| 解  |x2|=| 3|
|-1 3 1| |x3| |12|   |x3| | 1|
[3] 環境
   OS:Rinux
   言語:C
どなたか教えて下さい。お願いします。

156 :デフォルトの名無しさん:05/03/06 23:30:39
>>155
いつまでだよ

157 :デフォルトの名無しさん:05/03/06 23:43:52
もうぐぐれば腐るほど出てくるのに・・・Σ( ゜д゜)釣りか

158 :155:05/03/06 23:44:49
>>156
1週間後です…。

159 :デフォルトの名無しさん:05/03/06 23:46:25
>>155
Rinux というOSがある場所または購入できる店を教えてくれ


160 :デフォルトの名無しさん:05/03/06 23:56:15
プログラミング上達させるコツってありますか?

161 :デフォルトの名無しさん:05/03/07 00:00:10
>>160
何でこのスレで聞くんだよボケ

162 :デフォルトの名無しさん:05/03/07 00:32:08
>>160
1.質問する前に自分がすべきことを考え、実行すること
2.質問のタイミングを見極めること
3.質問の仕方、内容を充分に吟味すること
プログラミングに限らないと思うけどな

163 :デフォルトの名無しさん:05/03/07 02:40:43
「物を知らない」ってのは何の障害にもならない。知らなきゃ調べればいいだけ。
でも「調べ方を知らない」ってのは致命的。おまいらの周りにもそういう奴いない?

164 :デフォルトの名無しさん:05/03/07 12:39:32
[1] 授業単元: C
[2] 問題文: 従業員番号、氏名、年齢を1組にsた構造体の変数をmain関数で宣言し、そのアドレスを副関数に引き渡す
副関数では、従業員番号、氏名、年齢を入力し、main関数にもどる。main関数で構造体の内容を表示する

[3] 環境
 [3.1] OS: win
 [3.2] コンパイラ(バージョン):Visual C
 [3.3] 言語:C

よろしく        








 おねがいします

165 :デフォルトの名無しさん:05/03/07 13:35:28
>>164
#include <stdio.h>
typedef struct {int no; char name[64]; unsigned age;} EMPLOYEE;
int in(EMPLOYEE * e) {
    return scanf("%d%63s%u", &e->no, e->name, &e->age) == 3;
}
int main(void) {
    EMPLOYEE e;
    if (!in(&e)) return 1;
    printf("no == %d\nname == %s\nage == %u\n", e.no, e.name, e.age);
    return 0;
}

166 :デフォルトの名無しさん:05/03/07 22:03:43
ts

167 :デフォルトの名無しさん:05/03/08 10:59:27
[1] 授業: Cプログラミング
[2] 問題文 (下記のプログラムを参照して ) 次のオプションを加えよ。
wordcase(各語の最初の文字だけを大文字に変換  例:hello world -> Hello World)
        sentencecase(各文の最初の文字だけを大文字に変換 例: see spot. see spot run. -> See spot. See spot run.)
        reverseall (ファイルの文を逆に並べよ 例: the quick brown fox. -> .xof nworb kciuq eht)
[3] 言語: C
[4] 期限: 早ければ早いほどいいです。
#include <stdio.h>
#include <ctype.h>
int main(void)
{
FILE *f1 = fopen("file1.txt","r");
FILE *f2 = fopen("file2.txt","w+");
char buff[128];
int br;
while( (br = fread(buff, 1,1, f1)) > 0) {
int i;
for (i = 0 ; i < br ; ++i) {
buff[i] = toupper(buff[i]);
}
fwrite(buff, 1, br, f2);
}
fclose(f1) ;
fclose(f2);
return 0;
}

168 :デフォルトの名無しさん:05/03/08 12:24:31
>>167
関数だけ
void wordcase(char buff[128]){
int i;
for(i=0;i<128;i++){
if(buff[i]=='\0'){return;}
if(i==0 || (i>=1 && buff[i-1]==' ')){
if(buff[i]>=0x61 && buff[i]<=0x7A){
buff[i]=buff[i]-0x20;
}}}}
void sentencecase(char buff[128]){
int i;
for(i=0;i<128;i++){
if(buff[i]=='\0'){return;}
if(i==0 || (i>=1 && buff[i-2]=='.')){
if(buff[i]>=0x61 && buff[i]<=0x7A){
buff[i]=buff[i]-0x20;
}}}}
void reverseall(char buff[128]){
int i,l=0;
char rebuf[128];
for(i=0;i<128;i++){if(buff[i]=='\0'){break;}l++;}
for(i=0;i<l;i++){rebuf[l-i-1]=buff[i];}
for(i=0;i<l;i++){buff[i]=rebuf[i];}
}


169 :デフォルトの名無しさん:05/03/08 13:15:10
>>168

 ありがとうございます。
 しかし、これをどうmainと関連付けたらいいのでしょうか?

170 :デフォルトの名無しさん:05/03/08 14:00:48
自分で考えろ低脳

171 :デフォルトの名無しさん:05/03/08 14:57:20
>>169
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/248.txt

こんなかんじかな
./〜.exe english.txt オプション番号

172 :デフォルトの名無しさん:05/03/08 19:56:03
>>170
そういう言い方はないと思います。


173 :デフォルトの名無しさん:05/03/08 21:34:29
自分で考えろ無能

174 :デフォルトの名無しさん:05/03/08 23:26:54
あんまり酷いこと言わないで下さい。
自殺したい心境なんですから。

175 :デフォルトの名無しさん:05/03/09 01:14:20
つ[練炭]

176 :デフォルトの名無しさん:05/03/09 01:28:11
>>174
するならWebカメ回しながら首吊ってくれ

177 :デフォルトの名無しさん:05/03/09 10:45:40
文字列逆順に並べるやつ、たしかライブラリ関数であったよね。
なんだったかな・・・

178 :デフォルトの名無しさん:05/03/09 10:58:24
>>171
しかし、パッと見むだの多いぷろぐらむだな。

179 :デフォルトの名無しさん:05/03/09 12:24:10
>>177
そんなのないヨ。自分で作りましょうネ

180 :デフォルトの名無しさん:05/03/09 12:34:16
std::reverseとかか?
Cのstrrevなら非標準だし

181 :デフォルトの名無しさん:05/03/09 14:29:07
>>178
すいませんmain関数は僕が作りました。
ぱっと見の無駄という部分を教えて頂ければ今後の勉強にもなるので
どうか教えてください m(_ _)m


182 :デフォルトの名無しさん:05/03/09 14:38:37
同じインタフェースの関数を使い分けるんなら、
関数ポインタの配列にしろとか?

つか >>167 のmainって、1文字ごとに fread なんかして、
しかも読んだ個数でループして、むしろこっちの方が無駄が多い。

183 :デフォルトの名無しさん:05/03/09 16:18:41
ところで、171の 使用方法:%s の %s には何の意味があるんですか?

184 :デフォルトの名無しさん:05/03/09 16:21:40
>>181
確かにパッと見で気になるできだったので列挙してみた。
main()
・使用方法表示のfprintf()は何度も呼び出さない。必要なら文字列リテラルの連結を使うといい。
・コマンドラインのargcのチェックとファイルオープンは別にした方が見通しがよくなる。
・ファイルオープンできないときにも使用方法を表示するのに、オプション番号が異常の時には何も表示が無くアンバランスな設計になっている。
・全く同じ構造のwhileループが3つもある。ループ内で分岐しても問題はないだろう。

a2i()
・atoi()を使わないのは何故? #使用禁止ということなら仕方ないが。

wordcase()
・この関数で長さ制限する理由は? 単純に文字終端に達するまでループすればよい。
#寧ろそうしないのであれば、128文字以上の行で誤動作することになる。
・文字をコードで表すのは判りにくい。単純に0x61ではなく'a'を使うほうがよい。
・toupper()を使わない理由は? そうでなくても0x20ではなく'a' - 'A'などとする方がよい。

sentencecase()
・行の先頭を見つけるロジックとして、行の先頭かピリオドを見つけたらフラグを立て、最初の英文字を大文字化したらフラグを落とすという戦略はどうだろう。
#wordcase()にも応用しやすいし、空白が複数来た場合にも対応できる。

reverseall()
・ここでは何故文字列終端を見つけるのにstrchr()を使わないのだろう。
・一次バッファを動的に確保するようにすれば、この関数も文字数制限が無くなる。
#このままでは128文字以上の行で破綻を来たす。
・一次バッファから戻すときにstrcpy()を使わない理由は?

全体
・一文でも複文化するのはいいが、その場合は一行野郎に拘る必要ないだろう。


185 :184:05/03/09 16:23:26
>>183
おーほんとだ。これは拙いな。こんな感じにでもしとくのがいいね。
fprintf(stderr, "Usage: %s ...\n"
"option_number:\n"
"1:...\n"
"2:...\n"
"3:...\n", argv[0]);

186 :デフォルトの名無しさん:05/03/09 16:29:05
ところで、なぜ171はfputs つかわないで、removeN なんてうんちな関数作ったんですか?

187 :デフォルトの名無しさん:05/03/09 16:37:16
argc<2 || argc>3
これって argc != 3 でよくなくない?

188 :デフォルトの名無しさん:05/03/09 16:39:20
ひどいでつね、これは

189 :184:05/03/09 17:01:37
>186が何を言いたいのか判らない…

>>187
ですね。
コマンドラインの設計としては、オプション番号を先にしてファイル名は任意なのがいいけど。
#その場合、ファイル名が無ければ標準入力、複数あったらそれぞれのファイルを処理すると。

190 :デフォルトの名無しさん:05/03/09 17:22:42
>>183-189さま

指摘ありがとうございます。 m(_ _)m

>使用方法:%s の %s
これは>>185さんの指摘通りargv[0]を表示させようと思ってて書き忘れてました^^;

>argc<2 || argc>3
確かにargc!=3ですね^^;

精進します。。

191 :デフォルトの名無しさん:05/03/09 18:14:41
>>189
なにがわからないんだ?
printf("%s\n",s); を fputs にかえりゃいいっつってるだけですが

192 :デフォルトの名無しさん:05/03/09 18:16:04
そうすれば、removeN をわざわざ作らなくていい。わかった? >>189

193 :デフォルトの名無しさん:05/03/09 18:18:34
>>191
fputsじゃなくてputsだろ。

194 :デフォルトの名無しさん:05/03/09 18:19:42
>>191
あのやり方だとreverseallで改行ごとひっくり返して
まずいことになりますけど。

195 :デフォルトの名無しさん:05/03/09 18:31:50
なにいってんの?

196 :184=189:05/03/09 18:33:46
>191-192 =>186?
阿呆は引っ込んでていいよ。

197 :デフォルトの名無しさん:05/03/09 18:36:02
ちなみに俺が 171 のをやるとこんな感じだなぁ ( ´,_ゝ`)プッ
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/249.txt

198 :デフォルトの名無しさん:05/03/09 18:41:44
返信がとぎれたんですけど。
184 でやったみたく、ツッコミどころ満載のソースに偉そうに長文レスしてみろよ

199 :184=189:05/03/09 18:47:46
>>197
・opt_numのチェックをしとかんと。ついでに言えば、配列は0オリジンで仕様は1-3。
・sentencecase()のスイッチは','じゃなくて'.'じゃないと。
・で、そのスイッチ(sw)、グローバル変数にする理由は?
・改行コードの扱いは?

200 :デフォルトの名無しさん:05/03/09 18:48:23
やべ、微妙なところで間違えだらけだな。
もういないのか?

201 :デフォルトの名無しさん:05/03/09 18:49:39
ほへほへ、じゃ、次は君がソース作ってお手本みせてちょ
待ってるよ

202 :184=189:05/03/09 18:52:46
>>197
他にもあるっぽいけど確認するの面倒だからパス。

>>201
指摘したことを念頭に丹念に書き直せば大体同じようなものになるよ、きっと。

203 :デフォルトの名無しさん:05/03/09 18:55:55
・opt_numのチェックをしとかんと。ついでに言えば、配列は0オリジンで仕様は1-3。ー>reverseall 間違ってますね。確かにチェックはあった方がいいか
・sentencecase()のスイッチは','じゃなくて'.'じゃないと。ー>ほんとだ
・で、そのスイッチ(sw)、グローバル変数にする理由は? −>引数を減らそうと思って
・改行コードの扱いは? ー>いまいちわからん

作ってください、できるでしょ、すぐに。使用に詳しい人のソースが見たいなぁ

204 :デフォルトの名無しさん:05/03/09 18:57:58
>>197
気になったところだけ追記。
・「間違え」ではなく「間違い」。
・exit()の引き数はEXIT_FAILUREなのにmain()からのreturnでは0。
・toupper()の*++pはおかしかないか?

205 :デフォルトの名無しさん:05/03/09 19:02:13
・toupper()の*++pはおかしかないか?
これは絶対いわれると思ったけど、なにがいけないの?

206 :デフォルトの名無しさん:05/03/09 19:05:32
>>205
副作用完了点が曖昧コードは保守性を落とす。
それに、先にインクリメントしちゃダメじゃね?

207 :デフォルトの名無しさん:05/03/09 19:06:09
けっきょく作る気はないのか。
おまけに日本語の指摘をされてお仕舞いとは。

208 :206:05/03/09 19:06:24
じゃねぇや、スイッチの直後が先頭文字って仮定が問題なのか。

209 :デフォルトの名無しさん:05/03/09 19:08:54
>副作用完了点が曖昧コードは保守性を落とす。
けど、だいたいの本は、優先順位が、前置演算が一番高かったりするわけなのだが・・・

少し、スレを汚しすぎたのでこれぐらいにしときます。

210 :184=189=204:05/03/09 19:13:45
>>208
そういうこと。

>>209
私なら別の文にするねぇ。

>>207
最早作る気ないよ。
だって既に二人も作ってるんだから0から作る楽しみがないし、
改修するにしても既に指摘済みだから同じことの繰り返しになっちゃう。
似たような別の問題があったらそんときはやらんでもないけど。

ついでに日本語の指摘をもう一言。
主語を省くなら、二文の主語を一致させないと混乱の元。
作る気がないのは私だけど、指摘されるのは私じゃない。

211 :デフォルトの名無しさん:05/03/09 19:19:48
>>209
toupperは実装がマクロである可能性がある。特にCコンパイラでは。

212 :デフォルトの名無しさん:05/03/09 23:42:27
>>167
つ ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/250.txt
疲れたヨ

213 :デフォルトの名無しさん:05/03/10 00:24:58
[1] 授業単元:配列
[2] 問題文(含コード&リンク):
1.標準入力よりgetchar()関数で文字列を入力し、暗号文字にして出力する。暗号文字にするには%→&に、1→2に、A→BにZ→[に{→|に…
とひとつずつずらすやり方で変換する(アスキーコード表による)ただし入力は0x20〜0x7dのにゅうりょくとし、それ以外は変換しない。また入力は50文字を限度とする。
2.2次元配列に各月の英単語を宣言時に初期化する。
各月の単語はjanuary〜decemberの文字列で。
しょりとして標準入力より月数を入力すれば表より対応する英単語を出力する。
これを999が入力されるまで繰り返す。
(入力は数値の入力とし、正常な月数でなければ"input ERROR!!"を出力する。また数値以外の場合のエラー処理は考えなくてもいい。)
[3] 環境
 [3.1] OS:WINNT
 [3.2] コンパイラ(バージョン):
 [3.3] 言語:C
[4] 期限:明後日
[5] その他の制限:printfやscanf程度の命令文で

214 :ぼるじょあ:05/03/10 00:30:40
>>213
(・3・) エェー  そんくらい自分でやれYA

215 :デフォルトの名無しさん:05/03/10 00:36:04
ぼるじょあが片付けると言ってるわりには何もやってねえよな

216 :デフォルトの名無しさん:05/03/10 00:37:29
>>215
>>214 は偽物だろYO!

217 :デフォルトの名無しさん:05/03/10 00:40:34
偽者であろうがなかろうが
ぼるじょあが片付けると言ってるわりには何もやってねえよな

218 :ぼるじょあ:05/03/10 00:50:01
>>215
(・3・) エェー  じゃあ嫌々やってやるYO
           カップラーメンくったらNE

219 :デフォルトの名無しさん:05/03/10 00:52:17
ぼるじょあが嫌々宿題を片付けるスレかよ

220 :デフォルトの名無しさん:05/03/10 00:54:57
>>218
はやくやれグズ

221 :デフォルトの名無しさん:05/03/10 01:07:13
結局やらねえのか

222 :ぼるじょあ:05/03/10 01:17:38
(・3・) エェー  飯くったけど無理
           getcharで文字列入力って意味わかんない

223 :ぼるじょあ:05/03/10 01:21:04
(・3・) エェー  なに?1文字毎にエンター押すの?
           50字限度って言ってるけどそれより短い状態で終わりたいときはなにをもって終わりとするの?

224 :デフォルトの名無しさん:05/03/10 01:23:01
>>223
バカかお前

225 :ぼるじょあ:05/03/10 01:25:21
>>224
(・3・) エェー  馬鹿だから教えてYO
           つか、getcharなんて使ったことねーYO

226 :デフォルトの名無しさん:05/03/10 01:29:25
今宿題やって下さるぼるじょあさんはいらっしゃいますか?

227 :デフォルトの名無しさん:05/03/10 01:32:36
>>226
馬鹿のぼるじょあしかいません

228 :デフォルトの名無しさん:05/03/10 01:34:58
ぼるじょあさんがいらっしゃるのに、私めごときが答えるわけにはいきません

229 :デフォルトの名無しさん:05/03/10 01:35:00
>>223
Ctrl-Cに決まってるダロ!

230 :ぼるじょあ ◆yBEncckFOU :05/03/10 01:40:02
>>229
(・3・) エェー  EOF?
           なんか僕ダメポだから君がやってYO
           getcharわかんね

231 :デフォルトの名無しさん:05/03/10 01:40:43
>>230
(・3・) エェー  そんくらい自分でやれYA

232 :デフォルトの名無しさん:05/03/10 01:41:52
[1] 授業単元: 単元って科目名ですか?科目はC++言語です
[2] 問題文(含コード&リンク):簡単な四則演算プログラムの作成

キーボードもしくはファイルから入力して、そのデータの四則演算を行う
処理結果をファイルに出力を行うこと
二項演算が出来ればよい
各演算の処理ごとにメンバ関数を作成すること
プログラムの動作と機能を説明せよ
クラスやストリームI/OなどC++の機能を使って作成せよ

[3] 環境
 [3.1] OS: windowsXP pro
 [3.2] コンパイラ(バージョン): Microsoft Visual C++ 6.0
 [3.3] 言語:C++
[4] 期限:2005年3月10日 午前9時半提出(9時までにお願いします)
[5] その他の制限: 作成時の苦労した点も発表しなきゃいけないんで出来ればお願いします


233 :ぼるじょあ ◆yBEncckFOU :05/03/10 01:44:53
>>231
(・3・) エェー  gets使っていい?

234 :デフォルトの名無しさん:05/03/10 01:46:10
>>213
#include<stdio.h>
void
Q1( void ) {
int i;
for ( i = 0; i < 50; i++ ) {
int wC;
if ( ( wC = getchar() ) == -1 ) break;
putchar ( wC < 0x20 || wC > 0x7d ? wC : wC + 1 );
}
}
void
Q2( void ) {
char wMeses[][ 12 ] = {
"enero", "febrero", "marzo", "abril", "mayo", "junio",
"julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"
};
int wMes;
while ( scanf( "%d", &wMes ) == 1 ) {
if ( wMes == 999 ) break;
if ( wMes < 1 || wMes > 12 ) fprintf( stderr, "input ERROR!!\n" );
else printf( "%s\n", wMeses[ wMes - 1 ] );
}
}



235 :デフォルトの名無しさん:05/03/10 01:47:01
>>233
むちゃくちゃじゃねーか!もう

236 :234:05/03/10 01:48:10
月の名前が西語になってるのは英語でのスペルに自信がなかったからで他意はありません。

237 :デフォルトの名無しさん:05/03/10 01:49:00
Ctrl-C≠EOF



ここのぼるちゃんのらべる低いなぁ…

238 :ぼるじょあ ◆yBEncckFOU :05/03/10 01:50:18
>>234
(・3・) エェー  なんでお前がやってんだYO
           ぼるじょあがんばってやってんだYO
           余計なことするなYO

239 :ぼるじょあ ◆yBEncckFOU :05/03/10 01:51:28
(・3・) エェー  ぼるじょあ増殖中だZO!!

240 :デフォルトの名無しさん:05/03/10 01:54:40
>>230
WindowsのEOFはCtrl-Zだ!
つーか、Ctrl-CでEOFって何?OS/2?

241 :デフォルトの名無しさん:05/03/10 01:55:51
>>232
作成時の苦労した点
1:問題が曖昧すぎて何をさせたいのか推測するのが大変でした。
2:組み込み演算子を使えばいいものをわざわざメンバ関数にする意図がわからず苦労しました。

と苦労する前に予測してみる。

242 :ぼるじょあ ◆yBEncckFOU :05/03/10 01:57:14
(・3・) エェー  しらねーYO!!

243 :232:05/03/10 01:57:54
>241
組み込み演算子とか習ってないんですよまだ
好きなように記述していいんでしょうけどかえってよくわかりません
ここって今いる人が居なくなっちゃったら夕方まで人来ませんよね……

244 :デフォルトの名無しさん:05/03/10 02:02:07
>>243
+とか-とか*とか/とか習ってないって?

245 :デフォルトの名無しさん:05/03/10 02:02:08
>>243
組み込み演算子って、+ とか - とかのことよ?


246 :デフォルトの名無しさん:05/03/10 02:03:56
>245
あ、それは習いました!さらにメンバ関数を作るってことだと思います

247 :デフォルトの名無しさん:05/03/10 02:13:12
誰かがやってくれてると信じて、また9時に参ります。よろしくお願いします。

248 :デフォルトの名無しさん:05/03/10 02:16:59
>>213
短いし簡単な関数しか使ってないYO!内容も簡単になっているからこのまま
コピペして出してNE!

1問目。改行で終了するようになっているのは勝手に直してNE!
#include <stdio.h>
int main(void){int c,i=0;while((c=getchar())!='\n'&i++<50)putchar(31<c&c<126?++
c%125:c);}

2問目。
#include <stdio.h>
int main(void){char m[][10]={"january","february","march","april","may","june",
"july","august","september","october","november","december"};int i;for(;;){
scanf("%d",&i);if(0<i&i<13){puts(m[i-1]);continue;}if(i==999)break;puts(
"input ERROR!!");}}

249 :デフォルトの名無しさん:05/03/10 02:19:19
>248
ぼるじょあさん 名前名前!

250 :デフォルトの名無しさん:05/03/10 02:23:47
>>247
#include <iostream>
using namespace std;

struct Calc {
double Add( double p1, double p2 ) { return p1 + p2; }
double Sub( double p1, double p2 ) { return p1 - p2; }
double Mul( double p1, double p2 ) { return p1 * p2; }
double Div( double p1, double p2 ) { return p1 / p2; }
};
int
main() {
double w1, w2;
cin >> w1 >> w2;
Calc wC;
cout
<< wC.Add( w1, w2 ) << endl
<< wC.Sub( w1, w2 ) << endl
<< wC.Mul( w1, w2 ) << endl
<< wC.Div( w1, w2 ) << endl
;
}

ファイル出力は ./a.out > ファイル名、これがやだったら ofstream でググってね。
苦労した点は 241 に書いた通りだよ。

251 :248 == ぼるじょあ ◆yBEncckFOU :05/03/10 02:26:25
>>249
忘れたことに書き込みボタンを押した直後に気がついたYO!

252 :247:05/03/10 02:33:34
>250
ありがとうございました。これでやっと卒業できます(つдと)

253 :デフォルトの名無しさん:05/03/10 02:37:33
>>252
最初からそう言えば誰もやらなかったのに・・・

254 :デフォルトの名無しさん:05/03/10 02:44:47
>253
^^

255 :デフォルトの名無しさん:05/03/10 03:58:19
>>248
なんという酷いコードだ!

256 :デフォルトの名無しさん:05/03/10 11:24:33
ここの住人ってわざわざ文字コードを使うよね…
文字定数を使えば処理系依存を無くせるのに…
あと ctype.h の関数も覚えた方がいいよ…

257 :デフォルトの名無しさん:05/03/10 11:30:37
( ´_ゝ`)フーン

258 :デフォルトの名無しさん:05/03/10 11:40:50
文字定数は使ってるけど、ctypeなんてコンソールじゃなきゃ使わないからなぁ。
てかcinしかつかわね。

259 :デフォルトの名無しさん:05/03/10 12:49:21
cursesライブラリの端末制御関数を利用、言語はC、OSはLINUXでKtermを使っています。
ソース内とは別にあるpbmファイルを読み込むようにするためには、ソースをどのように実行&コンパイルすれば良いでしょうか?

260 :デフォルトの名無しさん:05/03/10 12:52:28
>>259
includeすれば?

261 :デフォルトの名無しさん:05/03/10 12:53:11
>>1を読んでね。お願いだから

262 :デフォルトの名無しさん:05/03/10 14:10:13
>>256
激しく同意+あげ

263 :デフォルトの名無しさん:05/03/10 14:15:15
>>262
ほう、EBCDICもOKとな、すげーな

264 :デフォルトの名無しさん:05/03/10 15:08:38
>>256
お手本を見せてください。

265 :256:05/03/10 15:37:49
256 なんか(・∀・)イイ って気づいた

>>262 ナカーマ(*・∀・)人(・∀・*)
>>263 'A' - 'a' みたいのはダメだヨ。規格は '0' から '9' までは続いている事を保証してるけどネ
>>264 目的が違うけど >>212 で ctype.h 使ったヨ。ツッコミあればどうぞ

266 :デフォルトの名無しさん:05/03/10 19:57:14
char CH[] = { 'A', 'B', 'C', ... , 'Z' };
char ch[] = { 'a', 'b', 'c', ... , 'z' };

OK


267 :デフォルトの名無しさん:05/03/10 22:40:10
[1] 情報処理
[2] 次の微分方程式を解くプログラムを作成せよ
L(d^2Q/dt^2)+R(dQ/dt)+Q/C=V
L=100(mH)、C=0.01(μF)、R=510Ω、V=1(V)
t=0でQ=0とする
[3] 環境
 [3.1] win
 [3.2] CPad for Borland C++Compiler Ver2.31
 [3.3] C
[4] 3月11日夜12時までにメールで提出
[5] 特になし

LCR回路についての方程式です。どなたかお願いします〜

268 :デフォルトの名無しさん:05/03/10 23:00:58
>>267
2階の微分方程式なのに、
初期条件1つって、
何か書き忘れてない?

あと、解析的に解けると思うけど、
数値積分して、プロットする必要があるのかなあ?

269 :デフォルトの名無しさん:05/03/10 23:25:30
>>268
ああー言っちゃったw
意外とこの先生面白いよ

270 :デフォルトの名無しさん:05/03/11 00:31:33
>>267
専門的すぎて分からん。
だいたい、微分方程式ってもいろいろ方法あった気がするんだが指定されてないのか?

271 :デフォルトの名無しさん:05/03/11 00:43:08
オイラー法とかルンゲ・クッタ法だね。ポピュラーなものは。
それから>>268の言うように、t=0の時のdQ/dtの初期値がわからないと
どちらにしろ解けん。

272 :デフォルトの名無しさん:05/03/11 01:00:09
/** ==== 俺用memo ====
やったなぁ昔、なつかしい。>電気回路
L di/dt + Ri + 1/c S i dt = Vに変換するんだったっけ。忘れた。
明日暇なので教科書引っ張り出してやってみよ。
==== 俺用memo ==== **/

273 :267:05/03/11 01:22:58
確かに初期条件1コ抜けてました・・・スマソ
ステップ電圧をかけたときだから、t=0で(dQ/dt)=0です。
これが終わらないと俺に春休みが来ない・・・つД`)

方法は特に指定されてないッス。
>>272
お願いします!

274 :デフォルトの名無しさん:05/03/11 01:24:37
もう一つの条件

>LCR回路についての方程式


275 :267:05/03/11 01:29:09
あとついでに抵抗にかかる電圧Vr=RIも出してもらえるとむっちゃ助かります。

連投スマソ

276 :ぼるじょあ ◆yBEncckFOU :05/03/11 01:33:19
(・3・) エェー  ぼるじょあが皆の質問聞き流してやるYO

277 :デフォルトの名無しさん:05/03/11 01:35:50
>>267

double Q(double t){
    return 0.01-(2201*cosh((sqrt(2201)*t)/20.)+51*sqrt(2201)*sinh((sqrt(2201)*t)/20.))/(220100.*pow(2.71828182845904523536029,(51*t)/20.));
}

278 :デフォルトの名無しさん:05/03/11 01:39:13
>>277
( ゚Д゚)ゴルァ!!Mathematica使ったら反則。

279 :デフォルトの名無しさん:05/03/11 01:43:21
【質問テンプレ】
[1] 授業単元: C言語
[2] 問題文(含コード&リンク):

整数10個を入力し、その中の同じものの個数をかぞえる
プログラムを作成せよ。

入力例 10 20 30 16 12 10 43 30 10 12

入力  回数
出力結果
10 3
20 1
30 2
16 1
12 2
43 1
[3] 環境
 [3.1] OS:XP
 [3.2] コンパイラ(バージョン): borland 5.5
 [3.3] 言語:C
[4] 期限:明日の昼までに提出
[5] その他の制限:

高校のプログラミングの時間に出された宿題です。
自分で悩んでやってましたが、
入力した数値が10個全部出てしまい、上手く
出力結果通りなりませんでした。
どうかどなたかご教授願います。

280 :277:05/03/11 01:43:22
>>278
ばれたか。しかし単純な線形微分方程式だからプログラムで
解くまでもない…例が悪いよなぁ。

281 :デフォルトの名無しさん:05/03/11 01:49:33
>>279
自分で書いたソース出してみなされ

282 :デフォルトの名無しさん:05/03/11 01:50:58
>>276
少しはまともな答え出してみろボケ

283 :デフォルトの名無しさん:05/03/11 02:02:15
>>279
int
main( void ) {
int i, j;
int w[ 10 ];
for ( i = 0; i < 10; i++ ) {
if ( scanf( "%d", &w[ i ] ) == 0 ) return;
}
int wC[ 10 ];
for ( i = 0; i < 10; i++ ) wC[ i ] = 1;
for ( i = 0; i < 9; i++ ) {
if ( wC[ i ] ) {
for ( j = i + 1; j < 10; j++ ) {
if ( w[ i ] == w[ j ] ) {
wC[ i ] += wC[ j ];
wC[ j ] = 0;
}
}
}
}
for ( i = 0; i < 10; i++ ) if ( wC[ i ] ) printf( "%d\t%d\n", w[ i ], wC[ i ] );
}



284 :267:05/03/11 02:02:19
書き方悪かったかな。方程式を解くっていうか、Q,RIのtに対する値を返すプログラムを作成せよ、でした。
度々スンマソン

285 :デフォルトの名無しさん:05/03/11 02:13:09
>>274
それは何の条件も意味しない

286 :279:05/03/11 02:16:09
#include<stdio.h>
int main(void)
{
int a[10],i,j;
int kaisu;
printf("数を10個入力してください:\n");
for(i = 0; i < 10; i++)
scanf("%d", &a[i]);
for(i = 0; i < 10; i++){
kaisu = 1;

for(j=i+1; j<10;j++)
if(a[i]==a[j]) kaisu++;
printf("%d %d \n",a[i],kaisu);
}

return 0;
}
このようにやってみたのですが、上手く数えれませんでした。
根本的な考えが間違ってるのかもしれませんが
どうかよろしくお願いします。

287 :ぼるじょあ ◆yBEncckFOU :05/03/11 02:48:40
(・3・) エェー  ぼるじょあ最強だZO

288 :デフォルトの名無しさん:05/03/11 04:06:12
まずkaisu=1の初期値の場所が・・・

289 :デフォルトの名無しさん:05/03/11 09:41:06
[1] 授業単元:アルゴリズム
[2] 問題文(含コード&リンク):
 二つのbinary search treeを作り、与えられたコマンドを実行する。
 
 コマンド:
 Ix string1 string2 .... //x番目のtreeのデータにstringを挿入
 Dx string1 string2 .... //x番目のtreeから与えられたstringを削除
 Px  //x番目のtreeのデータを表示(post-order)
Sx string //x番目のtreeに与えられたstringがあるかどうか示す
 IS //二つのtreeが同じ形をしているかどうか示す
 ID //二つのtreeが全く同じものかどうか示す

xには1か2が入ります。
 コマンドは上の書式で書かれていて、ファイルから読み込む。

[3] 環境
 [3.1] OS: XP
 [3.2] コンパイラ(バージョン): borland 5.5
 [3.3] 言語:C++
[4] 期限:4-5時間内
[5] その他の制限:
 期限を見てアホかと思われるでしょうが、
 どなたかお力添え頂けないでしょうか。

もしもの時の連絡先:nyamuri@ホットメール

290 :279:05/03/11 09:46:57
>>283さん
色々参考にさせてもらいました。
無事解決し、提出できそうです。
どうもありがとうございました。

291 :デフォルトの名無しさん:05/03/11 13:44:44
>>289
まだ間に合う?

292 :デフォルトの名無しさん:05/03/11 13:48:08
おかげさまで留年決定しました

293 :デフォルトの名無しさん:05/03/11 13:49:22
>>291
あと1時間くらいあります。

IS、IDがどうにもこうにも。

294 :デフォルトの名無しさん:05/03/11 14:05:04
>>293
 IS //二つのtreeが同じ形をしているかどうか示す
 ID //二つのtreeが全く同じものかどうか示す

「同じ形」は何となく意味がわかるけど
「全く同じ」はどういう意味なんだろう?

295 :デフォルトの名無しさん:05/03/11 14:23:10
>>294
データも同じって事です。
bool ID(node t1, node t2)
{
if(t1->data != t2->data)
return false;

else{
return ID(t1->right, t2->right);
return ID(t1->left, t2->left);
}

return true;
}

こんなんかと。



296 :デフォルトの名無しさん:05/03/11 14:44:19
>>295

だとすると、こうじゃない?

bool ID( node t1, node t2 ) {
if ( t1->data != t2->Data ) return false;
if ( ! ID( t1->right, t2->right ) ) return false;
if ( ! ID( t1->left, t2->left ) ) return false;
return true;
}

IS は if ( t1->data != t2->Data ) return false;
の代わりに if ( strcmp( t1->data, t2->Data ) ) return false;
かな?

297 :デフォルトの名無しさん:05/03/11 14:53:42
bool is_id::iSO(BinaryNode<string> *&t1, BinaryNode<string> *&t2)
{
if((t1->right != NULL)&&(t2->right == NULL))
return false;
else if((t1->right == NULL)&&(t2->right != NULL))
return false;
else if((t1->left != NULL)&&(t2->left == NULL))
return false;
else if((t1->left == NULL)&&(t2->left != NULL))
return false;
else
{
iSO(t1->right, t2->right);
iSO(t1->left, t2->left);
}
return true;
}

長すぎますよね。。
strcmpか。

298 :デフォルトの名無しさん:05/03/11 14:55:56
>>295
分かりやすく書けば、こんな感じかなあ。
t1 == null で言いたいことが伝わればいいけど。
末端の扱いだけ注意すれば、再帰で一発。

bool ID(node t1, node t2)
{
if (t1 == null && t2 == null) return true;
if (t1 == null && t2 != null) return false;
if (t1 != null && t2 == null) return false;

return ( (t1->data == t2->data) // IS はここを省略
&& ID(t1->right, t2->right)
&& ID(t1->left, t2->left) );
}

299 :デフォルトの名無しさん:05/03/11 15:06:28
>>298
なるほどです。
ありがとうございます。



300 :デフォルトの名無しさん:05/03/11 15:09:34
>>298
最初の3行
if ( t1 == null ) return t2 == null;
if ( t2 == null ) return false;
でもいいね。

301 :デフォルトの名無しさん:05/03/11 15:19:26
ちょっと別の質問になるんですが、
"BinarySearchTree"(insert,delete,search,print用)ってクラス(A)と、
"is_id"(IS,ID用)ってクラス(B)を作りまして、BはAをインクルードしてます。

mainがAもBもインクルードしているんですが、これって問題でしょうか?

インクルード自体は問題ないのかもしれないけど、
main内に
BinarySearchTree T1,T2;
is_id(T1,T2);
としたら、”外部シンボル〜が未解決”を食らいました。


まったりで結構です。
期限過ぎた。。

IS,IDを加えられないまま提出しました。

302 :デフォルトの名無しさん:05/03/11 15:27:50
>>300
分かりやすくということで大目に見てください。
実際には、>>297のように親ノードの段階で、
子ノードの有無を確認した方がいいでしょうし。

303 :デフォルトの名無しさん:05/03/11 20:27:40
#include<stdio.h>

void main(void)
{
int moto[8]={8,5,1,4,2,3,6,7};//←
int n;
int i=7;
int tmp=0;
int tmp2=0;
int nn;
int s=0;

for(n=7;n>0;n--)
{
if(moto[i]<moto[i-1])
{

tmp=moto[i];
tmp2=moto[i-1];
moto[i-1]=tmp;
moto[i]=tmp2;
}
i--;
}
for(n=7;n>0;n--)
{
printf("%d",moto[n]);
}
return 0;
}こうやった場合、うまくバブルソートされません、、
どうしてー・・・(つДT)

304 :デフォルトの名無しさん:05/03/11 20:31:33
面倒でも実際にトレースしてみろ
あと数字を入れ替えるのに必要な変数は1つだ。2つも要らん

305 :デフォルトの名無しさん:05/03/11 20:56:15
>>304
すいません、実際紙に書いてやるとできました。m(_ _)m

306 :デフォルトの名無しさん:05/03/11 20:56:55
おめでとう、じゃあそのコードは間違っていないんだよ

307 :デフォルトの名無しさん:05/03/12 08:11:33
よかったじゃないか。

308 :デフォルトの名無しさん:05/03/12 09:58:29
>301
>としたら、”外部シンボル〜が未解決”を食らいました。
エラーメッセージはなるべく全部書きましょう。
あなたには意味不明でも識者には有用であったりします。

ちなみに
1.C/C++言語ではコンパイルはソースファイル単位で行われる。つまり他のソースとの整合性はチェックしない。
2.includeは単にそのソースファイルにincludeのファイルを挿入するだけである。
3.コンパイル時には関数宣言があるかはチェックするが、定義があるかどうかをチェックするわけではない。
4.関数を呼び出してるところと関数の定義をするのはリンカの仕事である。

で宣言があって定義がない関数とかはリンカがエラーをはく。
VC++あたりだとおまえさんが少し書いたようなエラーメッセージを出す。

309 :308:05/03/12 09:59:59
間違えた。
4.関数を呼び出してるところと関数の定義をするのはリンカの仕事である。

4.関数を呼び出してるところと関数の定義をリンクするのはリンカの仕事である。


310 :デフォルトの名無しさん:05/03/12 12:18:41
[1] 授業単元: C言語
[2] 問題文 次のプログラムが実行されたとき各変数の値がどうなってるか書け
[3] 環境
 [3.1] OS: windowsXP
 [3.2] コンパイラ(バージョン):Visual C++
 [3.3] 言語:C
[4] 期限:なるべく早く
     ・・・
char c = 'x', *p;

p = &c;
(*p)--; /* ? */
 ・・・

311 :デフォルトの名無しさん:05/03/12 12:21:06
  ・・・
int a[] = {1,2,3} , *q;

q = &a [ 1 ]
*(q+1) += * (q) ; /* ? */
・・・

?の部分がわかりません
基本かもしれませんがわからないのでお願いします

312 :デフォルトの名無しさん:05/03/12 12:35:10
>>310
char c = 'x', *p;
p = &c;
//c の値はxの文字コード、pはcへのポインタ

(*p)--;
//ここでpの指しているものにデクリメントをかけている。
//pはcを指しているのでcの値が1減る。
//cの値は文字コードでxの一つ前、wになるハズ。

>>311
int a[] = {1,2,3} , *q;
q = &a [ 1 ];
//aは要素数3のint配列、qはintへのポインタ
//qが指しているのはa[1]、つまりaの二番目の要素

*(q+1) += * (q) ;
//*(q)はaの二番目の要素、*(q+1)はaの三番目の要素、
//aの三番目にaの二番目を加えているから
//a[0] == 1, a[1] == 2, a[2] == 5 になるはず。



313 :デフォルトの名無しさん:05/03/12 20:19:54
>>310-311
コメントの中は何書いても大丈夫

314 :デフォルトの名無しさん:05/03/12 20:25:15
先生の悪口とか書いたら大丈夫じゃないだろ

315 :デフォルトの名無しさん:05/03/13 01:23:04
[1] 授業単元:配列
[2] 問題文(含コード&リンク):
1.9行9列の二次元配列に掛け算の九九の値を格納し、格段ごとに出力する。
2.scanfにより文字列データを入力し、最後から一文字ずつ縦に出力する。ただし入力は20文字までとし、エラーは考えない。
[3] 環境
 [3.1] OS:WINNT
 [3.2] コンパイラ(バージョン):
 [3.3] 言語:C
[4] 期限:なるべく早め
[5] その他の制限:printfやscanf程度の命令文で


316 :デフォルトの名無しさん:05/03/13 01:25:55
>>315
文字コードは?

317 :デフォルトの名無しさん:05/03/13 01:28:07
nn[9][9] = {
{1, 2, 3, 4, 5, 6, 7, 8, 9},
{2, 4, 6. 8. 10, 12, 14, 16, 18},
.....
};
終わり

318 :315:05/03/13 01:33:53
>>316
普通のキャラ文字入力でいいんでないでしょうか?

319 :デフォルトの名無しさん:05/03/13 01:37:13
わかるところまで書いてみろ
適当に手直ししてやるから

320 :ぼるじょあん:05/03/13 02:20:22
#include <stdio.h>

int main(void){
long i,j;
long kuku[9][9];

for(i=0;i<9;i++){
for(j=0;j<9;j++){
kuku[i][j] = (i+1)*(j+1);
}
}

for(i=0;i<9;i++){
for(j=0;j<9;j++){
printf("%d ",kuku[i][j]);
}
printf("\n");
}
return 0;
}
( ・ 3 ・ ) エェー こんな漢字?

321 :ぼるじょあん:05/03/13 02:21:03
#include <stdio.h>

int main(void){
char sos[21];
long i=0;

scanf("%s",&sos);
while(sos[i] != '\0'){
i++;
}

for(;i>0;i--){
printf("%c",sos[i-1]);
}
return 0;
}

( ・ 3 ・ ) エェー なもたいなもたいYO

322 :ぼるじょあん:05/03/13 02:26:20
#include <stdio.h>

int main(void){
char sos[21];
long i=0;

scanf("%s",&sos);
while(sos[i] != '\0'){
i++;
}
printf("\n");
for(;i>0;i--){
printf("%c\n",sos[i-1]);
}
return 0;
}

( ・ 3 ・ ) エェー 出力縦だからこうだNE

323 :デフォルトの名無しさん:05/03/13 02:31:12
お馬鹿なソースだなおい

324 :デフォルトの名無しさん:05/03/13 02:40:26
>>315
1.
#include <stdio.h>
int main(void){
    int i, j, res[9][9];
    for (i = 1; i <= 9; i++)
        for (j = 1; j <= 9; j++)
            res[i - 1][j - 1] = i * j;
    printf("   1  2  3  4  5  6  7  8  9\n");
    for (i = 1; i <= 9; i++){
        printf("%d", i);
        for (j = 1; j <= 9; j++)
            printf("%3d", res[i - 1][j - 1]);
        printf("\n");
    }
}

325 :デフォルトの名無しさん:05/03/13 05:09:46
ぼっぼぼぼぼるじょあ〜〜〜ん

326 :デフォルトの名無しさん:05/03/13 13:05:13
>[5] その他の制限:printfやscanf程度の命令文で
ってあるから仕方ないが,
>>324のprintf("\n"); は冗長に見えてしまう。
putchar('\n'); とか puts(""); とかする人挙手!!

327 :デフォルトの名無しさん:05/03/13 13:12:58
|Д`)

328 :デフォルトの名無しさん:05/03/13 13:14:09
>>326
改行するためだけにputsを使うのは許せない俺がいるw

329 :デフォルトの名無しさん:05/03/13 13:38:26
小さい春、み〜つけたw

330 :デフォルトの名無しさん:05/03/13 15:11:33
gccでprintf("\n")と書いてもputs("")に置き換えられる罠。

331 :デフォルトの名無しさん:05/03/14 14:07:38
>>324
冗長なのがやなら、こうすればいいんじゃない?
for (i = 1; i <= 9; i++) {
printf("%d%3d%3d%3d%3d%3d%3d%3d%3d%3d\n" , i
,res[i - 1][0], res[i - 1][1], res[i - 1][2]
,res[i - 1][3], res[i - 1][4], res[i - 1][5]
,res[i - 1][6], res[i - 1][7], res[i - 1][8]
);
}

332 :デフォルトの名無しさん:05/03/14 18:00:48
冗長なのが嫌だったら最初から配列に格納したりしない罠。

333 :デフォルトの名無しさん:05/03/15 05:05:46
>>332
問題の把握もできない素人

334 :デフォルトの名無しさん:05/03/15 05:24:33
[1] 授業単元: 数学?(ゲーム作ってて必要になった)
[2] 問題文 円と直線の共有点を求める
[3] 環境
 [3.1] OS: windowsXP
 [3.2] コンパイラ(バージョン):Visual C++ .NET
 [3.3] 言語:C
[4] 期限:無

共有点って解が無い時と複数出る時があるけど
そこら辺をどうCで対処すればいいのか解らんとです。

335 :デフォルトの名無しさん:05/03/15 06:37:33
中心から直線までの距離はすぐ出せるよな?
それが半径と一緒か大きいか小さいかで全部判るよな?

336 :デフォルトの名無しさん:05/03/15 06:48:49
http://www.nikonet.or.jp/spring/kyori/kyori.htm

337 :334:05/03/15 06:59:04
>>335
スマソ説明足らんかった
共有点の「座標」が求めたいんでつ

338 :デフォルトの名無しさん:05/03/15 07:47:14
>>337
円と直線がどういう形式(構造体)で与えられるか
決め手もらえると、とっつきやすいんだが。
どういうレベルかも分かって、説明の手間が省ける。

339 :デフォルトの名無しさん:05/03/15 09:20:41
つーか、流石にそのくらい自力でできなきゃ話にならんだろ。

340 :334:05/03/15 09:48:57
>>338
直線はY=AX+Bより、AとB
円は半径Rと中心点(a,b)が既に値が入ってる状態です。

頭で計算する分には連立方程式解けばいいだけなんだけど
プログラムとなると解が複数出る場合
左辺の変数とかどうすりゃいいのかで悩んでるっす

341 :334:05/03/15 10:07:52
あぁ、さらに簡潔に言うと
例えばx*x+x=2の場合xは-2と1の解を持つけど
プログラムの場合、xの値を求めるにはどうプログラムを書けばいいのかで悩んjです

なんかマジで無能でスマソorz


342 :デフォルトの名無しさん:05/03/15 10:36:28
二次方程式には解の公式があるのをご存知無いとですか?

343 :334:05/03/15 12:07:07
>>342
ぐぐってみたら確かにあったねぇ。つかこの公式の存在すっかり忘れてたORZ
あとは自分でなんとかしまふ。皆参楠です。

344 :デフォルトの名無しさん:05/03/15 12:44:47
・・・

345 :デフォルトの名無しさん:05/03/15 13:41:10
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):下記
[3] 環境
 [3.1] OS:LINUX
 [3.2] コンパイラ(バージョン): gcc
 [3.3] 言語:C
[4] 期限:明朝まで
[5] その他の制限:特にありません。

346 :デフォルトの名無しさん:05/03/15 13:41:50
問題:

ファイル table.c は、表の合計を計算するプログラムの未完成なソースである。
このプログラムの入力データは次のような表である。

2 3
1 3 5
2 4 6

ただし、1 行目は表の大きさ(2 行 3 列)を表わす。実行結果は、次のようになる。

   1   3   5 |   9
   2   4   6 |   12
-----------------------+--------
   3   7   11 |   21

このプログラムについて、以下の問題を解け。レポートには、最終的に得られる 4 つのファイル(3 つの分割ソースファイルおよび Makefile)の内容を書くこと。

(1) コメント Q1 部の ?????????? 欄に適切なコードをおぎなえ。
(2) コメント Q2 部の ?????????? 欄に適切なコードをおぎなえ。
(3) コメント Q3 部の消滅関数 void FreeTable(Table *t) を定義せよ。
(4) コメント Q4 部のアクセス関数 void TableSetVal(Table *t, int row, int col, int val) を定義せよ。
  ただし、表の外部へアクセスした場合、何も書き込まないようにすること。
(5) コメント Q5 部のアクセス関数 int TableGetVal(Table *t, int row, int col) を定義せよ。
  ただし、表の外部へアクセスした場合、0 を返すこと。
(6) ソースコードを次の 3 つのファイルへ分割せよ。

main.c: main(),LoadTable() など,本プログラムの中心的な処理(表構造体に対する応用的な操作)を行なう関数群
table.c: NewTable() など,表構造体に対する基本的な操作を行なう関数群
table.h: table.c の関数のプロトタイプなど

(7) 分割コンパイルのための Makefile を作成せよ。

347 :デフォルトの名無しさん:05/03/15 13:50:11
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/253.txt

ソースファイル、長くなったのでupしました。
どなたかよろしければお願い致します・・・。

348 :デフォルトの名無しさん:05/03/15 16:48:55
(1)malloc(sizeof(Table))
(2)calloc(row * col, sizeof(int))
(3)
void FreeTable(Table *t)
{
    free(t->val);
    free(t);
}

(4)
void TableSetVal(Table *t, int row, int col, int val)
{
    t->val[t->col * row + col] = val;
}

(5)
int TableGetVal(Table *t, int row, int col)
{
    return t->val[t->col * row + col];
}

349 :デフォルトの名無しさん:05/03/15 17:04:35
(7)
Makefile
================================
main : main.o table.o
  cc -o main main.o table.o
main.o : main.c
  cc -c main.c
table.o : table.c table.h
  cc -c table.c
================================


350 :デフォルトの名無しさん:05/03/15 17:12:49
(6)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.cgi?mode=thr&no=158
のNo.254

(7)makefile は自分で作れ

351 :345:05/03/15 17:29:38
>>348-350
涙出るほど感激です。
ありがとうございました、本当助かりました。

352 :デフォルトの名無しさん :05/03/16 00:52:32
[1] 授業単元:データベース
[2] 問題文(含コード&リンク):下記
[3] 環境
 [3.1] OS:WindowsMe
 [3.2] コンパイラ(バージョン): gcc
 [3.3] 言語:C?
[4] 期限:明日いっぱいまで
[5] その他の制限:特にありません


353 :デフォルトの名無しさん:05/03/16 00:54:06
以下のサンプルプログラムは、PostgreSQLのサンプルデータベース(test_db)に対してデータを検索して表示するプログラムである。

問題:サンプルのデータベースの内容をpoinの値で降順で表示するプログラムに変更しなさい。


#include<stdio.h>
#include<stdlib.h>
#include"libpq-fe.h"

main(int argc,char *arrgv[])
{
char query_string[512];
PGconn *conn;
PGresult *res;
int i;

conn=PQconnextdb("dbname=test_db");
if(PQstatus(conn)==CONNECTION_BAD){
fprintf(stderr,"Connection to database failed.\n%s",PQerrorMessage(conn));
exit(1);
}

sprintf(query_string,"SELECT *FROM test_db where point>50");
res=PQexec(conn,query_string);

for(i=0;i<PQntuples(res);i++){
printf("%s %s\n",PQgetvaluee(res,i,0),PQgetvalue(res,i,1));
}
PQclear(res);
PQfinish(conn;
}


354 :デフォルトの名無しさん:05/03/16 00:56:52
学生以外は受け付けません

355 :デフォルトの名無しさん:05/03/16 01:00:18
学生です。プログラムとかが全くわからないダメ学生です。本当問題の意味がわからないんです。本当助けてください。

356 :デフォルトの名無しさん:05/03/16 01:03:23
[1] 授業単元:データ構造とアルゴリズム
[2] 問題文:下記
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ(バージョン):Visual C++
 [3.3] 言語:C
[4] 期限:明日まで

<問題文>
xとyをそれぞれ0から10まで1きざみで変え、その全てを組み合わせた平面上の
11*11個の点(x,y)を考える。これらの点のうちで、
y=−(x−4)^2+10
y=3
の2つの線に囲まれた領域内(線上は除く)に含まれる点の数を出力する
プログラムを作成せよ。

色々考えましたがわかりません。どなたか教えて下さい。

357 :デフォルトの名無しさん:05/03/16 01:12:21
>>355
本当か?
俺が先生なら、postgreじゃ無く、
INICED file を教える

358 :デフォルトの名無しさん:05/03/16 01:20:45
>>357
マジです。この課題出来ないと卒業できないって言われました。わらをもすがる思いです・・・

359 :cen ◆Pm9xOTJuM. :05/03/16 01:20:46 ID:??? ?#
>>356
こうかな?
#include<stdio.h>

void main(){
int i,j,y,num=0;

for(i=0;i<=10;i++){
for(j=0;j<=10;j++){
y=-(i-4)*(i-4)+10;
if(y>3 && j>3 && j<y){num++;}
}
}
printf("%d\n",num);
}

360 :356:05/03/16 01:34:08
>>359
ありがとうございます!スッキリ解決しました!

361 :デフォルトの名無しさん:05/03/16 13:17:39
>わらをもすがる思い
まあ、なんというか、我々はワラにされてしまったわけだが。

362 :デフォルトの名無しさん:05/03/16 15:39:26
>>361
妙なテンプレができてからこのスレは藁にも満たん。

363 :デフォルトの名無しさん:05/03/16 15:49:28
>>362
どれの事だ?

364 :デフォルトの名無しさん:05/03/16 16:31:38
>>362
>>1

365 :デフォルトの名無しさん:05/03/16 16:45:38
>>364
どれの事だ?

366 :デフォルトの名無しさん:05/03/16 17:35:02
>>365
【質問テンプレ】の事ですよ。

367 :デフォルトの名無しさん:05/03/16 17:38:19
>>366
【質問テンプレ】のどこが妙だと聞いてるんだボケ

368 :デフォルトの名無しさん:05/03/16 17:50:37
>>367
あれができてから気軽に丸投げする雰囲気じゃなくなったと思う。

369 :デフォルトの名無しさん:05/03/16 17:53:03
>>368
【質問テンプレ】のどこが妙だと聞いてるんだボケ

370 :デフォルトの名無しさん:05/03/16 18:02:58
>>369
強いて言えば「授業単元」なんかの項目があるところかね。
どっちにしても俺はテンプレの存在自体が気に食わん。

371 :デフォルトの名無しさん:05/03/16 18:04:08
テンプレ要らないね。

372 :デフォルトの名無しさん:05/03/16 18:05:02
>>370
あっそう。
では、去れ。

373 :デフォルトの名無しさん:05/03/16 18:05:49
>>372
そうしよう。

374 :デフォルトの名無しさん:05/03/16 18:11:14
質問テンプレ要らないわ。

375 :デフォルトの名無しさん:05/03/16 18:33:26
あったほうがいいのでないの
Cでやった後になってC++で書き直してくださいとか言われると面倒だし
どういう授業かによって書き方も変えたりするし
例えば、初級C言語とかの場合、難しい書き方とかするとかわいそうだし

376 :デフォルトの名無しさん:05/03/16 18:35:36
要ると思う、
質問の仕方わかんないやつ多いし

377 :デフォルトの名無しさん:05/03/16 18:37:08
まったく役に立たないぼるじょあ要らないわ。

378 :デフォルトの名無しさん:05/03/16 18:37:32
それは言えてる

379 :デフォルトの名無しさん:05/03/16 18:38:40
ぼるじょあはNGワードです。

380 :デフォルトの名無しさん:05/03/16 18:39:33
アホなコードしか出さないからなぁ

381 :デフォルトの名無しさん:05/03/16 18:40:42
ここは大原ゆきに帰ってきてもらうしかない

382 :デフォルトの名無しさん:05/03/16 21:07:00
【質問テンプレ】
[1] 授業単元: Data Structure in C++
[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.cgi?mode=thr&no=255
[3] 環境
 [3.1] OS:Win XP
 [3.2] コンパイラ(バージョン):Any
 [3.3] 言語:C++
[4] 期限:明日
[5] その他の制限: ExprTree はリンクの6.1.cppと類似性をもつこと。

383 :デフォルトの名無しさん:05/03/16 21:08:04
Expression Tree(Tree, Stack) : 二分木、stackを使っての計算
参照 : http://www.programmersheaven.com/articles/images/expressionexptree.gif
3つのコードファイルを作成 ExprNode.h, ExprTree.h and ExprTree.cpp
【class ExprNode】ExprNode::Eval()、ExprNode::PrintInfix()を含む。
ExprNode::Eval() 計算する
ExprNode::PrintInfix() プリントする。
【class ExprTree】ExprTree constructors、ExprTree copy constructor、ExprTree destructor、ExprTree::Clear()、
Overloaded operators、ExprTree::Build(const string expr)、ExprTree::Evaluate()、ExprTree::PrintInfix()含む
ExprTree::Clear()、二分木をclearにする。プライベート関数。
Overloaded operators、「+, -, *, /, ^」
ExprTree::Build(const string expr)
ExprTree::Evaluate() 計算
ExprTree::PrintInfix() プリント

どうか、よろしくお願いします。


384 :デフォルトの名無しさん:05/03/17 00:58:08
静かだな・・・・

385 :デフォルトの名無しさん:05/03/17 02:12:42
[1] 授業単元:関数の作成
[2] 問題文:int judgement(int x,int y)という関数を作成せよ。
〔関数の意味〕入力パラメータであるx,yを組み合わせた平面上の点(x,y)を考え、
この点が
y=-(x-2)^2+10
y=4
の二つの線に囲まれた領域内(線上は除く)に含まれるなら戻り値は1、
含まれないなら戻り値は0.
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ(バージョン):Visual C++
 [3.3] 言語:C
[4] 期限:明朝

ご教授ください。お願いします。

386 :デフォルトの名無しさん:05/03/17 02:23:46
教授する気はないが、こんなもんかな。

int judgement(int x,int y)
{
int y1 = -(x - 2) * (x - 2) + 10;
int y2 = 4;
return y1 < y2 && y1 < y && y < y2 || y1 > y2 && y1 > y && y > y2;
}


387 :デフォルトの名無しさん:05/03/17 10:58:56
>>386
ANSI-Cの論理演算の結果って必ず0か1になる事が保証されてるん?
0か0以外の値じゃなかった?


388 :デフォルトの名無しさん:05/03/17 11:10:20
>>387
保証されてる
あと ANSI は古いんじゃないか?

389 :デフォルトの名無しさん:05/03/17 11:18:52
>>387
されてる

390 :デフォルトの名無しさん:05/03/17 12:26:00
>>387
なんだなんだ?VB厨が紛れ込んだのか?

391 :デフォルトの名無しさん:05/03/17 14:13:52
>>386
y1 < y2 && y1 < y && y < y2
こっちは囲まれてるとは言わないのでは?

392 :デフォルトの名無しさん:05/03/17 17:59:03
そうか、無限の彼方が開放なのか。

393 :デフォルトの名無しさん:05/03/17 20:11:39
>>387
(a == b ? 1 : 0)と、(a == b)の結果は等しい。
if(n)が真となるのはn != 0のとき。
これがごっちゃになってるのでは。

394 :デフォルトの名無しさん:05/03/17 21:58:45
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
角速度=(今回入力した角度ー前回入力した角度)/(今回入力した時刻ー前回入力した時刻)
を求めるプログラムを求める。
[3] 環境
 [3.1] OS:windowsXP
 [3.2] コンパイラ(バージョン): gcc
 [3.3] 言語:C
[4] 期限:できれば今日中でお願いします。
[5] その他の制限:特にありません。

395 :デフォルトの名無しさん:05/03/17 22:06:36
>>394はマルチなので質問を却下とします


396 :394:05/03/17 22:09:25
そこをなんとかお願いします。
この板のこと知らなかったもので、すいません。

397 :デフォルトの名無しさん:05/03/17 22:18:37
1から100までの自然数を素因数に分解して出力しなさい

誰かC言語でプログラム書いてもらえませんか?

398 :デフォルトの名無しさん:05/03/17 22:22:05
>>397はマルチなので質問を却下とします


399 :デフォルトの名無しさん:05/03/17 22:33:06
>>394
if 2回目以降 then
  角速度=(今回入力した角度−前回入力した角度 )/(今回入力した時刻−前回入力した時刻)

これでわかっただろ?

400 :デフォルトの名無しさん:05/03/17 22:41:10
>>394
>>397
氏ね

401 :デフォルトの名無しさん:05/03/17 22:44:06
>>397

int sPrimes[ 4 ] = { 2, 3, 5, 7 };
void
PrintFactor( int p ) {
int i;
for ( i = 0; i < 4; i++ ) {
if ( ( p % sPrimes[ i ] ) == 0 ) {
printf( " %d", sPrimes[ i ] );
return PrintFactor( p / sPrimes[ i ] );
}
}
if ( p != 1 ) printf( " %d", p );
}
int
main( void ) {
int i;
for ( i = 2; i <= 100; i++ ) {
printf( "%d:", i );
PrintFactor( i );
printf( "\n" );
}
}



402 :デフォルトの名無しさん:05/03/17 22:51:41
>>399
>>401
氏ね

403 :デフォルトの名無しさん:05/03/17 22:54:47
>>402
きっと>>399の説明じゃ>>394はわからないから大丈夫だ。


404 :デフォルトの名無しさん:05/03/17 22:58:47
>>401
空気嫁ボケ

405 :デフォルトの名無しさん:05/03/19 03:47:21
【質問テンプレ】
[1] 授業単元: Data Structure in C++
[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.cgi?mode=thr&no=255
[3] 環境
 [3.1] OS:Win XP
 [3.2] コンパイラ(バージョン):Any
 [3.3] 言語:C++
[4] 期限:明日
[5] その他の制限: ExprTree はリンクの6.1.cppと類似性をもつこと。


406 :デフォルトの名無しさん:05/03/19 03:49:10
Expression Tree(Tree, Stack) : 二分木、stackを使っての計算
参照 : http://www.programmersheaven.com/articles/images/expressionexptree.gif
http://santamartadotnet.hp.infoseek.co.jp/documents/cpp/polish.html
3つのコードファイルを作成 ExprNode.h, ExprTree.h and ExprTree.cpp
【class ExprNode】ExprNode::Eval()、ExprNode::PrintInfix()を含む。
ExprNode::Eval() 計算する
ExprNode::PrintInfix() プリントする。
【class ExprTree】ExprTree constructors、ExprTree copy constructor、ExprTree destructor、ExprTree::Clear()、
Overloaded operators、ExprTree::Build(const string expr)、ExprTree::Evaluate()、ExprTree::PrintInfix()含む
ExprTree::Clear()、二分木をclearにする。プライベート関数。
Overloaded operators、「+, -, *, /, ^」
ExprTree::Build(const string expr)
ExprTree::Evaluate() 計算
ExprTree::PrintInfix() プリント

期限まであと5時間くらいしかないんですが、どなたか本当に助けてください。

407 :デフォルトの名無しさん:05/03/19 05:04:09
マンドクサ

408 :デフォルトの名無しさん:05/03/19 05:22:26
そういわずにお願いします。
なんかC++のヘルプの会社みたいところにお願いしたのですが、出来なかったと言われました。
もう最悪。。。

409 :デフォルトの名無しさん:05/03/19 05:38:39
>>408
C++のヘルプの会社?

とりあえず、自分が手をつけた範囲をアップすれば、マンドクサ度も減って、手伝ってくれるぼるじょあが現れるかも。
あと5時間で、ゼロってことはないよね。

410 :デフォルトの名無しさん:05/03/19 05:42:26


411 :デフォルトの名無しさん:05/03/19 06:24:56
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.cgi
まだこの程度しか出来ていません。もうだめぽ。。。

412 :デフォルトの名無しさん:05/03/19 06:26:16
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.cgi?mode=thr&no=255
これでした。

413 :デフォルトの名無しさん:05/03/19 06:37:39
そう。他のクラスがテスト等で超超忙しくて、この宿題できないなって思って、
宿題ヘルパーみたいなところに、頼んだんだけど、
6時間前になって、いきなり出来ませんでしたって言われちゃいました。
このクラス、落第鴨。。。

414 :デフォルトの名無しさん:05/03/19 06:44:59
先生の心境からすると、がっかりです。

415 :デフォルトの名無しさん:05/03/19 06:58:24
http://cs.colgate.edu/faculty/nevison.pub/web102/cs102labs/lab9/exptree.h
http://cs.colgate.edu/faculty/nevison.pub/web102/cs102labs/lab9/exptree.cpp
これって使える?

416 :デフォルトの名無しさん:05/03/19 07:16:39
これは何をしろと?

417 :デフォルトの名無しさん:05/03/19 07:44:10
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.cgi?mode=thr&no=255
たぶん、stackなしだと、この一番したのやつになると思うのですが、
6.1.cppに類似したstackの形に変形しなければならないと思うのですが・・・。

418 :デフォルトの名無しさん:05/03/19 07:59:51
時間切れ?

419 :デフォルトの名無しさん:05/03/19 08:10:11
いや、まだあと1時間半ある。
そのファイル変だったので、直しました。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.cgi?mode=thr&no=255
これをどうstackの形にすればいいんだろう。。。


420 :デフォルトの名無しさん:05/03/19 08:26:09
あ、でも、main.cppみたらExprTreeに入ってくるのは、stringなんだ・・・・。
あ〜、もうわかんない。。。。

421 :デフォルトの名無しさん:05/03/19 08:31:05
>>420
そのstring ってSTL (#include <string> )を使えばいいの?

422 :デフォルトの名無しさん:05/03/19 08:35:56
そうそう

423 :デフォルトの名無しさん:05/03/19 08:37:43
Treeを使ってるけどstackなしのexpression Tree、
stack使ったexpressionはネットにたくさんのってるんだけど、
両方使うっての、ないんだよね〜(泣)

424 :デフォルトの名無しさん:05/03/19 09:02:05
>>423
アップしました。手抜きしまくり(数字は一桁のみ対応)ですが参考になれば。
これだけでコンパイルできるはずです。
stackの使い方が、出題者の意図に適っているか不明ですが。

425 :デフォルトの名無しさん:05/03/19 09:40:56
時間切れです

426 :デフォルトの名無しさん:05/03/19 09:41:27
すご!短時間に!!とりあえず、転ばないようにダッシュでガッコー行ってくる。

427 :デフォルトの名無しさん:05/03/19 10:46:15
>>424
助けてくれてありがとうございました。
ヘルプセンターからは、全額refundされました。
世界トップの大学卒のエキスパート揃いって、ありゃ嘘ですね。
3日あって直前になって出来ませんでしたって・・・。
まぁ、頼む人間が一番悪いのは承知なんですが。。。。
てか、やっぱ2ch凄いよ。

428 :デフォルトの名無しさん:05/03/19 11:38:38
ちょっと待って。そのヘルプセンターって何よ?(AA略)
人の宿題で金儲けする会社? そんな商売ありえないwww

じゃ、ここでCM入ります。

429 :デフォルトの名無しさん:05/03/19 11:50:24
>>428
たぶん、ここで手伝っている人は、絶対そこではエースになれると思う。
アメリカのサイトだから、英語できなきゃいけないけど、
コンピューター用語とか英語だから、大丈夫じゃないかな。
そういう系のサイト(ネットを通じてチューター)、アメリカじゃよくあるよ。
プログラミングだと、問題を受け取り、プログラムして、exe fileだけ渡す。
お金を振り込んでもらって、cpp file渡すみたいな流れね。
モノによるけど、平均したらだいたい30分$30くらい、もらえるんじゃないかな。
能力給だから、ここにいる人達は、もっと貰えそうだね。

430 :ぼるじょあ ◆yBEncckFOU :05/03/19 16:28:07
ほー!

431 :デフォルトの名無しさん:05/03/19 16:33:06
           ,,. : ‐'' "´;;;;;``'ー- 、..,,_
          /. ;,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,; .ヽ,
       ,,./. ;,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,; .\
      〃. ;,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,; .ヽ
     , 彳. ;,;;;;;;;;;;;;;;;;;;;;;;;/バ;ヾメ;:`ミ_;;;;;;;;;;;;;;;;;;;;;;;,; .゙、
    //. ;,;;;;;;;;;;;;;;;;;;;;;;;;;//:7- __ _  ヾ;;;;;;;;;;;;;;;;;;;;;,; .ヽ
    ´/. ;,;;;;;;;;;;;;;;;;;;;;;;;;//_/ ̄      ゙、;;;;;;;;;;;;;;;;;;;;;,; .',
   〃. ;,;;;;;;;;;;;;;;;;;;;;;;;// /      _,,._ i;;;;;;;;;;;;;;;;;;;;;;;,; .゙,
   《, ;,;;;;;;;;;;;;;;;;;;;;;;;;;∧ヾ、    ,;ii〃"゙`ミ;.i;;;;;;;;;;;;;;;;;;;;;;;,; .i|
  、{. ;,;;;;;;;;;;;;;;;;;;;;;;/ト〈、`゙,.  , ´ ,._.,.,、,_ `゙|;;;;;;;;;;;;;;;;;;;;;;;;,; .゙,
  i". ;,;;;;;;;;;;;;;;;;;;;;リヘソ,> Y! i〃 <.(;・),゙ゞノ;;;;;;;;;;;;;;;;;;;;;;;,; .《     ふぉおぅ!
  ((. ;,;;;;;;;;;;;;;;;;;;;;;;人"´`.:;;l l;.゙ `^''ーヾ`,リ!;;;;;;;;;;;;;;;;;;;;;;;;;,; .リ
  ソ. ;,;;;;;;;;;;;;;;;;i      r'(;. );:..      l |;;;;;;;;;;;;;;;;;;;;;;;;;;,; .ヾ,
 ゞ. ;,;;;;;;;;;;;;;;;;;;i┘    ヽヘ、;ハ ,)      /!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,; .ゞ  
ヾ". ;,;;;;;;;;;;;;;;;;;;;|ヾ;:            ,:; 人;;;;;;;;;;;;;;;;;;;;;;;;;,; .((._
.`゙》. ;,;;;;;;;;;;;;;;;;;;| :;;i 、-‐‐:v.‐-:、_  〃;:  !;;;;;;;;;;;;;;;;;;;;;;;;;;,; .〃
.ノリ. ;,;;;;;;;;;;;;;;;;;;;゙、:;| `ヾニゞ‐;;;;ニフ  j|;.  /;;;;;;;;;;;;;;;;;;;;;;;;;;;;,; .{{
((. ;,;;;;;;;;;;;;;;;;;;;;;;;;;`、   - ̄    ,./;:. /;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,; .ソ,
_.)). ;,;;;;;;;;;;;;;;;;;;;;;;;/ilヽ、._  ;,.    ,.:-‐'"/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,; .ノノ

432 :デフォルトの名無しさん:05/03/19 16:42:20
ここってそんなにすごい人達ばっかりなんですか?

433 :デフォルトの名無しさん:05/03/19 16:48:30
まぁ、マイケルもいるし・・・

434 :デフォルトの名無しさん:05/03/19 16:54:05
スリラーのレーザーディスク持ってる(´・ω・`)
あの頃は良かった。

435 :デフォルトの名無しさん:05/03/19 17:13:29
>>432
ここには淫乱メス豚しかおりません。

436 :デフォルトの名無しさん:05/03/19 17:22:47
すいません
VisualStuido.net2003で、Tahomaフォントを選びたいのですが、
なぜか、Tahoma Boldしかえらべません。
これって仕様?

437 :デフォルトの名無しさん:05/03/19 17:23:52
>>436
スレ違い。

438 :デフォルトの名無しさん:05/03/19 18:37:10
>>429
そんな低レベルなのに金取ってるのかよ('A`)
ありえねえことになってるな。

439 :デフォルトの名無しさん:05/03/19 19:14:10
>>429
ほとんど振り込め詐欺だな。

440 :デフォルトの名無しさん:05/03/19 19:48:15
勉強できないやつを食い物にする、うまいねw

441 :sage:05/03/19 22:52:33
ここの人たちってプログラム歴何年くらい?

442 :デフォルトの名無しさん:05/03/19 22:53:04
プログラム暦10年。
セックスよりプログラムが好きです。

443 :デフォルトの名無しさん:05/03/20 04:14:17
ここにいる人達は、在宅プログラマーですか?

444 :デフォルトの名無しさん:05/03/20 04:51:13
ここにいる人達は、ホモプログラマーですか?

445 :デフォルトの名無しさん:05/03/20 05:19:56
レズプログラマーです

446 :デフォルトの名無しさん:05/03/20 09:12:17
えっ女?

447 :デフォルトの名無しさん:05/03/20 09:29:07
iteratorがいまいち、よく分からないんですけど、
ポインターでなぞるのと、どう違うの?

448 :デフォルトの名無しさん:05/03/20 09:37:11
ポインタ∈イテレータ

449 :デフォルトの名無しさん:05/03/20 09:59:01
あ、わかった。
イテレータってその時々で自分でクラスを作らなきゃいけないんだよね?
Treeのときや、Queueの時など。。。
違う?

450 :デフォルトの名無しさん:05/03/20 11:07:08
クラスとインスタンスの区別がつかない馬鹿がいるスレはここかな?

451 :デフォルトの名無しさん:05/03/20 11:30:16
今学生で学習中なんで。。。
インスタンスって初めて聞いた。。。

452 :デフォルトの名無しさん:05/03/20 11:37:52
インスタンス=オブジェクト

CMyData data;
 ↑     ↑
クラス   インスタンス 

453 :デフォルトの名無しさん:05/03/20 11:41:43
>>452
インスタンス∈オブジェクト

454 :デフォルトの名無しさん:05/03/20 12:08:36
class A
{
.............

class B{
..............
}
}
ってなってるのって、
class A{
............
}
class B{
............
}
ってのと、同じ?

455 :デフォルトの名無しさん:05/03/20 12:29:06
>>454
試せば判るが、スコープが違う。

456 :デフォルトの名無しさん:05/03/20 12:33:22
classにスコープ?

457 :デフォルトの名無しさん:05/03/20 12:37:18
質問は質問スレへいけ、はげ。

458 :デフォルトの名無しさん:05/03/20 12:42:12
つーか、名前空間か。

459 :デフォルトの名無しさん:05/03/20 13:49:23
[1] 授業単元:ファイル処理
[2] 問題文(含コード&リンク):下記参照
[3] 環境
[3.1] OS: Windows 2000
[3.2] コンパイラ(バージョン): G++
[3.3] 言語:C C++ どちらでもOK

問題文: ソースファイルのコメントを削除するツールを作成せよ。
    ソースファイルをその実行モジュールにドラッグ&ドロップすることで、
    以下の形式に従った部分を削除する。

1./* */ に囲まれた部分
2.//  がある行
3.なお、出来る人は、#if 0 〜 #endif に囲まれた部分も削除するように作る。

※注意
 ”(ダブルクォート)に囲まれたところは文字列として扱うためそこには注意すること。

おねがいします。

460 :デフォルトの名無しさん:05/03/20 13:53:23
>>459
それどこの大学の課題?

461 :デフォルトの名無しさん:05/03/20 14:06:01
テキストデータが入ってる先頭ポインタから、順次検索していけばよろしい。
検索して検出されたら、その開始と終了位置のポインタを取り出して、
再度ソースファイルをファイル操作でWriteするとき、取り除けばいい。
簡単な話だ。

462 :デフォルトの名無しさん:05/03/20 14:19:35
簡単な話でも僕にはわかりません。
特に、※注意 printf("/*"); とかってあると、誤って
検出されてしまいます。さらに、// */ なんて部分も入れたりすると、
もうフラグ管理なんてしてたら頭ぐちゃぐちゃになっちゃって。
模範解答・・・ください。

463 :デフォルトの名無しさん:05/03/20 14:25:51
>>462
// */は単に"//"が現れたら無条件に'\n'まで読み飛ばせば良いだけでは?

464 :デフォルトの名無しさん:05/03/20 14:30:02
質問スレじゃねぇんだから、グダグダ言ってねぇで、できるんだったらさっさと回答示せばいいんだよ。

465 :デフォルトの名無しさん:05/03/20 14:33:03
>”(ダブルクォート)に囲まれたところは文字列として扱うためそこには注意すること。

単に、""文字列内を検索してるときは、コメントの検出をオフにすればいいだけのこと。

466 :デフォルトの名無しさん:05/03/20 14:33:50
>>462 = >>464

467 :デフォルトの名無しさん:05/03/20 14:37:24
>>464 = >>466

468 :デフォルトの名無しさん:05/03/20 14:40:14
まぁ、模範解答だけよこせや。
そんなこと説明されたところで、俺でもわかるしな。要は同じものを藻前らが
どうやって作るか知りたいだけだし。

469 :デフォルトの名無しさん:05/03/20 14:41:15
>>462 = >>464 = >>468

470 :459:05/03/20 14:44:57
違います!
偽者消えてください!

471 :デフォルトの名無しさん:05/03/20 14:51:38
>>462 = >>464 = >>468 = >>470-

472 :デフォルトの名無しさん:05/03/20 14:58:47
結局、御託は並べられるが、コーディングはできない奴らばっかか。
たぶん>>419みたいのは稀なんだろうな。

473 :デフォルトの名無しさん:05/03/20 15:11:35
>>459
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/264.txt

マクロがいやだったら自分で展開しといて。

474 :デフォルトの名無しさん:05/03/20 15:31:14
ドラッグ&ドロップすることでって条件は満たされていなかったみたいですけど、
本当にこんな短時間でやってのけてしまうとは。

475 :デフォルトの名無しさん:05/03/20 15:35:03
K&Rでこういう問題あったよね
自分で解いたことあったからHDにソース眠ってるかも

476 :デフォルトの名無しさん:05/03/20 15:40:53
この手の問題は、誰しも組んだことがあるからHDDの中に眠ってたりするよ。

477 :デフォルトの名無しさん:05/03/20 15:56:21
俺も似たような課題をやらされたな
印刷した紙しか残っていないが

478 :デフォルトの名無しさん:05/03/20 15:56:39
ちなみに、煽るだけ煽っといてなんか恥ずかしくなっちゃいました。>>459 = >>468 でした。すみません。
自分のソースも晒しときます。英語は適当です。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/265.cpp
自分は5時間ぐらい考えました。

479 :デフォルトの名無しさん:05/03/20 16:19:14
>>478
一応突っ込み。
入力://**/
出力(誤):/
出力(正):

480 :475:05/03/20 22:41:49
やっぱ眠ってた。
K&R2の演習1-23だった

>>459
つttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/267.txt

481 :デフォルトの名無しさん:05/03/21 00:06:41
[1] 授業単元:Intro C++
[2] 問題文(含コード&リンク):下記参照
[3] 環境 BCC developer
[3.1] OS: Windows XP home
[3.2] コンパイラ(バージョン): BCC
[3.3] 言語:C++
[4] 期限:二千五年年三月二十二日まで
[5] その他の制限:下記の268.zipの中にあるClassを使わなければいけない。
カジノダイスゲーム作成
1.ユーザーに何度もプレイさせることが出来るダイスゲームプログラムを
2.所持金$100で毎ゲームごとに掛け金を入力させ、その所持金をゲーム終了時に表示させる。
3.特別なルールを加える
例:以下の条件を加えてください。
 T.2か3がオープニングロールで振られた場合ユーザーの勝利
 U.7か11か12がオープニングロールで振られた場合ユーザーの負け。
 Va.もし次のロールで3,4,9,10,11が出た場合、ユーザーは0の利益($5賭けた場合$5が返済)
 Vb.もし次のロールが2か12の場合ユーザーは二倍の掛け金を得ることができる。
 Vc.もし次のロールが5,6,7,か8ならばユーザーの負け。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/268.zip = 乱数クラスファイル

一応自分で書いたプログラムも・・
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/269.txt

よろしくお願いします。



482 :デフォルトの名無しさん:05/03/21 01:53:47
>>473
cool.

483 :デフォルトの名無しさん:2005/03/21(月) 19:47:10
>459

"状態遷移"って知ってるか?
通常、""文字列中、/**/のコメント中、//のコメント中
の4状態で考えろ

484 :デフォルトの名無しさん:2005/03/21(月) 22:39:45
>>481
つ http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/270.txt
あなたの書いたプログラムと>481の仕様が異なる気がします。
今回は仕様のように仕上げました。ただ、あなたのプログラムを書き換えた形なので若干汚いです。

Rondomクラスを使うには、Rondom randomObj()を用いてインスタンス化して、
randomObj.draw()などと関数を呼び出します。
私はクラス重複を防ぐためにMyRandomとしていたので、Randomに直してください(3行目)
あと、Random.hをインクルードしてください。
他にも足りないヘッダファイルあるかも…

485 :デフォルトの名無しさん:2005/03/21(月) 22:52:25
ありがとうございます・・助かりました。 
自分でSystem clockを使って乱数を発生させるようにしてみたのですが上にあげているRandomクラスを使わなければいけなかったようでプログラムをどの様に変えていいのか迷っていました。
仕様が違うのは後で気づいた為です、混乱させてしまってすみません。なので自分の書いたほうの仕様は違っていて問題として書いたほうが実際にしなければならないことです。
書いていただいたプログラムに#include "random.h"を忘れずインクルードします。忠告ありがとうございました。忘れないようにしたいと思います。


136 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)