トップページ⇒tech
1001コメント435KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001ぼるじょあ ◆yBEncckFOU 2005/07/16(土) 08:50:45
(・3・)エェー C++厨のぼるじょあですYO!
わからない宿題を片づけますYO!

――【注意点】―――――――――――――――――――――――――
・質問は必ず【質問テンプレ】に従ってください。
・問題文は、解いてもらう方にわかりやすいように全文を書きましょう。
・計算問題は必ず数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはやめましょう。解いてもらっている方に失礼です。
・複雑なAAはスレが荒れたり問題が埋もれる原因になりますので使用を控えてください。
―――――――――――――――――――――――――――――――

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

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

【前スレ】
ぼるじょあがC/C++の宿題を片づけますYO! 47代目
http://pc8.2ch.net/test/read.cgi/tech/1120522752/

【歴代スレは>>2-13】
0002デフォルトの名無しさん2005/07/16(土) 08:54:02
46代目: http://pc8.2ch.net/test/read.cgi/tech/1119514274/
45代目: http://pc8.2ch.net/test/read.cgi/tech/1118165596/
0003デフォルトの名無しさん2005/07/16(土) 08:54:50
44代目: http://pc8.2ch.net/test/read.cgi/tech/1116914132/
43代目: http://pc8.2ch.net/test/read.cgi/tech/1115794784/
42代目: http://pc8.2ch.net/test/read.cgi/tech/1113811213/
41代目: http://pc8.2ch.net/test/read.cgi/tech/1109542053/
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/
00044様2005/07/16(土) 08:55:12
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
0005デフォルトの名無しさん2005/07/16(土) 08:55:43
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
10代目: http://pc5.2ch.net/tech/kako/1057/10570/1057070174.html
09代目: http://pc5.2ch.net/tech/kako/1055/10559/1055944101.html
08代目: http://pc5.2ch.net/tech/kako/1055/10550/1055056940.html
07代目: http://pc5.2ch.net/tech/kako/1053/10539/1053963794.html
06代目: http://pc5.2ch.net/tech/kako/1053/10530/1053045530.html
05代目: http://pc5.2ch.net/tech/kako/1051/10515/1051594046.html
04代目: http://pc5.2ch.net/tech/kako/1045/10450/1045074808.html
03代目: http://pc5.2ch.net/tech/kako/1041/10419/1041992392.html
02代目: http://pc3.2ch.net/tech/kako/1039/10397/1039772622.html
01代目: http://pc3.2ch.net/tech/kako/1038/10380/1038024989.html
0006デフォルトの名無しさん2005/07/16(土) 11:18:17
ぼるじょあが宿題をいっこうに片付けないのだが
0007デフォルトの名無しさん2005/07/16(土) 13:19:59
>>1
おちゅ
0008デフォルトの名無しさん2005/07/16(土) 15:45:00
>>1
乙
0009デフォルトの名無しさん2005/07/16(土) 21:02:14
>>6
>>6
0010デフォルトの名無しさん2005/07/16(土) 23:37:57
というか今更ぼるじょあをスレタイに入れる>>1=ぼるじょあ がダメ人なんだろう。
0011デフォルトの名無しさん2005/07/16(土) 23:43:05
面白いつもりでやってんのかね
迷惑極まりない
0012デフォルトの名無しさん2005/07/17(日) 02:36:22
47台が1000いったのでこっちage
0013デフォルトの名無しさん2005/07/17(日) 03:27:24
1] 授業単元: 夏休みの宿題
[2] 問題文(含コード&リンク):
コンパイラまたはインタプリタを設計/実装せよ。以下の機能をつけること。
変数、式、配列、関数定義/呼び出し、組み込み関数、制御構造
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ(バージョン): MinGW
 [3.3] 言語:C
