1 名前:デフォルトの名無しさん [2007/07/15(日) 22:31:51 ] あなたが解けない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++の宿題を片付けます 92代目 pc11.2ch.net/test/read.cgi/tech/1183511364/
231 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 12:24:54 ] >>229 >>227 にヒントを書いたんだけど、不服?
232 名前:225です mailto:sage [2007/07/18(水) 12:28:13 ] >>214 さん 問題文の意味がよく分からないんですけど ジョーカーは1枚ですよね? それでランダムで5枚引くと・・・・
233 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 12:29:21 ] >>225 小数点以上は無限大?
234 名前:225です mailto:sage [2007/07/18(水) 12:32:02 ] >>233 指定されていないので 多分無限だと思います
235 名前:c言語初心者 [2007/07/18(水) 12:33:46 ] >>231 さん 不服なんてとんでもないです。ただ、ヒントもらっても自分が解けないだけです。申し訳ないです。 >>232 さん たぶんジョーカー2枚を抜いた52枚でのことだとおもいます。よろしくお願いします。
236 名前:225です mailto:sage [2007/07/18(水) 12:33:59 ] 足し引きはifで100で固めれば簡単に出来ることはわかったんですけど
237 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 12:34:33 ] 多倍長の実数計算を実装させて >[5]main以外の関数を作ってはいけない か 冗談きつすぎ
238 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 12:37:24 ] >>225 100^256 までしかできなくね? 無限じゃネージャン
239 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 12:38:15 ] 再帰下降も不可、と
240 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 12:39:19 ] >>238 勿論char[]で多倍長を実装するんでしょ そうじゃなきゃそもそも実数すら扱えん
241 名前:256です mailto:sage [2007/07/18(水) 12:39:40 ] ごめんなさい頼る所はココしかないので・・・・orz
242 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 12:40:08 ] 未来からの使者か?
243 名前:149 [2007/07/18(水) 12:58:59 ] >>153 さんのテキストをコンパイルしてみたのですが、 /tmp/ccY67IGB.o(.text+0x163): In function `angle': : undefined reference to `sqrt' /tmp/ccY67IGB.o(.text+0x177): In function `angle': : undefined reference to `sqrt' /tmp/ccY67IGB.o(.text+0x197): In function `angle': : undefined reference to `acos' collect2: ld はステータス 1 で終了しました と表示されて、./a/out のファイルが作成されなかったのですが これは何でしょうか・・
244 名前:デフォルトの名無しさん [2007/07/18(水) 13:00:17 ] 何方か205お願いします
245 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 13:01:49 ] エラーメッセージじゃないかな??
246 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 13:05:23 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク): 特定の単語にgoogle 検索のリンクをはるプログラムをつくれ。 例えば、下は「テスト」という単語をgoogle検索したリンク である。 q= 以降は「テスト」という単語がURLエンコード(unicode)された文字列となっている。 www.google.co.jp/search?hl=ja&q=%E3%83%86%E3%82%B9%E3%83%88 1. htmlファイルを受け取る 2. 検索リンクにしたいいくつかの指定した単語を受け取る 3. すでにリンク済みの単語に注意しながら、指定した単語をgoogle 検索のリンクにする。 (例)「宿題」をgoogle 検索されたリンクにする。 この宿題ができなかったら単位はあげません。 -> この<a href="www.google.co.jp/search?hl=ja&q=%E5%AE%BF%E9%A1%8C"> 宿題</a>ができなかったら単位はあげません。 なお、目的を果たせるプログラムだったらこの形式でなくてもかまわない。 余裕がないものは ・検索ワードはURLエンコードの必要のない半角英数等だけでいい。 ・受け取った検索ワードはすでにリンクされていないと仮定してもいい。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc2.95-3 [3.3] 言語: C [4] 期限: (2007年07月31日17:00まで) [5] その他の制限: 何を使っても構わない
247 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 13:07:40 ] >>243 -lmつけると幸せになれる
248 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 13:08:14 ] >>225 組むのめんどいからヒントだけあげるよ 現在のCPU能力では「+」と「-」しか演算が出来ない。 「*」「/」はただの演算方法でしかない 例 a*bの場合 int i; for(i=0;i=b;i){a++}
249 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 13:09:34 ] >>248 ちょw
250 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 13:12:39 ] >>205 何が分からないか分からないんだが・・・・・・・ まんまじゃん
251 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 13:15:31 ] >>250 それを言うなwそれ言っちゃこのスレの存在価値がw
252 名前:149 [2007/07/18(水) 13:37:55 ] >>247 さん 幸せになれましたが、どういう原理なのでしょう? 質問ばっかですいません 書き忘れましたが、153さん・247さんありがとうです
253 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 13:41:52 ] >>252 mという数学ライブラリをリンクしたのです。
254 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 13:42:09 ] >>248 兄さんそれ掛け算になってません。 forの条件式もアレです。意図は伝わるけど。
255 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 13:46:27 ] a*bの場合 int i,n; for(i=0;i<b;i++){n+=a;} 暇ですね。
256 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 13:47:11 ] a*bの場合 int i,n=0; for(i=0;i<b;i++){n+=a;}
257 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 13:48:03 ] >>252 243のエラーメッセージはソースの中に存在しない関数(sqrtとacos)があって プログラムを作れないというリンカのエラー。 >>253 の言うとおり数学ライブラリをリンク指定すれば その中に関数sqrtとacosという関数があるからリンクが通る。
258 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 13:52:06 ] >>248
259 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 14:02:41 ] 馬鹿は彫っとけ
260 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 14:04:45 ] やらないか
261 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 14:16:34 ] >>175 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4662.c 入力は各行に(別に各行でなくてもいいけど) x1 y1 Z1 x2 y2 Z2 x3 y3 Z3 r g b の順で数値を並べたファイル. (例) 0 10 10 100 30 10 50 50 100 255 0 0 0 100 20 100 100 20 50 0 20 0 255 0 0 200 30 100 200 30 80 20 15 0 0 255 出力先もコンソールにしてるが,変更したければmain冒頭の FILE *out = stdout; を書き換えればいい. 画像はLinuxのxvで確認した.ppm形式はいくつか種類があるようなので問題あるかも. (注:CGは昔かじった程度なのでzバッファについて根本的な勘違いをしてるかもしれない)
262 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 14:30:47 ] >>205 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4663.txt 問題2でstrcpy()(文字列のコピー)の替わりにstrcat(文字列の連結)を使った。 strcpy()を使えと言われても俺の能力じゃムリポ
263 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 14:33:09 ] >>262 strccat(a, b) ≡ strcpy(a + strlen(a), b) ≡ strcpy(strchr(a, '\0'), b)
264 名前:262 mailto:sage [2007/07/18(水) 14:37:06 ] 262の駄文は忘れてくれ 問題2の修正版 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4664.c
265 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 15:08:56 ] >>246 色々穴だらけだが kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4666.txt
266 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 15:18:43 ] >>262 最後のナル文字にさえ気をつければ便利だし安全だよ。
267 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 15:19:45 ] サイズの方が重要かも。
268 名前:265 mailto:sage [2007/07/18(水) 15:24:25 ] あ、コメントの処理入れるの忘れた まあいいや どうせもともと穴だらけだ
269 名前:ヒープ [2007/07/18(水) 15:36:58 ] [1] 授業単元:C言語演習 [2] 問題文(含コード&リンク): ヒープソートを用いて、配列に格納された10個の数値データを 大きい順に並び替える。変化がわかるようにソート前と後を出力させる。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 早いとありがたいです [5] その他の制限: 特にありません よろしくおねがいします。
270 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 17:26:12 ] >>177 #include <stdio.h> int main(void) { int i,j,k,sn,flg[3]={0},suka; int n[3][5]={ {157788,457190,-1}, {5161,7093,7485,9614,-1}, {64,79,-1} }; printf("Input number > "); scanf("%d",&sn); for(i=0,k=1000000; i<3; i++,k/=100) { for(j=0; n[i][j]>0; j++) { if(n[i][j]==sn%k) { flg[i]++; break; } } } for(i=0,suka=1; i<3; i++) { if(flg[i]) { printf("%d等 \n",i+1); suka=0; } } if(suka) printf("はずれ\n"); return 0; }
271 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 18:07:53 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): 2次元配列の中にデータの入ったファイルを読み込んで代入する方法を main関数ともう1つ関数をつくって作成せよ。 例. box[5][5];の2次元配列にファイルのデータ(ここではdata.txt)を代入 data.txt 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 今日中です [5] その他の制限: 特にありません よろしくおねがいします。
272 名前:175 [2007/07/18(水) 19:53:23 ] >>261 ありがとうございました!m(__)m 自分でも色々いじってみましたが、思っていた通りの完璧な出来でした。 本当に助かりました!
273 名前:デフォルトの名無しさん [2007/07/18(水) 20:09:44 ] [1] 授業単元:情報活用 [2] 問題文:キーボードから順次入力された正の整数を0が入力されるまで、 配列に順番に格納し、入力された(0を除く)値の平均値(実数として扱うこと) にもっとも近い値(平均との差が最小となる値)が何番目に入力された どういう値であるかを表示するプログラムを作成せよ。 例) 数字(1)を入力してください。 2 数字(2)を入力してください。 5 数字(3)を入力してください。 3 数字(4)を入力してください。 1 数字(5)を入力してください。 0 入力された数字の平均は2.75です。 これは、3番目に入力された3に最も近いです。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限: [7月19日20:00] [5] その他の制限:特になし ギリギリまで頑張ったのですができませんでした。わかる方お願いします
274 名前:デフォルトの名無しさん [2007/07/18(水) 20:12:21 ] [1] 授業単元: C言語プログラミング [2] 問題文(含コード&リンク):○×ゲーム(3目並べ) をプロンプト上で動かす。com/man対戦、先攻後攻は選択可能 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン: [3.3] 言語:C [4] 期限: 今週金曜 [5] その他の制限: 特になし
275 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 20:13:01 ] >>273 なんか前々スレくらいで全く同じ問題に回答した気がする。
276 名前:スモーク [2007/07/18(水) 20:17:27 ] [1] 授業単元: C言語 [2] 問題文(含コード&リンク): 問題009 多分岐型 整数型の変数a・b と、文字型の変数e を用意し、 キーボードから2つの数値と1つの演算子を入力し 、その計算結果cを出力するプログラムを作成しなさい。 実行される計算は和・差・積・商・剰余の5種類とし、 演算子はそれぞれ’+’、’-’、’*’、’/’、’%’で 表現されるものとする。 演算子にそれ以外の記号が入力された場合は エラーメッセージを表示する。 また0による除算の回避も含めること。 [3] 環境 3.1] OS: (Windows XP) [3.2] コンパイラ名とバージョン: (VS 2005) [3.3] 言語:C [4] 期限: ([2007年07月20日hh:金曜まで] [5] その他の制限: 課題の数は残り20くらいありますが、半分は片付けました。 しかし、追加されてくるものを回答する時間がもうありません。 どうかよろしくおねがいします。 あなたの能力が便りです。
277 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 20:20:53 ] 釣りか?
278 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 20:21:21 ] 除算の結果の小数点以下は?
279 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 20:25:19 ] >>271 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4667.c
280 名前:デフォルトの名無しさん [2007/07/18(水) 20:27:06 ] [1] 授業単元:情報 [2] 問題文:2次方程式a*x*x + b*x + c = 0の解を求めるプログラムを作成せよ。 係数a,b,cはdouble型で、キーボードから入力するものとする。 虚数解の出力も行うこと。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限: あしたまで [5] その他の制限:ありません よろしくおねがいします
281 名前:22 mailto:sage [2007/07/18(水) 20:37:28 ] 名前:デフォルトの名無しさん[sage] 投稿日:2007/07/15(日) 09:55:51 [1] 授業単元: C言語 基礎&応用 [2] 問題文(含コード&リンク): 問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4668.txt ソース:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4669.txt [3] 環境 [3.1] OS:windowsXP [3.2] コンパイラ名とバージョン:Visual studio.2005 [3.3] 言語:C言語 [4] 期限:2007/07/19の12:00まで。 [5] その他の制限:特になし どうにか講師が作らせたかった内容になったらしく問題1と2はOKでました。 最後の問題3です。よろしくお願いいたします。
282 名前:スモーク [2007/07/18(水) 20:41:23 ] [1] 授業単元: C言語 [2] 問題文(含コード&リンク): 問題009 多分岐型 整数型の変数a・b と、文字型の変数e を用意し、 キーボードから2つの数値と1つの演算子を入力し 、その計算結果cを出力するプログラムを作成しなさい。 実行される計算は和・差・積・商・剰余の5種類とし、 演算子はそれぞれ’+’、’-’、’*’、’/’、’%’で 表現されるものとする。 演算子にそれ以外の記号が入力された場合は エラーメッセージを表示する。 また0による除算の回避も含めること。 [3] 環境 3.1] OS: (Windows XP) [3.2] コンパイラ名とバージョン: (VS 2005) [3.3] 言語:C [4] 期限: ([2007年07月20日hh:金曜まで] [5] その他の制限: 課題の数は残り20くらいありますが、半分は片付けました。 しかし、追加されてくるものを回答する時間がもうありません。 どうかよろしくおねがいします。 あなたの能力が便りです。 小数点以下は切り捨てでいいですよ。 とにかく0による除算の回避とあるだけなのでそのとおりで済むはずです。 多少のミスはかまいません。それ以外がうまく機能すればよいです。 また、ほかの問題も載せますのでよろしくお願いします。
283 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 20:42:52 ] ここまでくると、嫌がらせとしか思えないな
284 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 20:43:30 ] なんか追記の書き方がムカツクのは俺の心が狭いからかな
285 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 21:07:30 ] >>280 汚くて&間違ってたらスマソ ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4670.c
286 名前:285 mailto:sage [2007/07/18(水) 21:11:36 ] あー、a=0の時の処理書いてないわ 適当に追加してね
287 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 21:26:20 ] >>284 俺も。>>285 はキリストかあるいはMだと思う。
288 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 21:39:00 ] >>282 #include <stdio.h> #include <stdlib.h> int main(void){int a,b,c;char e;if(scanf("%d %d %c",&a,&b,&e)!= 3){ fprintf(stderr, "input error\n");return EXIT_FAILURE;}switch (e) { case '+': c = a + b; break;case '-': c = a - b; break; case '*': c = a * b; break;case '/': case '%':if (b == 0) {fprintf(stderr, "zero divide\n"); return EXIT_FAILURE;}if (e == '/') {c = a / b;} else {c = a % b;} break;default:fprintf(stderr, "illegal operator\n");return EXIT_FAILURE;} printf("result = %d", c); return EXIT_SUCCESS;}
289 名前:alsk [2007/07/18(水) 21:56:33 ] 健康についての英語のエッセイを500〜600字程度でお願いしたいのですが… 可能でしょうか? タバコとか、肥満についてならなんでもいいんで!
290 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 21:57:11 ] >>289 スレ違いすぎ。
291 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 22:00:17 ] (´-`).。oO(英語で500〜600"字"ってかなり少なくないか?)
292 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 22:03:32 ] (´-`).。oO("語"の間違いだろ・・・常考)
293 名前:デフォルトの名無しさん [2007/07/18(水) 22:04:01 ] 釣りか単なるマルチだろ…
294 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 22:40:52 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): 次のようにプログラムを作成せよ。前回のプログラムのmainとnumber大域変数は変更しない。 intのスタックを2つ作る(大域変数)。1つのスタックは数値をいれる。もう1つには演算子を表す数をいれる 例 +→0 弱低 -→1 ↓ *→2 ↓ /→3 強高 #include<stdio.h> #include<ctype.h> char *p;char c[100]; int expression(void); int term(void); int number(void); main(){ int ans; while(1){ printf("Enter expression : "); fgets(c,90,stdin); p=&c; if(*p == '\n') {break;} ans=expression(); printf("Answer:%d\n" , ans); } }
295 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 22:42:19 ] int expression(){ int ans; ans = term(); while(1){ if(*p == '+'){ *p++; ans = ans + term(); } else if(*p == '-'){ *p++; ans = ans - term(); } else break; [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2007年07月19日 [5] その他の制限:特になし
296 名前:デフォルトの名無しさん [2007/07/18(水) 23:13:01 ] >>223 お願いします
297 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 23:16:30 ] >>279 回答ありがとうございます。 とてもみやすかったです^^
298 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 23:24:06 ] >>297 readfile関数内の int j はいらないから消しといて><
299 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 00:12:58 ] >>273 #include <stdio.h> #include <math.h> #define N 128 int main(void) { int i=0, j, n=0, x[N]; float avg=0.0, tmp; while(1){ printf("数字(%d)を入力してください。: ", i+1); scanf("%d", &x[i]); if(x[i] == 0) break; avg += x[i]; i++; if(i == N) break; } avg = avg / i; printf("\n入力された数字の平均は%fです。\n", avg); tmp = fabs(avg - x[0]); for(j=1 ; j<i ; j++){ if(tmp > fabs(avg - x[j])){ tmp = fabs(avg - x[j]); n = j; } } printf("これは、%d番目に入力された%dに最も近いです。\n", n+1, x[n]); return(0); }
300 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 00:33:57 ] [1] 授業単元:計算機 [2] 問題文(含コード&リンク): スタックを利用し、入力された文字を逆順に出力するプログラム。 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4671.txt ここまで作ったのですが、ポップアップがうまく出来ません [3] 環境 [3.1] OS: (Windows/Linux/等々) windows [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) bcc32 [3.3] 言語: (C/C++/どちらでも可 のいずれか) C [4] 期限:7/26 どなたかご教授お願いしますorz
301 名前:273 [2007/07/19(木) 00:47:41 ] >>299 ありがとうございますmm 明日やってみます。 本当にありがとうございます。
302 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 00:51:41 ] >>296 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4672.txt
303 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 00:58:09 ] >>300 よく分からないのだが、 対話的に1文字ずつ文字入力を行い、1文字ずつ取り出したいのか? それとも、 文字列を入力し、結果の反転文字列を一気に出力したいのか?
304 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 00:58:15 ] >300 char x; scanf("%s", &x); ってなんだ?
305 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 01:02:05 ] >>303 入力は1文字ずつで、出力は1文字ずつ出したり全部出したり出きる様にしたいんです。
306 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 01:11:28 ] [1] 授業単元:Cぷろぐらみんぐ [2] 問題文:複素数a+bi(iは複素数)のn乗を求めて出力するプログラムを作れ。 a,bはdouble型とし、nはint型で、キーボードから入力するものとする。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限: はやめでおねがいします [5] その他の制限:特にないです
307 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 01:16:07 ] 「はやめ」っていつまでだよ 明日の朝とかもうちょっと具体的に書け
308 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 01:19:00 ] [1] 授業単元:プログラミング論 [2] 問題文(含コード&リンク):sakuratan.ddo.jp/uploader/source/date44998.txt return ????部分が分かりません。 [3] 環境 [3.1] OS: (Windows/Linux/等々)WinXP [3.2] コンパイラ名とバージョン:VC6 [3.3] 言語: (C/C++/どちらでも可 のいずれか) [4] 期限: 今日 [5] その他の制限:なし よろしくおねがいしますorz
309 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 01:24:12 ] なんでいちいち外部に上げるかね
310 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 01:24:47 ] >>308 問題文じゃねええええええええええええええええええええええええええええええええええええええええええ
311 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 01:27:19 ] >>308 double 型の値を返すんだから、 FXかFX1じゃねえの? 問題文がないしわけがわからんよ
312 名前:308 mailto:sage [2007/07/19(木) 01:28:11 ] >>310 問題文がついてないんです・・・ 一次正弦関数の補完値を求めたいみたいなんですけど グーグル先生に聞いてもよく分かりませんでした。
313 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 01:29:36 ] は? 問題文がないなら宿題じゃねえじゃん
314 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 01:30:00 ] >>306 int main(){ double a,b,t; int n; scanf("%lf,%lf,%d",&a,&b,&n); while(--n>0) t=b,b=2*a*b,a=a*a-t*t; printf("%g+%gi\n",a,b); }
315 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 01:31:47 ] [1] 授業単元: c言語 [2] 問題文(含コード&リンク): 整数nを入力し、1〜nまでの整数を使い、n桁の組み合わせを出力する。 同じ整数は2回以上使ってはいけない。 例えば3を入力した場合 012 021 102 120 201 210 を出力したい。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C [4] 期限: 7/23 [5] その他の制限: 特に無し もうさっぱりです。お願いします。
316 名前:308 mailto:sage [2007/07/19(木) 01:32:04 ] >>313 「ここ埋めてきて」と…
317 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 01:33:24 ] >>316 俺たちはその「ここ埋めてきて」とか一時正弦関数の補完とか言われてな・・・ もしかして文章で伝えられずに口頭だったから何も書かなかったのか・・・ もうだめぽ
318 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 01:46:04 ] >>315 > 整数nを入力し、1〜nまでの整数を使い、n桁の組み合わせを出力する。 ... >例えば3を入力した場合 >012 021 102 120 201 210 この例だったら、1 〜 n じゃなくて 0 〜 n-1 じゃないのか?
319 名前:300 mailto:sage [2007/07/19(木) 01:46:55 ] とりあえず1文字ずつ入力して1文字ずつ出力しようとしてみたけど どうしても最後の文字(1番最初に入力した物)が出力されません。。 配列には入ってるみたいなんだが・・・
320 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 01:47:47 ] >>315 n桁ってのは上限はないのか?
321 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 01:48:52 ] 1違いは良く見直せというのはプログラミングをやる人間にとっての常套句
322 名前: ◆Kt53Ir50Qk mailto:sage [2007/07/19(木) 01:50:39 ] [1] 授業単元: プログラミング [2] 問題文(含コード&リンク): 線形リストを用いて過去に素数とわかった数を保存し、指定された数(N)以下の素数を求めるプログラムを作成する。 Nはプログラム実行中に外部から入力できるようにする。 ・素数かどうかを判定する際には線形リストに保存されている素数のみ利用する。 ・引数として与えた数が、引数として与えられた素数を保存する線形リスト中の素数で割り切れるかどうかを判定する関数を作る。 ・順番に小さい数から線形リストに保存してある素数で割り切れるかどうかを判断し、割り切れない場合(素数)は線形リストに加えていく。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: VC 6.0 [3.3] 言語: C/C++の違いがわからない [4] 期限: はやめ [5] その他の制限: 特になし わ か り ま せ ん
323 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 01:53:41 ] >>318 うっかりしてました。 123 132 213 231 312 321 の間違いです。 >>320 基本的に上限はありませんが、あんまり数が大きいと 馬鹿になりませんので…。 大体5か6くらいまでを想定してます。
324 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 01:58:48 ] >>300 変な所は色々あるんだが、とりあえず、 case 3: while(sp>0){ sp--; printf("%c", Stack[sp]); } printf("\n"); break;
325 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 02:01:00 ] >>322 最初は線形リストになにも保存されていないと思われるが、どうする?
326 名前: ◆Kt53Ir50Qk mailto:sage [2007/07/19(木) 02:05:05 ] たぶん、いくつかの素数を入れた素数テーブルを作っておくんだと思いますが、、、 よくわからないです。 ↓授業で使った線形プログラム sakuratan.ddo.jp/uploader/source/date45003.txt
327 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 02:07:59 ] 何? さくらアップローダーが流行ってるの?
328 名前:300 mailto:sage [2007/07/19(木) 02:10:22 ] きったないプログラムだけどなんとか動くようになりました。。。 あとは修正頑張ってみます。 ありがとうございました。
329 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 02:12:17 ] >>323 #include <stdio.h> #define N 6 int nextperm(int p[], int n){ int i, j, t; i = n - 1; p[0] = 0; while (p[i] >= p[i + 1]) i--; if (i == 0) return 0; j = n; while (p[i] >= p[j]) j--; t = p[i]; p[i] = p[j]; p[j] = t; i++; j = n; while (i < j){ t = p[i]; p[i] = p[j]; p[j] = t; i++; j--; } return 1; } int main(){ int i, n, p[N + 1]; do{ scanf("%d", &n); }while(n < 1 || N < n); for (i = 1; i <= n; i++) p[i] = i; do{ for (i = 1; i <= n; i++) printf("%d", p[i]); putchar(' '); }while(nextperm(p,n)); return 0; } ぐぐって出てきたのほぼそのまんまだから動作原理はシラネ
330 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 02:23:00 ] >>300 がんばれ
331 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 03:01:10 ] 自分で書いたソースを晒して質問するのって、それなりに大変だよな。 宿題丸投げして、回答があっても放置される事が多いけど。