- 1 名前:デフォルトの名無しさん [2008/10/01(水) 07:28:51 BE:151474728-PLT(18888)]
- あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他や発言はスルーの方向で。
【質問者へ】 回答者の便宜のため、質問の際は以下を行うことを推奨します。 ・質問は【質問テンプレ】を利用してください。 ・問題文は、出題されたまま全文を書いてください。 ・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう。 ・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。 ・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。 ・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。 ・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。 【質問テンプレ】 [1] 授業単元: [2] 問題文(含コード&リンク): [3] 環境 [3.1] OS: (Windows/Linux/等々) [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) [3.3] 言語: (C/C++/どちらでも可 のいずれか) [4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) 【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm 【C 関数検索 man on WWW】 www.linux.or.jp/JM/index.html 【過去ログ検索】 chomework.sakura.ne.jp/ 【wiki】 www23.atwiki.jp/homework/ 前スレ C/C++の宿題を片付けます 115代目 pc11.2ch.net/test/read.cgi/tech/1217741118/
- 61 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 18:33:59 ]
- >>55 = 21
課題だから最低限の実装でいいかなと思ってたんですみません。 一応少しマシな実装に直しておきました。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7753.c
- 62 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 20:20:14 ]
- 三平方の定理の斜辺を求めるプログラムなのですが、
関数をcalcuteとして、a^2 + b^2 = c^2のaとbを入力させて渡そうとしているのですが、コンパイル時にエラーが起こります。 なぜかわかるでしょうか? 以下が関数main、 int main(double *argv[]) { printf("%f", calcute(argv[1], argv[2])); return 0; } 以下がエラーの内容です。 pyt.c:6: error: incompatible type for argument 1 of `calcute' pyt.c:6: error: incompatible type for argument 2 of `calcute'
- 63 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 20:22:23 ]
- >>62
int main(double *argv[]) なんだこのふざけた引数は
- 64 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 20:24:11 ]
- >>63
小数の内容を入力したいのですが・・・
- 65 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 20:28:06 ]
- >>64
int main(int argc,char *argv[]) { double a,b; sscanf(argv[1],"%f",&a); sscanf(argv[2],"%f",&b); 以下略
- 66 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 20:28:56 ]
- >>65
勉強不足でした。どうもありがとうございます。
- 67 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 20:35:41 ]
- >>65
sscanf(argv[1],"%lf",&a); sscanf(argv[2],"%lf",&b);
- 68 名前: ◆3CnrSiNVYE mailto:sage [2008/10/04(土) 20:43:03 ]
- >>32
>>33 ありがとうございます。 ところでこれでファイルを指定するにはどうすればよいのでしょうか? 学校のコンパイラはgccなのですが家ではvisualC++2008を使っているのですが…
- 69 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 20:58:43 ]
- >>68
横スレですまんが、>>33のソースは間違っているので使わない方がいいよ。 >>32は正しくできている(ちなみに私も作っていろいろなファイルで結果を取りますた)。 VS C++2008なら、コンパイルなりビルドなりしてコマンドプロンプトだったかな(Windowsしらねぇ)からコマンドライン引数としてファイルを渡せばいいと思う。VS C++のIDEくらいなら、引数を指定して実行とかってメニューがあるかもしれない。
- 70 名前:65 mailto:sage [2008/10/04(土) 21:03:46 ]
- >>67
floatじゃなくてdoubleだから%lfだね。 スマソ
- 71 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 21:14:14 ]
- >>68
ちょっと調べてみたよ。 プロジェクト(P) -> プロパティ(P)でプロジェクトのプロパティを開く。 構成プロパティ -> デバッグ -> コマンド引数にファイル名を書けば良いと思う。
- 72 名前:31 ◆3CnrSiNVYE mailto:sage [2008/10/04(土) 21:26:24 ]
- >>69
>>71 申し訳ありません。ちょっとよくわかりませんでした。 >>71を参考にして適当なテキストファイルのフルパスをコマンド引数に書いてみたのですが、 Ctrl+F5(ビルド)しても「何かキーを押してください」と出て終了してしまいます。 soudan1.biglobe.ne.jp/qa4255056.html ここを参考にしてみたのですが、よくわかりません
- 73 名前:31 ◆3CnrSiNVYE mailto:sage [2008/10/04(土) 21:42:41 ]
- なんか宿題の本筋からずれてますね。
visualC++のスレで聞いてきます。
- 74 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 23:21:18 ]
- 1] 授業単元:C++
[2] 問題文(含コード&リンク):八の字を描け。問題→www.dotup.org/uploda/www.dotup.org3603.zip.html 自分でやってみたのですが、出発地点から円を描く事しかできませんでした。 この画像で黄色のところが出発地点で、緑の所が執着地点です→www.dotup.org/uploda/www.dotup.org3605.zip.html [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン:Visual Studio 2005又はVisual Studio 2008 [3.3] 言語:C++ [4] 期限: ([2008年10月6日午前5:00まで [5] その他の制限:何か説明不足な点がありましたら言って下さい。どうかお願いします。
- 75 名前:デフォルトの名無しさん [2008/10/05(日) 01:19:04 ]
- C言語って懐かしいな
- 76 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 02:55:53 ]
- やったことないからよくわかんないけど、-270度まで回転するのがまずいんでないの?
-90度回転させて、中心点を左の円のものにして+90度からプラス方向に360度回転させて、 元の中心を使って-90度から-270度まで回転させればいくんでない? やり方は知らないんだけど。
- 77 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 09:19:23 ]
- 半円を4つ描くと思えばいい
- 78 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 09:36:52 ]
- twintail.jpからel.hなくなってるじゃん
コンパイルできないからうpれよ
- 79 名前:デフォルトの名無しさん [2008/10/05(日) 11:25:26 ]
- C と C++ とC# と、後なんか。 何がどう違うの? 簡単な表にしてZIPでくれ。
- 80 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 11:29:00 ]
- >>79
失せろ
- 81 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 11:30:17 ]
- >>80 「わかりません」ってハッキリ言えwww
- 82 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 11:47:12 ]
- >>79
どういう視点で違いを知りたい?
- 83 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 13:15:48 ]
- みなさん童貞ですか?
- 84 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 14:09:03 ]
- >>18
ワロタwwww
- 85 名前:74 ◆5/7mhL.nO6 mailto:sage [2008/10/05(日) 14:53:36 ]
- >>78
elってこれですか? www.dotup.org/uploda/www.dotup.org4202.zip.html
- 86 名前:デフォルトの名無しさん [2008/10/05(日) 16:52:12 ]
- AGE
- 87 名前:デフォルトの名無しさん [2008/10/05(日) 20:01:02 ]
- >>12>>16>>34です
どうか助けてもらえませんか…
- 88 名前:74 ◆5/7mhL.nO6 mailto:sage [2008/10/05(日) 21:16:20 ]
- 誰か>>74をお願いいたします。
- 89 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 21:16:49 ]
- >>87
今から始める。のんびりまってて。
- 90 名前:デフォルトの名無しさん [2008/10/05(日) 21:28:25 ]
- >>87
ttp://www.nigauri.sakura.ne.jp/src/up5626.txt BCC Developerで拡張子を.cppとして作成。 コメントはほとんどなし。 間違ってたらすまない。 まぁ、参考程度にしてもいいし、ゴミ箱直行でもいいし。
- 91 名前:デフォルトの名無しさん [2008/10/05(日) 21:29:00 ]
- >>89
いくらでも待ちます。ハチ公のように。 本当にありがとうございます。
- 92 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 21:31:49 ]
- 二度と戻らぬ主人を待ち続けるハチ公であつた。
- 93 名前:90 [2008/10/05(日) 21:32:38 ]
- あ、>>89さんゴメン。かぶった。
プログラム>>89のほうがいいかもしれないよ。俺あんまりこのスレきたことないから
- 94 名前:デフォルトの名無しさん [2008/10/05(日) 21:33:39 ]
- >>90
ありがとうございます。参考にさせてもらいます。 C初めて間もないので、とても為になります。
- 95 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 21:44:25 ]
- >>93
大丈夫、実はやってない。
- 96 名前:デフォルトの名無しさん [2008/10/05(日) 22:08:56 ]
- >>95
マジですか?… わかりました。では>>90さんのを元に、各行の説明付けに励みたいと思います。 >>90さんありがとうございました。
- 97 名前:74 ◆5/7mhL.nO6 mailto:sage [2008/10/05(日) 22:18:48 ]
- >>74の「八の字」の描き方もお願いします。
円はできたのですが、八の字はどのようにやったら良いかわかりません。
- 98 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 22:22:58 ]
- 円を二個くっつければ八の字にならないか?
- 99 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 22:53:16 ]
- ○○
でも八の字といえば八の字だよな
- 100 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 23:01:11 ]
- [1] 授業単元:C言語演習
[2] 問題文(含コード&リンク):英文文書整形プログラム kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7754.txt [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限: 10月8日 [5] その他の制限:特にありません よろしくお願いします
- 101 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 00:10:49 ]
- >>99
○ ○ こっちじゃね?
- 102 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 00:13:13 ]
- >>100
そこだけ見るとゼペット爺さんなんか痛い子
- 103 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 00:18:39 ]
- >>100
51文字目にカンマやピリオドがあったらどうする? 1.直前の単語ごと次の行へ 2.カンマやピリオドが行の先頭にあっても構わない 3.行の後ろにこっそりつける
- 104 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 00:29:53 ]
- >>103
ピリオドや?などは単語の一部という扱いでいいと思います ですので「1」で大丈夫です
- 105 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 03:10:26 ]
- >>97
>>76は?もう期限近いけどさ。
- 106 名前:デフォルトの名無しさん [2008/10/06(月) 04:35:00 ]
- >>97
眠れないので作ってみた void teki_01_dp(void) { static float n = 0; static float inc = 0.1; for (cnt = 0; cnt < 17; cnt++) { if (init_fl[cnt] != 0) { /* 出現済みの敵の場合 */ /* 次の座標を計算 */ #if 0 spx[cnt] += spxg[cnt]; spy[cnt] += spyg[cnt]; zx[cnt] += FrameTime * spx[cnt]; zy[cnt] += FrameTime * spy[cnt]; #else zx[cnt] += cos(n * PI / 180) * FrameTime * 100; zy[cnt] += sin(n * PI / 180) * FrameTime * 100; n += inc; if (n >= 180.0) { inc = -0.1; } else if (n <= -180.0) { inc = 0.1; } #endif } } } 速度とかは超適当す。
- 107 名前:74 ◆5/7mhL.nO6 mailto:sage [2008/10/06(月) 07:10:44 ]
- >>105
期限は今週中なら一応大丈夫です。 >>106 これはどこのソースに書き込みましたか?
- 108 名前:106 mailto:sage [2008/10/06(月) 07:40:39 ]
- >>107
うpろだの内容はそのままビルドできんかったので 1.zako_01.cppを新規に作成 2.zako.cppをコピペ 3.teki_reqをtei_01_reqに変更 4.teki_dpをteki_01_dpに変更 5.読みにくかったので全面書き替え!! 5.teki_01_dpに>>106のを書いた 6.teki_01_reqは固定位置出現にした 最終動きのイメージを今見たんだがハチの字の方向が違うかもしれん そこはまぁ適当によろしこ ちなみにPIは3.141592にdefineしてある
- 109 名前:106 mailto:sage [2008/10/06(月) 07:41:46 ]
- 書き忘れた
もう仕事に行く時間なので 夜になるまで応答できないかも
- 110 名前:74 ◆5/7mhL.nO6 mailto:sage [2008/10/06(月) 08:11:20 ]
- >>109
ありがとうございます。 やってみるので、夜になったらまた見てもらえますか? それまで自分でやってみます。
- 111 名前:21 [2008/10/06(月) 11:27:20 ]
- >>61
よし動いた。 ・・・あれ肝心のソートがされてないorz 誰か13時までに原因を教えてください。
- 112 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 12:01:51 ]
- 1] 授業単元:C++
[2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7745.txt ・「年(西暦)」「月」を入力したら,その月のカレンダーを表示するプログラムを作成しなさい。ただし,下記の条件を満たすものとする。 【条件】 (1)カレンダークラスを作成し,main関数でカレンダークラスの実体を生成し,カレンダークラス内のメンバ関数(show関数)を呼び出してカレンダーを表示する。 (2)カレンダークラスはカプセル化されていること。 (3)カレンダー表示には,年,月および曜日,日を表示すること。 (4)上記以外については自由に作成してよい。 [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン:Visual Studio 2008 [3.3] 言語:C++ [4] 期限: ([2008年10月8日
- 113 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 17:59:06 ]
- >>112
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7755.cpp 問題文のリンクを元に作ったけども 正直カレンダークラスに year と month ないほうが綺麗になると思う
- 114 名前:デフォルトの名無しさん [2008/10/06(月) 18:40:58 ]
- [1] 授業単元:プログラミング演習
[2] n*3がたの行列Aと3*mの行列Bの積を計算する プログラムを作成せよ。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:gcc バージョン5.5 [3.3] 言語:C [4] 期限: 10月9日 [5] その他の制限:特にありません よろしくお願いします。素人でもわかりやすい作りに していただければ幸いです。
- 115 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 18:40:59 ]
- >>113
そんなに無理矢理三項演算子使わなくても…
- 116 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 18:53:21 ]
- >>115
使わないと分かりにくいかなと思って使ったんだけども・・・ 取っても結果同じだから、違和感あるなら取ってね
- 117 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 19:22:49 ]
- #include<stdio.h>
#define n 2 #define m 4 int main(){ int A[n][3] ={{1,2,3}, {4,5,6}}; int B[3][m] ={{1,2,3,4}, {5,6,7,8}, {9,10,11,12}}; int C[n][m],i,j,k,t; for(i=0;i<n;i++){ for(j=0;j<m;j++){ for(t=0,k=0;k<3;k++){ t += A[i][k]*B[k][j]; } C[i][j] = t; } } //A for(i=0;i<n;i++){ for(j=0;j<3;j++){ printf("%3d",A[i][j]); } printf("\n"); } //B for(i=0;i<3;i++){ for(j=0;j<m;j++){ printf("%3d",B[i][j]); } printf("\n"); } //C for(i=0;i<n;i++){ for(j=0;j<m;j++){ printf("%3d",C[i][j]); } printf("\n"); } }
- 118 名前:74 ◆5/7mhL.nO6 [2008/10/07(火) 00:33:44 ]
- >>108のように書いたのですが、
このようなエラーはどう対処したら宜しいのでしょうか? ..\zako_01.cpp(52) : warning C4305: '初期化中' : 'double' から 'float' へ切り詰めます。 ..\zako_01.cpp(66) : error C2065: 'PI' : 定義されていない識別子です。 ..\zako_01.cpp(70) : warning C4305: '=' : 'double' から 'float' へ切り詰めます。 ..\zako_01.cpp(72) : warning C4305: '=' : 'double' から 'float' へ切り詰めます。
- 119 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 00:42:13 ]
- #define PI 3
- 120 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 00:55:07 ]
- 笑ったけど本気にしたらかわいそうだ
>>118 #define PI 3.141592 warningってのは警告だから無視すればいい
- 121 名前:デフォルトの名無しさん [2008/10/07(火) 01:35:20 ]
- [1] C言語演習
[2] kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7756.txt kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7757.txt kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7758.txt [3] C [4] 今週の水曜日 よろしくお願いします。
- 122 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 02:49:18 ]
- >>118
> >>108のように書いたのですが、 >>108 > ちなみにPIは3.141592にdefineしてある はぁ。
- 123 名前:74 ◆5/7mhL.nO6 [2008/10/07(火) 04:23:57 ]
- >>119
>>120 >>122 すみません見落としていました… とりあえず、>>106を参考に作りました。 www.dotup.org/uploda/www.dotup.org6018.zip.html するとこのようなエラーが出るのですが…ファイルを見て確認してみて下さい。 zako_01.obj : error LNK2005: "float * zy" (?zy@@3PAMA) は既に zako.obj で定義されています。 zako_01.obj : error LNK2005: "int * init_fl" (?init_fl@@3PAHA) は既に zako.obj で定義されています。 zako_01.obj : error LNK2005: "float * spy" (?spy@@3PAMA) は既に zako.obj で定義されています。 zako_01.obj : error LNK2005: "float * spx" (?spx@@3PAMA) は既に zako.obj で定義されています。 zako_01.obj : error LNK2005: "float * spyg" (?spyg@@3PAMA) は既に zako.obj で定義されています。 zako_01.obj : error LNK2005: "float * zx" (?zx@@3PAMA) は既に zako.obj で定義されています。 zako_01.obj : error LNK2005: "float * spxg" (?spxg@@3PAMA) は既に zako.obj で定義されています。
- 124 名前:74 ◆5/7mhL.nO6 [2008/10/07(火) 06:01:05 ]
- >>123のエラーは全て自己解決しました。
普通にコンパイルできるのにちゃんと表示されないのですが… www.dotup.org/uploda/www.dotup.org6039.zip.html >>108のようにやったのに表示されません…
- 125 名前:106 mailto:sage [2008/10/07(火) 07:40:12 ]
- すまん。もともとあった内容は省略して書いてた。
----- こっから //アニメーション----------------------------- timer_a[cnt]+=FrameTime; if(timer_a[cnt]>0.1){ timer_a[cnt]=0; no_a[cnt]++; if(no_a[cnt]>9) no_a[cnt]=0;//アニメーションのループ } //敵の表示 elDraw::Layer((int)zx_a[cnt],(int)zy_a[cnt],tkBMP[cnt],40*no_a[cnt],0,40*no_a[cnt]+40,40); // SHOW2((int)zx[cnt],(int)zy[cnt]-5,"no= %d",cnt); }//リクエスト if end }//for end if(out_cnt==17){//17個全て消えたか? for(cnt=0;cnt<17;cnt++){ init_fl_a[cnt]=0; } ---- ここまで をkadai_d_dpの最後に追加してみそ。 分かってるとは思うが //敵の表示 elDraw::Layer((int)zx_a[cnt],(int)zy_a[cnt],tkBMP[cnt],40*no_a[cnt],0,40*no_a[cnt]+40,40); のコールでビットマップを描画してるので これ消したら当然何も出ない罠
- 126 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 07:58:09 ]
- >>124
表示してないからあたりまえ #define PI 3.141592F void teki_01_dp(void) { static int no[17];//アニメ用 static float timer[17];//アニメ用 static float n = 0.0F; static float inc = 0.1F; int cnt; for (cnt = 0; cnt < 17; cnt++) { if (init_fl_01[cnt] != 0) { zx_01[cnt] += cos(n * PI / 180) * FrameTime * 100; zy_01[cnt] += sin(n * PI / 180) * FrameTime * 100; n += inc; if (n >= 180.0) { inc = -0.1F; } else if (n <= -180.0) { inc = 0.1F; } timer[cnt]+=FrameTime; if(timer[cnt]>0.1){ timer[cnt]=0; no[cnt]++; if(no[cnt]>9) no[cnt]=0;//アニメーションのループ } elDraw::Layer((int)zx_01[cnt],(int)zy_01[cnt],tkBMP[cnt],40*no[cnt],0,40*no[cnt]+40,40); } } }
- 127 名前:74 ◆5/7mhL.nO6 [2008/10/07(火) 08:04:53 ]
- >>125
>>126 できました!ありがとうございます! これを元に波線の軌道もやってみますので、分からなくなったら再び質問します。
- 128 名前:112 mailto:sage [2008/10/07(火) 10:41:20 ]
- >>113
デバックしましたけど何も表示されませんでした。
- 129 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 11:03:35 ]
- >>128
デバック??? 「修正してやったぜ」って意味か? 失礼な奴だな 知らない言葉は調べたほうがいいぜ
- 130 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 12:27:22 ]
- デバッグ実行のことじゃね
- 131 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 12:39:16 ]
- VSが「デバッグ開始」て書いてあるから間違って覚えたんだろ
- 132 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 12:41:45 ]
- >>128
コマンドライン引数が無いときの処理が無いからな
- 133 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 13:10:31 ]
- >>121
2番目の問題だけ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7759.txt
- 134 名前:21 mailto:sage [2008/10/07(火) 16:58:43 ]
- 誰か61のプログラムでソートされない原因を
教えてください。 お願いします
- 135 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 17:07:23 ]
- >>134
やってみたらソートされたが、どんなデータを与えたの?
- 136 名前:21 mailto:sage [2008/10/07(火) 17:12:27 ]
- >>135
./kadai3-2 s sa と入力しました。./kadai3-2が実行プログラムで Sが読み込ませるプログラムでsa
- 137 名前:21 mailto:sage [2008/10/07(火) 17:14:56 ]
- すいません途切れました。
saが出力させるファイルで sの中身は1,2,3,4,5,6,7,という 数字が記録されています。 実行するとsaの中身は 1,2,3,4,5,6,7となっていて ソートされてないのです。
- 138 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 17:20:01 ]
- >>137
落ち着けよ 意味がわからんよ
- 139 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 17:24:26 ]
- >>137
見事にソートされているように見えるんだが。。 たとえばsを 3,6,1,5,2,7,4 という内容にしてみたら。 ソートの意味がわかっていないのか、それとも>>21の思っているソートがこちらに伝わっていないのか。
- 140 名前:21 mailto:sage [2008/10/07(火) 17:35:18 ]
- あっ、あぁ、ほんとだ。
ごめんなさい。 いつのまにか俺のなかで ソートの種類が勝手に順番を逆にするソート にすり変わってたorz 思い込みってやだな。 お手数かけました。 心よりお詫び申し上げます。
- 141 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 17:54:06 ]
- [1] 初級プログラミング
[2] #include <stdio.h> int main(void){ int a,b,c,d,e,f,g,h,i,j,k,l,m;//a〜m(13個,数は固定)には整数0か1が毎回ランダムに入るとしてください a=1;b=0;c=0;d=1;e=0:f=1;g=1;h=1;i=1;j=0;k=1;l=1;m=0;//例 printf("%d",a); printf("%d",b); printf("%d",c); printf("%d",d); printf("%d",e); printf("%d",f); printf("%d",g); printf("%d",h); printf("%d",i); printf("%d",j); printf("%d",k); printf("%d",l); printf("%d",m); printf("\n"); //表示 1001011110110 /*以下に13ビットの値を16進数に変換するプログラムを記述せよ*/ printf("%d",?); printf("%d",?); printf("%d",?); printf("%d",?); printf("\n"); return 0; } abcdefghijklmが 1001011110110 の時は 12f6 と表示 aが4桁めb〜eが3桁めf〜iが2桁めj〜mが1桁めとなるようにする [3] 環境 [3.1] OS:linux [3.2] gcc3.4 [3.3] c [4] 期限: 10/8 [5] その他の制限:なし
- 142 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 18:01:51 ]
- >>141
?を埋める形じゃないとだめ?
- 143 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 18:05:07 ]
- というわけでもないと思うので、こうしてみたよ。
printf("%d",a); printf("%x", b*8+c*4+d*2+e); printf("%x", f*8+g*4+h*2+i); printf("%x", j*8+k*4+l*2+m); もしくは printf("%d",a); printf("%x", b<<3|c<<2|d<<1|e); printf("%x", f<<3|g<<2|h<<1|i); printf("%x", j<<3|k<<2|l<<1|m);
- 144 名前:141 mailto:sage [2008/10/07(火) 18:06:39 ]
- >>142
?は自分がこんな感じかなと勝手に考えて書いたものですので 無視してもらっても大丈夫です。
- 145 名前:141 mailto:sage [2008/10/07(火) 18:20:49 ]
- >>142,143
ありがとうございます。出来ました。
- 146 名前:デフォルトの名無しさん [2008/10/07(火) 20:51:46 ]
- ソース
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7760.txt データ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7761.txt テキスト形式のデータを読み込んで,マージソートをして ナップサック問題をとくソートなんだが item数 n = 100 重量制限 B = 2000 データは item p[i] w[i]の順に並んでるよ ここにいてるできる奴ならもっと短くできるよね B5に収まるくらいの美しいソートおしえてたもれ <stdio.h><stdlib.h><math.h>くらいだけで シンプルにできる人、たのんます あっしのノー味噌ではうつくしくできないので.
- 147 名前:146 [2008/10/07(火) 20:58:31 ]
-
×美しいソート ○美しいソース です; 頭んなか、ソートだらけか….
- 148 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 21:15:30 ]
- >>1くらい読め
- 149 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 21:15:47 ]
- >>146
qsort を使うとか
- 150 名前:146 [2008/10/07(火) 21:28:19 ]
- >>148
宿題を解いて,もっと短くできるから やってみろって言われたんです; テンプレどおりに書かなかったのはすみません。 >>149 マージソートで、数十行くらいで作れるらしいです。 それをやれといわれました; 教科書通りにやるのはできるんですが 短くするとなると、なかなか凡人クラスの頭のキレでは難しくて.
- 151 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 21:37:13 ]
- つstdlib.h
- 152 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 22:46:55 ]
- まず、このソースが何をしていて、どの辺で苦労して、どのあたりが改善できそうであるかを言ってみて。
- 153 名前:デフォルトの名無しさん [2008/10/07(火) 23:05:45 ]
- 1] 授業単元: 基礎プログラミング
[2] ニュートンラプソン法を用いてnのルート、及び逆数の関数を作成せよ [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C [4] 期限: 10/8 24:00
- 154 名前:デフォルトの名無しさん [2008/10/08(水) 02:34:55 ]
- >>153
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7762.txt
- 155 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 02:40:07 ]
- ありゃageになってたすまぬ
- 156 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 04:21:05 ]
- ttp://ja.wikipedia.org/wiki/%E7%B4%A0%E6%95%B0
> 2008年8月、史上最大の素数探求のための分散コンピューティング・プロジェクトである > GIMPSによって、その時点で史上最大とされる素数が発見された。これは知られている中で > 46番目のメルセンヌ素数、243112609 - 1 であり、十進記数法で表記したときの桁数は > 1297万8189桁に及ぶ。 上記の史上最大とされる素数を求めるプログラムきぼんぬ
- 157 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 09:32:16 ]
- >>156
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7764.c
- 158 名前:157 [2008/10/08(水) 09:51:30 ]
- 2^nの1桁目は0にならないから最後1引くのにループはいらなかった
- 159 名前:157 [2008/10/08(水) 09:54:31 ]
- #define END_POINT 243112609
は #define END_POINT 43112609 の間違いだな(>>156のをそのままコピペしてしまった)
- 160 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 11:22:20 ]
- >>156
#include <stdio.h> #define MER_P 43112609 int main(void) { int i; printf("(2^%d) - 1 =\n", END_POINT); for (i = 0; i < MER_P; i++) { printf("1"); } printf("\n(2進数)\n"); return 0; }
- 161 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 11:23:22 ]
- 間違えた
#include <stdio.h> #define MER_P 43112609 int main(void) { int i; printf("(2^%d) - 1 =\n", MER_P); for (i = 0; i < MER_P; i++) { printf("1"); } printf("\n(2進数)\n"); return 0; }
|

|