[4] 期限:9月1日まで
[5] その他の制限:文法はひととおり
0014やめられない名無しさん2005/07/17(日) 03:40:12
>>13
馬鹿ですかあなたは。お金取りますよ。そんな大仕事。
0015デフォルトの名無しさん2005/07/17(日) 03:46:25
大仕事か?
0016やめられない名無しさん2005/07/17(日) 03:48:09
>>15
そう思うならお前が作ってやれよ。
0017デフォルトの名無しさん2005/07/17(日) 04:02:59
>>13
http://pc8.2ch.net/test/read.cgi/tech/1115335709/
まずは一通り目を通せ
0018デフォルトの名無しさん2005/07/17(日) 05:30:14
>>13
Lispインタプリタなら結構簡単に作れると思うぞ。
ググってみそ。
0019デフォルトの名無しさん2005/07/17(日) 11:00:11
まずは文法決めないと
どうしようもない気が
0020デフォルトの名無しさん2005/07/17(日) 13:19:43

[1] 授業単元:C言語応用(最終課題レポ)
[2] 問題文:
【A】(1) 正の整数の入力を受け付け、二分探索木を作成するプログラムを作成する。
0以下の数値の入力により、終了とする。入力済の数値が入力された場合は追加しなくてよい。
(2) 次に探索対象の数値を受け付け、(1) で作成した木を参照して二分探索を行うプログラムを作成する。
探索終了後、探索した数値を出力する。

【B】指定された個数の乱数(ランダムな値)を発生させ、
基本選択法によるソートとクイックソートの両方を実行するプログラムを作成せよ。
また、それぞれの実行に要する時間を計測して表示せよ。
個数を 1000, 10000 などと増加させ、所要時間を確認せよ。
ただし、ソート結果自体は非常に長くなるため、表示しなくて良い

[3] 環境
 [3.1] OS:windows XP
 [3.2] コンパイラ(バージョン):Borland C++ Compiler 5.5.1
 [3.3] 言語:c/c++のどちらでも
[4] 期限:2005年7月19日18時まで
[5] その他の制限:二つですけど、よろしくお願いします
0021デフォルトの名無しさん2005/07/17(日) 13:53:10
>>20
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/741.txt
とりあえずAやってみた。Bは誰かよろ
0022デフォルトの名無しさん2005/07/17(日) 14:07:37
[1] 授業単元: 情報処理実験1
[2] 問題文(含コード&リンク):
適当な画像を読み込み、出力結果を出せ。
1.モザイク処理をした画像を出力せよ
2.色の反転(ネガ)の処理をした画像を出力せよ
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ(バージョン): gcc
 [3.3] 言語:C
[4] 期限:来週の火曜
[5] その他の制限:2つですがどうかよろしくお願いします。
0023デフォルトの名無しさん2005/07/17(日) 14:16:40
rawファイルでもいいのか?
0024デフォルトの名無しさん2005/07/17(日) 14:19:14
授業側ではppmの画像を使ってましたから、ppmでお願いします。
書き忘れてすいません。
0025デフォルトの名無しさん2005/07/17(日) 14:33:58
シネ
0026デフォルトの名無しさん2005/07/17(日) 16:10:15
前スレの975何ですけど、教えられた方法でinsertとかを挿入する場所を
条件として分ける方法(リストの先頭とか最後に代入するとか、途中で代入
するとか)がいまいちうまくいかないんですけど、誰か教えてください。
0027デフォルトの名無しさん2005/07/17(日) 19:20:44
よろしくお願いします。

[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):
最良優先探索と山登り法のプログラムを作り、実行して以下の迷路の探索経路を求めよ。

7−8−−-G
| |
3−4−5−6
      | |
S−−-1−2
(数字は節点の番号)

山登り法のプログラムから作成して、まだ作りかけなのですが、
コンパイルは通るものの強制終了になってしまいます。↓
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/742.txt

[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ(バージョン): gcc
 [3.3] 言語:C
[4] 期限:2005年7月19日まで
[5] その他の制限:ありません
0028デフォルトの名無しさん2005/07/17(日) 19:33:33
>>26
挿入するときに新しい node の確保してるか?
segmentation error 出てるんなら大方してないと思われ。
0029デフォルトの名無しさん2005/07/17(日) 21:13:20
[1] 授業単元: Linux
[2] 問題文(含コード&リンク):
セマフォを使った同期
詳しくは下のリンクに書いてあります。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/743.txt
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ(バージョン):gcc
 [3.3] 言語:C
[4] 期限:7/19まで
おねがいします。
0030デフォルトの名無しさん2005/07/17(日) 21:50:17
>>17
誤読しやすいように思います。
経験的な値を保持するのに「〜〜_f」という名前、ちょっと(^^;;
Input_nodeっていうのも・・・値をセットするのが目的なのですから、set〜〜って名前のほーが。。。
やたら+'0'が目立ちますが、それは出力時だけで十分です。他の場所でつかうとこはありません。
ところで、strlenしてますが、終端のことは考えていないように見えます。(大域変数の初期値が0なのでOKかと思いますが)
goalフラグは使わないでpoint == GOALだけで判断できると思います。
山登り法(最も評価の高い経路に行くだけ)のアルゴリズムでは探索がループすることがあります。ループを検出していますか?

以上を直してみて、まだ動かないようでしたら、またいらしてください。
0031デフォルトの名無しさん2005/07/17(日) 21:50:57
すまん >30 は >>27にいいたかったのだ。
出直すのは俺だった。
0032デフォルトの名無しさん2005/07/17(日) 22:22:02
>>27
freeってなんだよ。配列だろ?
0033デフォルトの名無しさん2005/07/17(日) 22:25:40
ワロタ

tech:プログラム技術[スレッド削除]
http://qb5.2ch.net/test/read.cgi/saku/1098189517/96
> 削除理由・詳細・その他:
> スレタイにコテハン名
0034デフォルトの名無しさん2005/07/17(日) 23:25:42
>>22
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/744.txt
殴り書きソースです。ものすごい汚いけどがまんして。
ちなみにppmはp3だけ読み込める。ほか対応すんのはめんどくさい。
p6っていうかrawファイルはpnmnorawでもしてくれ。
コマンド引数はファイル名でよろ
0035342005/07/17(日) 23:26:15
>>22
てかさ、こういうのってライブラリとかないの?
0036デフォルトの名無しさん2005/07/17(日) 23:32:19
>>35
ハァ?
プログラム作る事自体が勉強なんだろ?
ライブラリ使っていいならこんな所で聞きゃあしねーよ
0037デフォルトの名無しさん2005/07/18(月) 02:49:38
>>36
俺も、一般的な話で読み込みようのライブラリがあるのか知りたいデス。

ついでにage
0038デフォルトの名無しさん2005/07/18(月) 04:18:00
えと、ひとつだけ質問なのですが 例えばA.cpp A.h B.cpp B.hという 二つの
クラスとヘッダーがあって、B.hの中で宣言したStructとEnum typeを利用した
オブジェクトを A.h中で宣言しようとすると コンパイルできません。
A.cpp中では B.hをIncludeしているので 問題なく使えます。

Enum type{x,y,z}
Struct s{int i; type t;}

のようにB.hで宣言し、 A.h内で

Private;
   void functionA(vector<s> input};

のように書くと、sは宣言されていませんというエラーがでてしまいます。どうしてでしょうか?
0039デフォルトの名無しさん2005/07/18(月) 04:36:15
>>38
B.h内でもA.hをincludeするか、A.cppでincludeする順序を変える(B.hを先にする)。
gcc -Eでどう展開されるのかが見てみれ。
0040デフォルトの名無しさん2005/07/18(月) 10:49:44
>>37
腐るほどある。
自分で書いても高が知れている。
一々上げんな。
0041デフォルトの名無しさん2005/07/18(月) 10:59:40
実験で使った器具の名称・製造会社・型番・製造番号を入力し
それをループさせ、名称のところにexitと入力されたらループ終了という
プログラムを作りたいのですが、どうやってexitと入力されたらループを抜けるのかが分かりません。
どなたかご教授お願いします。。

ちなみに作ってみたプログラムを参考までに載せておきます。

while(1){
printf("器具名を入力してください(exitで終了)->");
scanf("%s",data[0]);
if(data[0] == "exit")
return 0;
else
printf("製造会社を入力してください->");
scanf("%s",data[1]);
printf("型番を入力してください)->");
scanf("%s",data[2]);
printf("製造番号を入力してください->");
scanf("%s",data[3]);
printf("\n");
}
0042デフォルトの名無しさん2005/07/18(月) 11:02:40
>>41
use strcmp()
0043デフォルトの名無しさん2005/07/18(月) 11:02:56
>>41
わかりやすくするとだ、こんな感じなんだよ

scanf("%s",data);
if(data[0] == "e" && data[1]=='x' && data[1]=='i' && data[1]=='t') break;

0044デフォルトの名無しさん2005/07/18(月) 11:03:21
まちがった

scanf("%s",data);
if(data[0] == "e" && data[1]=='x' && data[2]=='i' && data[3]=='t') break;
0045デフォルトの名無しさん2005/07/18(月) 11:16:36
data[4]=='\0'
を忘れてますよ。
0046デフォルトの名無しさん2005/07/18(月) 11:37:00
>>41
別解
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/745.txt

41が間違っているのは44と45の指摘
0047デフォルトの名無しさん2005/07/18(月) 11:44:27
>>46
わざわざアップローダまで使ってのネタ乙。
0048デフォルトの名無しさん2005/07/18(月) 12:03:37
>>47
(°Д°)ハァ?
0049デフォルトの名無しさん2005/07/18(月) 12:04:52
>>46=48かな?
コンパイルも通らないようなもん貼ってもねぇ。
つーか、他人のメール欄コピーせんでもいいだろ(苦笑
0050デフォルトの名無しさん2005/07/18(月) 12:41:10
>>49
試してみたがC89準拠の設定でgcc通ったぞ
0051デフォルトの名無しさん2005/07/18(月) 12:41:56
>>50に追記
コメントがC++スタイルになってたからそこだけは修正したが

どっちにしろgccノンオプションなら通る
0052412005/07/18(月) 13:08:45
>>42
>>43,44,46
>>45
多くの方々、ありがとうございます。
大変参考になりました。
0053デフォルトの名無しさん2005/07/18(月) 14:31:42
>>43=44方式なら "e" → 'e' かな。揚げ足を取る様だが。
0054デフォルトの名無しさん2005/07/18(月) 16:32:29
>>13
俺が前スレあたりに揚げた表計算でどうだ?
「制御構造」ってのが少し怪しいが、それ以外は用件を満たしてると思う。
ろだの解答すれにzipがあるはず。
0055デフォルトの名無しさん2005/07/18(月) 19:58:35

[1] 授業単元:C言語課題
[2] 問題文(含コード&リンク): キーボードから入力された10個までの数の組をソートして表示すること
[3] 環境
 [3.1] OS:windows XP
 [3.2] コンパイラ(バージョン):Borland C++ Compiler 5.5.1
 [3.3] 言語:C

実行ユーザーによる、標準入力(キーボード)からの入力を行うこと
ユーザからの入力を受け付ける際には必ずfgets関数を用いること
入力された数は配列に保持すること
文字列を個々の数字へと分割するために、strtok関数を使用すること
何も入力されなかった場合は「ソートしたい数の組を入力してください」と表示し、終了すること
数字以外が入力された場合は「ソートしたい数の組を入力してください」と表示し、終了すること
11個以上の数字が入力された場合、「数が多すぎます」と表示し、終了すること


ソート部分は多分出来たと思うんですが、入力部分がうまくできません
一応ソース張っておくのでよろしくお願いします
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/746.txt
0056デフォルトの名無しさん2005/07/18(月) 20:19:50
二分探索木の問題です。よろしくお願いします。

(1) ユーザからの正の整数の入力を受け付け、二分探索木を作成するプログラムを作成せよ。
0以下の数値の入力により、終了とする。すでに入力された数値と同じ数値が入力された場合は
追加しなくてよい。

(2) ユーザから探索対象の数値を受け付け、(1) で作成した木を参照して二分探索を行う
プログラムを作成せよ。探索終了後、探索した数値を出力せよ。

005756続き2005/07/18(月) 20:20:23
実行例:
二分探索木に追加するデータを入力して下さい: 12
二分探索木に追加するデータを入力して下さい: 6
二分探索木に追加するデータを入力して下さい: 26
二分探索木に追加するデータを入力して下さい: 9
二分探索木に追加するデータを入力して下さい: 20
二分探索木に追加するデータを入力して下さい: 14
二分探索木に追加するデータを入力して下さい: 3
二分探索木に追加するデータを入力して下さい: -1

探索したい数値を入力して下さい: 9
12 -> 6 -> 9

探索したい数値を入力して下さい: 14
12 -> 26 -> 20 -> 14

探索したい数値を入力して下さい: 5
12 -> 6 -> 3
存在しません
0058デフォルトの名無しさん2005/07/18(月) 20:57:09
すみません、前スレの完全数のソース、もう一回、うpしてくれませんか?
御願いします。
0059デフォルトの名無しさん2005/07/18(月) 21:05:06
[1]課題
[2]キーボードから3つの整数を読み込み、最大公約数と最小公倍数を表示。ただし、
2つの整数を因数とし最大公約数を返す関数をユーザ定義関数として作成し
この関数を使用すること。
[3]
 [3.1]Windows
[3.2]Microsoft visual c++ 6.0
[3.3]C++
[4]7/20
[5]if forなど基本的な物を使ってほしい。

誰かよろしくお願いします。
0060デフォルトの名無しさん2005/07/18(月) 21:05:36
次にこれらの関数を使って、2 から 10000 までの間にあるすべての完全数をプリントアウトするプログラムを作成しなさい。
[1] 授業単元:C言語課題
[2] 問題文(含コード&リンク):整数は約数(1は含むが、その整数自身は含まない)の和がその整数に等しいとき、完全数と呼ばれる。
引数numberが完全数であるかどうかを判定する関数int IsPerfect(int number)と約数判定関数int IsDivisor(int dividend, int divisor)を作成しなさい。
次にこれらの関数を使って、2 から 10000 までの間にあるすべての完全数をプリントアウトするプログラムを作成しなさい。
[1] 授業単元:C言語課題
[3] 環境
 [3.1] OS:windows XP
 [3.2] コンパイラ(バージョン)gcc
 [3.3] 言語:C
4、main関数を、前に、もってきてください。下のほうに、
約数関数と、完全数を見つける、関数を持ってきてください。
よろしくお願いします。
0061デフォルトの名無しさん2005/07/18(月) 21:07:13
>>56
ちょっと前にここに出てたから作った二分探索の奴を手直ししただけだが・・・
まぁ参考程度にでもしてくれ
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/748.txt
0062デフォルトの名無しさん2005/07/18(月) 21:12:42
[1] 授業単元: シミュレーション
[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/720.txt
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ(バージョン): gcc
 [3.3] 言語:C
[4] 期限:7月20日
[5] その他の制限:特になし

お願いします。
0063デフォルトの名無しさん2005/07/18(月) 21:17:47
C++ の質問か数学の質問かわからないときもあるな
0064デフォルトの名無しさん2005/07/18(月) 21:20:37
>>63
むしろ半分ぐらいそれの様な希ガス
それも実際のプログラミングの場では生かせないような奴な
0065デフォルトの名無しさん2005/07/18(月) 21:26:34
黙って解けや
0066デフォルトの名無しさん2005/07/18(月) 21:33:06
>56,57

全く文や例が同じ問題やってるんだけど・・・。
同じ授業受けてる誰かなんだろうなぁ〜
0067デフォルトの名無しさん2005/07/18(月) 21:35:11
>>59
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/749.txt
0068デフォルトの名無しさん2005/07/18(月) 21:42:23
>>55
ソートはできているという話なのでそのまま使ったよ。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/750.txt
問題ないと思われ。
0069デフォルトの名無しさん2005/07/18(月) 21:43:35
>>60
全スレで回答者がいたのでそのままうp
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/751.txt
0070デフォルトの名無しさん2005/07/18(月) 22:08:19
感謝!
見させてもらいやす!!
でわからんかったらまた質問させて下さい。>>67
0071デフォルトの名無しさん2005/07/18(月) 22:16:15
>>58
ほれ。
#include <stdio.h>
#include <stdlib.h>

int IsDivisor(int dividend, int divisor) {
    return dividend % divisor ? 0 : 1;
}

int IsPerfect(int number) {
    int i, sum = 1;
    for (i = 2; i <= number / 2; i++) {
        if (IsDivisor(number, i)) { sum += i; }
    }
    return number == sum;
}
                                        
int main(int argc, char **argv) {
    int i;
    for (i = 2; i <= 10000; i++) {
        if (IsPerfect(i)) {
            printf("%d\n", i);
        }
    }
    return 0;
}
0072デフォルトの名無しさん2005/07/18(月) 22:16:59
>>68
コンパイルしたけど11個の時だけ動作おかしい
どこ直せばいいのだろうか?
0073デフォルトの名無しさん2005/07/18(月) 22:24:33
初心者ですんません・・・
return (a?function1(b%a,a):b);
ってどういう意味ですか?>>67
0074デフォルトの名無しさん2005/07/18(月) 22:30:42
>>72>>68
すまん。解決した
�d
007567ではないが2005/07/18(月) 22:34:01
>>73
if( a )
return gcd(b%a, a);
else
return b;
と等価。
0076デフォルトの名無しさん2005/07/18(月) 22:34:11
>>73
三項演算子で(ry
0077デフォルトの名無しさん2005/07/18(月) 22:41:33
そういう意味なんですか!?
ありがとです!>>75

習ってないかも汗
でもありがとです!>>76
0078デフォルトの名無しさん2005/07/18(月) 22:43:33
>>77
真偽で返す値とか代入値を変えるような場合には便利だから覚えとくと吉
0079デフォルトの名無しさん2005/07/18(月) 22:46:12
>>61
ありがとうございます!
0080デフォルトの名無しさん2005/07/18(月) 22:47:05
マジっすか!?ならちょっと詳しく調べて勉強しときます!
親切にありがとう!!>>77
0081デフォルトの名無しさん2005/07/18(月) 22:50:31
>>29
↑
これわかる人いましたらおねがいします。。。
0082デフォルトの名無しさん2005/07/18(月) 22:57:07
[1] 授業単元:システム技術理論
[2] 問題文 入力された半角英数字を逆順で表示しなさい。
      ※英小文字はあっぱーを使用し、英大文字として出力すること。
      例・・・2tyan7neru
            ↓
          UREN7NAYT2 こんな感じです。
[3] 環境
 [3.1] OS:windows XP
 [3.2] コンパイラ(バージョン)gcc
 [3.3] 言語:C
[4]期限 明日の午前1時まででお願いします。
0083デフォルトの名無しさん2005/07/18(月) 22:58:01
よろしくお願いします!!

クイックソートによる整列を行うプログラムを作成せよ。
入力は100000個まで受け付けるものとする。
関数 partition の内部, ソート対象データの格納, 画面へのソート結果出力部分を完成させよ。
008482です2005/07/18(月) 23:00:43
例が間違えてます。変換後が全角になっていました。正しくは半角大文字です。
0085デフォルトの名無しさん2005/07/18(月) 23:05:10
>82
入力する文字数に制限は無いのか?
0086デフォルトの名無しさん2005/07/18(月) 23:06:11
>>82
こんなん?

#include <stdio.h>
#include <string.h>

int main(){
char buf[128];
int i;

scanf("%s", buf);
for(i = strlen(buf); i >= 0; i--)
printf("%c", toupper(buf[i]));
printf("\n");
}
0087デフォルトの名無しさん2005/07/18(月) 23:09:56
for(i = strlen(buf) - 1; i >= 0; i--)
008882です2005/07/18(月) 23:11:51
ごめんなさい!!文字数は最大10文字です。
0089デフォルトの名無しさん2005/07/18(月) 23:18:59
>>82
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void swap(char* lhs, char* rhs)
{     char oldLHS = *lhs;     *lhs = *rhs;     *rhs = oldLHS; }
void reverse_ranges(char* first, char* last)
{
    for (; first < last; ++first) {
        swap(first, --last);
    }
}
void reverse(char* input)
{ reverse_ranges(input, input + strlen(input)); }
void to_upper(char* input)
{
    for (; *input; ++input) {
        if (islower((unsigned char)*input)) {
            *input = (char)toupper((unsigned char)*input);
        }
    }
}
int main(void)
{
    char str[16];
    scanf("%s", str);
    reverse(str);
    to_upper(str);
    printf("%s", str);
    return 0;
}
見にくいな…
0090デフォルトの名無しさん2005/07/19(火) 00:01:10
長すぎ
009182です2005/07/19(火) 00:49:17
86のロジックを使わせていただこうと思っているのですが、
ロジックの最後にreturn 0;とすると、エラーが出るのですがどうしてでしょうか?
対処法を教えてください。
0092デフォルトの名無しさん2005/07/19(火) 00:52:11
#include <stdio.h>
#define N 20
#include <stdlib.h>

int num(const void *a, const void *b)
{return *((int *)a) - *((int *)b); }

void main()
{int i, a[N];

for(i=0; i<N; i++) 
       {printf("何かデータを入力してください:");
scanf("%d",&a[i]);
if(a[i]<=0)
              {break; }
}
qsort(a, N, sizeof(int), num);
printf("\n結果\n");
for(i=0; i<N; i++)
{printf(" %d,",a[i]);}
}

↑で、負の数を入力すると入力を中止し、
今までの入力された正の数を出力したいんですけどできません。
どこを直せば(追加すれば)いいですか?
0093デフォルトの名無しさん2005/07/19(火) 01:23:27
>>91
エラーの詳細ぐらいかけ
多分#include <ctype.h>が抜けてるだけジャマイカ??

>>92
その問題の参考ソース
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/739.txt

一応訂正しといた↓
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/752.txt
0094デフォルトの名無しさん2005/07/19(火) 02:24:05
62お願いします('A`)
0095デフォルトの名無しさん2005/07/19(火) 02:40:24
【質問テンプレ】
[1] 授業単元: プログラミング課題
[2] 問題文: シンプレックス法で線形計画問題を解くプログラムを作成せよ。
       ピボット演算の前処理は必要ない。
[3] 環境
 [3.1] OS:Windows/
 [3.2] コンパイラ:gcc
 [3.3] 言語 C
[4] 期限:今週中

よろしくおねがいしますm(_ _)m
0096デフォルトの名無しさん2005/07/19(火) 03:53:13
ぐぐれや。
線形計画法
ttp://www.sra.co.jp/people/miyata/algorithm/simplex.txt
0097デフォルトの名無しさん2005/07/19(火) 09:34:50
[1] 授業単元: C言語研究
[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/755.txt
の続きを編集して木構造を操作する関数を作成せよ
newnode()は新しい節を追加する関数、
printtree()は木のある節を根とする木のその下のValueを表示し、
その節からの深さを返す関数である。
まずはある値xと、ある節currentのポインタを与えて、
currentから下からxをvalueに持つ節を探して、その節のポインタを返す関数を作成する。
次に、xを追加する場所を探す関数を作成する。
この関数の戻り値はポインタのポインタ **nodeとするとよい。
これらを用いて、木にある値xを追加する関数を作成せよ。
ついでにnodeをfreeする関数も作って下さい
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ(バージョン): .NET 2003
 [3.3] 言語:C
[4] 期限:2005年08月03日hh:mmまで

よろしくお願いします
0098デフォルトの名無しさん2005/07/19(火) 10:29:07
>>29
低脳CS生徒乙(^〜^;;)

毎回毎回答え聞いててバカじゃねーの?(^^;;;;;;;;;;;;;;;;;;;;;;;
0099デフォルトの名無しさん2005/07/19(火) 10:32:47
>>62=>>94
やるだけやってみた。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/756.txt

っていうか描画に関する知識なかったんで、色の変え方がわからなかった。
スマソ・・・orz

あと、フラフラのとき1歩も進まない可能性もあったり、
画面からはみだした場合のチェックとかしてないけど許せ。
(ヒントの書き方的にそんな感じだったから)

注文あったら直すけど。
0100デフォルトの名無しさん2005/07/19(火) 11:17:40
1 から n までの数が書かれたカードが2枚ずつ,合計 2n 枚ある。これを一列に並べる。ただし,k の数が書かれた2枚のカードの間には,他のカードがちょうど k 枚あるように並べる。

たとえば,n = 3 のときは {3, 1, 2, 1, 3, 2} と並べればよい。

 このような並べ方を1通りだけ求める関数 int pairs(int a[], int n) を作れ。この関数は,条件どおりの並べ方がある場合にはそのうちの一つの並べ方を a[] に入れて,戻り値として 1 を返す。条件どおりの並べ方がない場合には,戻り値として0を返す。

 この関数を用いて,n = 40 のときの並べ方を,1通りだけ答えよ。
0101デフォルトの名無しさん2005/07/19(火) 11:31:51
>>83を誰かよろしくお願いします!
■ このスレッドは過去ログ倉庫に格納されています