1 名前:デフォルトの名無しさん [2008/12/31(水) 08:02:03 BE:378684285-PLT(43140)] あなたが解けない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++の宿題を片付けます 120代目 pc11.2ch.net/test/read.cgi/tech/1229424329/
2 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 15:00:12 ] janeの隠し機能 1.書き込みウィンドウを出し半角入力に切り替える 2.Wキーを押しっぱなしにする 3.Wキを押しっぱなしにしながらsageのチェックするところをおもむろにクリック
3 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 15:03:11 ] wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
4 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 15:03:57 ] ひっかかった
5 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 15:23:55 ] wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
6 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 15:58:20 ] wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
7 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 18:33:49 ] 南蛮戦時だよまったく wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
8 名前:デフォルトの名無しさん [2008/12/31(水) 18:38:19 ] wwwwwwwwwwwwwwwwwwwwwww
9 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 22:20:15 ] やっぱ冬休みだから少ないのかね
10 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 02:32:12 ] wの数が?
11 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 02:41:43 ] Grass wWWwwww
12 名前:デフォルトの名無しさん [2009/01/01(木) 03:49:57 ] [1] 授業単元: プログラミング演習2 [2] 問題文(含コード&リンク): 引数として、「char型のポインタ(a)、int型整数(b)、int型2048以下の整数(c)」を渡し、 関数内で、受け取ったポインタ(a)の指定された位置のビット(b)から、11ビットで指定された整数(c)を書き込む。 というプログラム(関数)を書くのですが、どうもうまくいきません。よろしくおねがいします。 例えば引数が「*a, 3, 5」だったときは、 *aの3ビット目から11ビットで5(0000 0000 101)を書き込む。という感じです。 説明下手ですいません。 [3] 環境 [3.1] OS: WindowsXP home sp3 [3.2] コンパイラ名とバージョン: VisualC++6.0 [3.3] 言語: C [4] 期限: 1月11日(できれば早いほうが助かります。) [5] その他の制限: 特に無いです。
13 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 03:58:39 ] この前 10進数を16進数に変換せよ って課題に cin >> a; cout << hex << a; で提出したら課題が増えた
14 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 04:06:04 ] へーーっくすょん、なんか寒いな・・・
15 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 05:25:25 ] >>12 void unko(char * a, int b, int c) { int mask, i; assert(0 <= c && c <= 2048); for (mask = 2048; !(mask & c); mask >>= 1); for (i = b - 1; 0 <= i && mask; --i, mask >>= 1) { *a |= (c & mask ? 1 : 0) << i; } } こういうことでいいのか?
16 名前: 【小吉】 【1233円】 株価【45】 mailto:sage [2009/01/01(木) 09:13:40 ] >>15 いったい何ビットの整数を扱うつもりなんだw まあ、元がcharだから1バイトしか使えないが >>12 その説明ではどうとでも取れる 書き込み後のバイト列を具体的に書け ポインタ(b)で指定されたアドレスのMSBが1ビット目としてビッグエンディアンか? それとも、LSBを1ビット目としてリトルエンディアンか?
17 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 09:40:00 ] >>16 そういう解釈もあるのか 何も考えずにシフト演算ならどっちでもいい気がしたんだが
18 名前:デフォルトの名無しさん [2009/01/01(木) 12:10:53 ] [1] 授業単元:実践プログラミング 8.2 競馬 [2] 問題文(含コード&リンク): (先生の配慮により問題が易しくなったようなのでもう一度) 次の課題A,Bから一方を選び,そこに書かれている数値について, 問(1) 100.0以上1000未満の数 問(2) 1000以上10000未満の数 問(3) 10000以上の数 はそれぞれいくつあるか数え表示するプログラムを完成せよ. 課題[A] JRAのホームページから左にある「競争成績」をクリックし, 下部にある過去の競争成績(カレンダー)から5阪(12月7日阪神)をクリック, 下のほうにスクロールすると11Rとあるがそこをクリックせずにその行の一番右にある 「最終オッズ」をクリック,その後,「3連単オッズ」をクリック.そこに表示されるページの表について。URLを入力するなどして 他のレースの数値についても同様にすぐに数値を数えられるプログラムにすること。(激難) 課題[B] 課題[A]が難しいので,通常はこちらを解くとよい.次のテキストは課題[A]の数値の一部を コピー・アンド・ペーストしたものである.これを[Ctrl+C]でコピーし,scanfの入力において [Ctrl+V]で貼り付け,[Ctrl+D]を入力すると入力を終え,数え始めるようにせよ.他の数値を入力 するときも,[Ctrl+D]を入力することで入力を終え,カウントできるように. kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8505.txt [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:Visual C++ 2008 Express Edition [3.3] 言語:C [4] 期限:2008年1月4日中山第11R(中山金杯)の発売締め切り時刻を提出期限とする. [5] その他の制限:次回は「8.3 パチンコ」を学習します. 、だそうです。
19 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 12:33:19 ] >>18 回答を用意しているかどうか聞いとけ
20 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 16:53:32 ] >>18 前スレで言われたことわかってないな URL入力では絶対に不可能なんだよ
21 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 17:29:10 ] >>18 #include <stdio.h> int main() { double val; int count[3] = {0}; while (scanf("%lf", &val) != -1) { if (100.0 <= val && val < 1000) { count[0]++; } else if (1000 <= val && val < 10000) { count[1]++; } else if (10000 <= val) { count[2]++; } } printf("問(1) 100.0以上1000未満の数 : %d\n", count[0]); printf("問(2) 1000以上10000未満の数 : %d\n", count[1]); printf("問(3) 10000以上の数 : %d\n", count[2]); return 0; } B
22 名前:デフォルトの名無しさん [2009/01/01(木) 18:00:58 ] >>20 HTMLとJAVASCRIPTの知識があればできるんじゃね?
23 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 18:10:14 ] >>22 そうじゃなくて結果表示のページがPOSTリクエストの結果表示だから URLだけじゃ不可能なんだよ
24 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 18:16:33 ] doActionとかいうメソッドの第二引数に何を渡すのかを探るのが重要であって、URLはそれほど重要じゃないってことだろ
25 名前:デフォルトの名無しさん [2009/01/01(木) 18:22:30 ] >>23 確かに
26 名前:デフォルトの名無しさん [2009/01/01(木) 18:25:11 ] でもブラウザにそのままソースを貼り付けてやったらちゃんと動いたけどこれじゃだめなの? C言語でPOSTするプログラムを書くとかはできないのかな?
27 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 18:31:53 ] それリクエストの結果から動的に作成されたhtmlソース(AccessO)でしょ? AccessOのURLだけを入手しても、リクエストの結果が埋め込まれてないから無意味。
28 名前:デフォルトの名無しさん [2009/01/01(木) 18:51:16 ] * *** ***** ******* ********* *********** ************* *************** ***************** ******************* この三角形を出力するプログラムを教えてください。 forを使った場合とwhileを使った場合。
29 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 18:54:24 ] >>26 そもそも cname を何処からか取得しなくてはいけないが、法則性が不明。 おそらく、競走成績のページ(accessS.html)から辿って行くしかない。 あと、おそらく宿題のフリした図抜けたバカのリクエスト。
30 名前:デフォルトの名無しさん [2009/01/01(木) 18:54:30 ] 断る
31 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 18:55:48 ] >>28 for の場合 #include <stdio.h> int main() { int i, j, n; n = 10; for(i = 0; i < n; i++){ for(j = 0; j < n + i + 1; j++) if(j <= n - (i + 1)) putchar(' '); else putchar('*'); putchar('\n'); } return 0; }
32 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 20:56:38 ] wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
33 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 21:06:44 ] >>32 >>34 何このアホ
34 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 21:15:31 ] ?
35 名前:デフォルトの名無しさん [2009/01/01(木) 21:17:54 ] forとwhileってどっちの方が いいんですか?
36 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 21:20:08 ] どっちでもいいよ ループの境界条件に関して 一定の形式でまとめられるforの方が 可読性がいいのではないかという意見もあるけど まぁどっちでも
37 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 21:21:28 ] >>35 機械にとっては大差ないんじゃね? forの方が決まりが多いから、その分、読み手に分かりやすく書けると思う。
38 名前:デフォルトの名無しさん [2009/01/01(木) 21:25:39 ] 一般的にどちらの方が多く使われてるとか ありますか?
39 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 21:26:24 ] >>38 アンケートをとってきなさい
40 名前:デフォルトの名無しさん [2009/01/01(木) 22:35:12 ] >>31 解くコツとかあるんですか? 俺そんなすぐにはとけません・・
41 名前:デフォルトの名無しさん [2009/01/01(木) 22:43:40 ] >>40 絵に描いて考えればわかるんじゃない?
42 名前:デフォルトの名無しさん [2009/01/01(木) 22:45:14 ] >>41 えっ!?
43 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 23:01:20 ] >>40 別解だが山を二つに区切っちゃおう というのがあるよ 頂点の*の右側を垂直に直線を下ろし、それを境界として考える 上からx行目の空白は10-x個、右側の*はx個、左側の*はx-1個 int i,j,k; // iは空白、jは右側の*、kは左側の* int line; //行数をカウント for(line = 1;line <= 10;line++) { for(i = 10;i > line;i--) printf(" "); //まず空白 for(j = 1;j <= line;j++)printf("*") //左側の個数の*を出力 for(k = 1;k <= line - 1;k++)printf("*") //右側の個数の*を出力 k <= line - 1 に注目 putchar('\n'); //改行 } テストしてないけどまあ大丈夫じゃね?
44 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 23:10:15 ] つセミコロン
45 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 23:11:24 ] それやるんだったら x行目の空白は10-x個、*は2x-1個でいいじゃん 何のために分割してんの?
46 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 23:12:11 ] ついでに、空白の数をwhileの停止条件にすれば、 forとwhileの両方を満たせるなw
47 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 23:23:57 ] まあひとつずつ書いていった結果じゃね?w 分割はちょいイミフだがw
48 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 00:06:36 ] きっと>>43 は宿題出した教授で 何人コピペしてくるか調べたいんだよw
49 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 00:08:08 ] >>40 コツってわけじゃないけど、おれの場合こんな流れかな 問題を見つける(質問投稿から 106秒) 空白と*が左上から順に1つずつ表示される様子をイメージする(+20秒) 複数行にまたがる出力なので、そこでまず for ループ1個書く(+10秒) 1行の中でで処理を反復するのでそこでも for ループを1個書く(+10秒) ループに必要な変数を記述(+20秒) どういう条件で*が出るかを考えて(+20秒) 実際に書き下す(+10秒) コンパイル(+3秒) 実行(+2秒) 頂点が1つ足りないので条件を修正(+10秒) コンパイル(+3秒) 実行(+2秒) *の右側にも空白を書いていたことに気づく(+15秒) 内側の for ループの条件を修正(+20秒) コンパイル(+3秒) 実行(+2秒) 出力は問題なさそうだが、main の return 0; を忘れていたので加筆(+2秒) コンパイル(+3秒) 実行(+2秒) Janeの書き込みボタンを押してウィンドウを開く(+2秒) 一言書く(+4秒) ソースを全選択してコピー(+1秒) 書き込みウィンドウにペースト(+1秒) 書き込み投下(+1秒)
50 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 00:32:21 ] そして一生の後悔
51 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 01:03:30 ] 別解示すならこれくらいでないと 取りあえず、2重ループを排除 char *s = "*******************"; char *p; int n; for(n = 10, p = s + 18; n < 20; n++, p -= 2) { printf("%*s\n", n, p); }
52 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 07:45:41 ] >>28 while使った場合 #include <stdio.h> int main(void) { int i = 0, j; while(j = 10 - i++) { while(--j > 0) putchar(' '); while(++j < i << 1) putchar('*'); putchar('\n'); } return 0; }
53 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 08:59:25 ] while(j = 10 - i++) (・∀・)
54 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 09:26:18 ] >>53
55 名前:デフォルトの名無しさん [2009/01/02(金) 09:30:05 ] 54 名前:デフォルトの名無しさん 投稿日:2009/01/02(金) 09:26:18 >>53
56 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 09:31:23 ] while(j = 10 - i++) while(j = 10 - i++) while(j = 10 - i++) while(j = 10 - i++) while(j = 10 - i++) while(j = 10 - i++) 今年一発目の・・・なぁ〜にぃ〜!?やっちまったな!
57 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 09:31:49 ] >53-55が何を言いたいのか理解できない
58 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 09:33:50 ] やべえ>>52 程度が理解できないバカがいるとはw
59 名前:デフォルトの名無しさん [2009/01/02(金) 10:10:58 ] C言語の0以外ならばTRUEという仕様を利用しているんでしょ。
60 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 10:18:03 ] =だけ見て脊髄反射したのか
61 名前:デフォルトの名無しさん [2009/01/02(金) 10:42:43 ] #include <stdio.h> int main(void){ int i; printf("%d\n", i = 10); return 0; }
62 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 10:48:34 ] >>59 =>>60 あの程度の不備が理解できないなら、プログラミングなんてやらない方が良いぞ、ド素人
63 名前:本当の馬鹿 mailto:sage [2009/01/02(金) 10:50:08 ] 58 名前:デフォルトの名無しさん 投稿日:2009/01/02(金) 09:33:50 やべえ>>52 程度が理解できないバカがいるとはw やべぇ、あのコードの不備が理解できない知ったか大馬鹿がいるとはw 人間、年を取ると自信過剰になって、指摘する人間に圧力をかければ 自分が正当化され、正しいことを言っていると勘違いするようだな。 まるで、あの集団のように。ただ、行き過ぎて、自分らが間違っていることに 選挙で負けて気づくと。
64 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 10:55:57 ] >>52 は都合よくコンパイラが解釈して通すが、繰り返しの条件判定としては不適切。 指摘されて、気づかないくらい、自分が正しいと思い込んでいるんでしょうね。 逆に、指摘した側が知らないと思い込んでもいるようだし。
65 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 10:57:40 ] >>64 何かと勘違いしてるんだろうけど、評価順は決まってるよ。
66 名前:デフォルトの名無しさん [2009/01/02(金) 11:08:20 ] インクリメントでコンパイラ依存になるのってどんな場合だったっけ?思い出せない
67 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 11:11:37 ] >>58 知能が低い奴ほど罵倒発言を平気でする。自分が馬鹿だと言う事にも気づかず、 擁護してくれる人がいないからって、IDのない板で、自作自演で複数を装うやり方もするしな。 コンパイラが通すんだから良いんだろ?って考えだろ。while文の括弧の中は、 本来は条件式が入るんだが、それは代入だろ。例え括弧で代入式を括っても、 それに対して条件式にあう措置をとるべき。 まぁ、コンパイラ任せの未熟者がプログラミングに手を出す時代になったってことだな。
68 名前:デフォルトの名無しさん [2009/01/02(金) 11:16:06 ] >>67 だから代入したあとにその代入した値が評価値になるんだろ?>>61 見ろよ。
69 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 11:18:58 ] while(j = 10 - i++) 代入と条件判定式の区別がつかないゆとり?
70 名前:デフォルトの名無しさん [2009/01/02(金) 11:23:39 ] >>69 0以外がTRUEだから条件文は10でも100でも1000でも-1000でもいいの #include <stdio.h> int main(void){ int i; if(i = 10) printf("Hello World!"); return 0; }
71 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 11:25:49 ] >>67 whileの括弧の中は条件式じゃなく、値だ。 そして代入演算子の値は代入後の変数の値。 なんかコンパイラが都合よく解釈してくれていると勘違いしているようだが、 >>52 は完全にCの文法に合致してるぞ。
72 名前:デフォルトの名無しさん [2009/01/02(金) 11:30:19 ] if(A) を if(A > 0) と書いちゃう人だから相手にすんな
73 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 11:30:40 ] それは自由だ。
74 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 11:46:49 ] >>66 こんなか? #include <stdio.h> int main(){ int i=10; i=10; i=(i++); printf("%d\n",i); i=10; i=(i++)+0; printf("%d\n",i); // i=(i++)+100; printf("%d\n",i); i=10; i=(i++)+(i++); printf("%d\n",i); // i=10; int j; j=(i++)+100; printf("%d\n",j); i=10; j=(i++)+(i++); printf("%d\n",j); return 0; }
75 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 11:51:14 ] 相手を罵倒したり、必死に否定して間違っている自分を正当化する奴は、余計に信じられない。 不適切、適切の区別もつかないような奴がプログラミングをやると、最悪、予期できるのに 自らの不手際で考えられないバグを出すから困る。
76 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 11:54:02 ] >>74 これもか? #include <stdio.h> int main(){ int i=10; i=(++i); printf("%d\n",i); i=10; i=(++i)+0; printf("%d\n",i); // i=(++i)+100; printf("%d\n",i); i=10; i=(++i)+(++i); printf("%d\n",i); // i=10; int j; j=(++i)+100; printf("%d\n",j); i=10; j=(++i)+(++i); printf("%d\n",j); return 0; }
77 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 11:55:08 ] >>75 世の中にバカがひとりも居ないなら兎も角、 全員が間抜けなのに、何を言っているんだ?
78 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 11:59:40 ] なにやら喚いてる奴は if( !( fp = fopen( 〜 ) ) ) とかも許せないんだろうか
79 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 12:03:22 ] >>77 こんにちは、間抜け
80 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 12:10:53 ] >>79 ディルバートの法則も読んだことが無いなんて・・・
81 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 12:37:34 ] >>76 >i=(i++)+100; の前にi=10;が抜けているな。 >>74 も
82 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 12:38:15 ] >>80 ユークリッドの原論も読んだことがないようだな
83 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 12:42:56 ] 弱い犬ほどよく吠える とは言ったものだ。素人以下の基地外が、こんな時期に 寂しく過疎ってるスレで、IDが出ないからって自作自演で擁護してファビョってやがるぜ。
84 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 14:20:40 ] 麻呂の初暴れか 大喜びで揚げ足とったつもりで自分だけが間違うって、何度やっても学習しないな。
85 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 14:57:10 ] >>67 条件判定式が返す「値」で判定するんであって、判定式が必須じゃないんだがw よく無限ループで使われるwhile(1)についてはどう思ってるの?
86 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 20:12:52 ] [1] 授業単元:プログラミング演習 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8508.txt [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン:Visual C++ 2008 Express Edition [3.3] 言語:C [4] 期限:1月9日 [5] その他の制限:特にないです。
87 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 20:38:19 ] >>86 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8509.txt
88 名前:86 mailto:sage [2009/01/02(金) 21:48:44 ] >>87 ありがとうございました。
89 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 02:39:12 ] >>85 知ったか無知乙。whileの中が条件式ではなく、代入式なんだが?w それから、条件式の真偽でif文にしろ判定していることくらい、周知のこと。 何を指摘されたか分からないなら、黙ってろ。 >>84 =本物の馬鹿麻呂 自分で言ってて恥ずかしくない?お前にとって、指摘する奴=麻呂って何それ?w
90 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 02:41:12 ] さらに、条件式でなくても、while(1)などで分かるように、そこに変数を用いて その変数が0か否かで判定するやり方も知っているが、 >>52 は while(j = 10 - i++) { どーーーー考えても代入式です、ありがとうございますたwwwwwww さてと、自信過剰知ったか無知は以後放置よろ。質問スレでも大ボケかましたよ。 識 別 子 (笑)
91 名前:デフォルトの名無しさん [2009/01/03(土) 02:42:53 ] 眠いね
92 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 02:44:02 ] a = b = 10;
93 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 02:47:44 ] >>90 横槍ですまんが、>>52 の int i = 0, j; while(j = 10 - i++){ これって10回ループしたら抜けないの? 俺の知識がおかしいのか…
94 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 02:50:12 ] while(*dst++=*src++); この有名な文字列コピーの手法はどう見ても代入式ですw
95 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 02:51:57 ] >>93 冬休みなだけだよ
96 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 02:52:46 ] >>95 こいつは年中無休だからw
97 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 02:54:03 ] >>93 jに代入される数が10から0まで減っていくから、問題なくループは終了するよ。
98 名前:デフォルトの名無しさん [2009/01/03(土) 02:54:10 ] [1] 授業単元:cプログラミング [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8510.txt [3] 環境 [3.1] OS: win [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: c [4] 期限: 日曜午後6時 [5] その他の制限:よろしくお願いします。
99 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 02:54:53 ] 明らかにこの辺と呼応してるし。同じヤツだろ。 普段いるやつじゃないよ。 pc11.2ch.net/test/read.cgi/tech/1229255937/503
100 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 02:55:36 ] >>95 >>97 そっか ありがとー
101 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 02:57:01 ] 52はwhileの中に代入式を書くという技巧を見せつけたかったってことでいいじゃないか。 規格上何ら問題なくコンパイルは通るのも事実だし、 それを初心者に見せびらかして自慢すべき事柄ではないのもその通り。
102 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 03:01:17 ] >>99 最近この板に来た人? こいつは何年もC系のスレでファビョりまくってるアホだから。
103 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 03:09:51 ] 俺は52なんだが、まさかこんなことになるとは思わなかった。 単に行数減らしたかったから()内で代入しただけなんだが。 >>92 まさかこの程度のことで技巧とか自慢とか言われるとは思わなかったw
104 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 03:10:21 ] >>92 ってなんだw >>101 の間違いね
105 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 03:15:06 ] while(j = 10 - i++) どう考えても、while文の中は代入式で、条件式ではありません。 コンパイラも、ここの部分に対しては警告を出しているし。 while文の使い方や説明を見直すことを、お勧めします。 何を指摘されたのか分からないなら、今すぐプログラミングなんて お止めになった方が、今後の人生のためですよ。人間、適性なんて やってみなければわからないものですからね。これ以上、自分の 適性に合わないプログラミングは、死ぬまでの人生を無駄にしますよw
106 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 03:19:39 ] while()の括弧内が代入式でもCの規格として何の問題もありません。 代入式でなければいけないと主張するのならば、根拠を示してください。
107 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 03:20:05 ] >>105 別にコンパイラが警告出したっていいんじゃない? 動くし。 FILE *fp; if(!(fp = fopen("hoge.txt", "r"))) return 1; みたいなのと一緒だと認識してる 違うんかな?
108 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 03:22:17 ] while(j = 10 - i++) jが0か否かで判定するのもありだが、これはどう考えても 代入式 だ罠。分からないなんて、どこのクズ講師だよ? 変な自身を持っているのも、迷惑だな、生徒が。 こんな奴にだけは、絶対に習いたくないね。 教える立場だから、間違っては困るにしろ、間違っていても 指摘した人間を陰湿に罵倒して正当化する性格になってしまったんだね。 生徒も低レベルなんだろうけど。
109 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 03:22:56 ] 代入式で警告出るのは==を=にするミスが多すぎたからじゃなかったっけ? 昔は出なかったから、定数を左に書くテクニックとかあったわけだし。
110 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 03:23:40 ] >>108 >>94 についてはどう思う?
111 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 03:28:26 ] 誰も j = 10 - i++ が代入式じゃないとは言ってないのに。 Cの規格として代入式でも全く問題ないって言ってるのが理解できないのか?
112 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 03:31:08 ] いや・・・・どうみてもこいつは・・・・・ つられるなよお前ら・・・・・・・・・
113 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 03:32:20 ] >>111 お前こそ、それが規格上問題ないということに誰も異論を述べていないことに気付け。 推奨される書き方ではないからやめろと言われ続けているだけだ。
114 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 03:33:22 ] まぁ、議論(?)はそのくらいにして みんなで>>98 でもやろうぜ。 fgetsでchar型配列を使わないってなんだろ ポインタ使えってことかな
115 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 03:37:05 ] >>98 #include <stdio.h> int main() { int k, c, l, n, m=0; for (k = 0; k < 3; k ++) { for (n = l = 0; (c = getchar()) != '\n'; l ++) { if (l == 0 && c == '-') { printf("Error!!負の数\n"); return 1; } if (l < 8) { if (c < '0' || c > '9') { printf("Error!!数字文字以外の入力\n"); return 1; } n = n * 10 + c - '0'; } } if (l == 0) { printf("Error!!改行のみの入力\n"); return 1; } m += n; } printf("合計は%d\n", m); return 0; }
116 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 03:37:24 ] fgetcの間違いなんじゃね?
117 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 03:41:17 ] 代入式を使う場合のヒント (FILENAMEはファイル名を示すものとする) if( (fp=fopen(FILENAME , "r")) == NULL ) 何かついているよね?fp=fopen() だけで、果たして通用するかにゃ〜? ( ^ω^) fpの中身で条件判定するにしても、何かあるよにゃ〜♪
118 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 03:43:10 ] 真である事を条件にするならfp=fopen()で通用するだろ。
119 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 03:51:46 ] 真:0以外 偽:0 これが全てじゃね?
120 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 03:53:52 ] コードが多くて申し訳ありません。 [1] 授業単元:画像処理演習 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8511.txt mypgm.hのコード:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8512.txt minutiae.cのコード:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8513.txt labeling.cのコード:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8514.txt 問題に用いる画像サンプル:www.uploda.org/uporg1904100.pgm.html [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:09年1月11日24:00まで [5] その他の制限:説明文が下手ですいません。C言語の基礎的な関数のみでお願いします。
121 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 03:55:58 ] 結局、文法上 while(式) のところを while(代入式) だと勘違いしていただけでしたとさ。
122 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 03:57:06 ] 違った、代入式じゃなくて条件式に訂正。
123 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 04:10:14 ] そもそも、ifだのwhileだのforだの、C言語に限ったことじゃないから プログラミングをお止めになった方がよろしいかと?思われているんだが。
124 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 04:13:15 ] >>56 >>62 >>63 >>64 >>67 >>69 >>75 >>83 >>89 >>90 >>105 >>108 >>113 >>117 >>123 お前が止めろw
125 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 04:13:56 ] != == < > <= >=のことなら比較演算子、それを使った式は比較式というほうが正確だよ。 whileやifの中身の意味で条件という言葉の用法もあるから混同しないで。 >>123 大抵のよその言語はコンパイルエラーになるから親切だ。
126 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 04:17:22 ] どこにC言語以外の話があったのかわからない
127 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 04:20:35 ] 123という書きこみ自体だけだな
128 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 04:21:40 ] だからぁ、議論(?)は止めて>>120 でもやろうぜ。 俺? 眠いからパス
129 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 04:23:23 ] どこの講師か知らんが、まじウザッ。while文も適切に使えない、教えられないで 教師なんてやるなよw
130 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 04:32:39 ] 思い込みの激しい>>129 に適切にwhileを教えることのできる教師なんていないだろうなw
131 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 04:33:55 ] 分かったからそういうスレでやれ
132 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 04:58:14 ] これからは、このスレでは while(代入式) でも良いそうですよ?w
133 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 07:35:14 ] ほっほっほ、麻呂の今朝の食事は、スパゲッティーミートクソースでおじゃるが、何でおじゃる? 麻呂は余計な口出しはしないでおじゃるよ。勝手に議論してたもう。 ただし、このスレのスレタイを読んで、スレ違いだと気づいて、それ相応のスレで 議論するでおじゃるよ。いつまでも譲らない二者で。第三者を巻き込まないでたもう。
134 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 07:50:10 ] >>78 それは括弧がついているんだが?w
135 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 07:53:13 ] >>134 代入式を真偽として扱うのがいやなわけじゃないんだな
136 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 08:54:13 ] >>101 アホか
137 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 08:59:23 ] みんな、落ち着けよ。 代入式が値を持つことを知らないCプログラマなんて、いるワケ無いだろ。
138 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 09:26:55 ] 今北産業
139 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 10:14:52 ] >>134 OKOK、じゃあ if( fp = fopen( 〜 ) ) printf("ファイルオープン成功\n"); にするよw 実用的なところだとassert( fp = fopen( 〜 ) )とかどうよw
140 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 10:25:58 ] j=10-i++ が代入式ではなく、条件式なんだってさー えーーーっ!?
141 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 10:28:48 ] >>140 Cの条件式が論理演算子を必要としないのは最初に習うだろ。
142 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 11:25:42 ] >>120 もっと他に情報ないの?
143 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 11:35:30 ] >139 > 実用的なところだとassert( fp = fopen( 〜 ) )とかどうよw そして NDEBUG を定義するとまともに動作しないプログラムができあがるわけだな。 assert 内で副作用のある式を評価しちゃ駄目。
144 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 11:55:59 ] pc11.2ch.net/test/read.cgi/tech/1230516307/395-399 やっぱり気持ち悪がられてるw
145 名前:139 mailto:sage [2009/01/03(土) 12:42:18 ] ('A`) たしかに、全然実用的じゃなかった いつもは>>78 だからなあ
146 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 12:43:33 ] なんで「文法上問題ない」はスルーなんだよw
147 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 14:08:39 ] >>137 でFAなんだがな みんなわかってるよな?
148 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 14:10:42 ] 暴れてるのがCプログラマじゃないとしたら?
149 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 15:53:58 ] >>120 cis.k.hosei.ac.jp/~wakahara/patrecX_11.pdf まず、「真マニューシャ」「偽マニューシャ」の定義がわからん。 下記では、"true minutiae"はエキスパートが抽出したマニューシャ、 "false minutiae"はアルゴリズムが抽出した点で、"true minutiae"に含まれて居ないもの。つまりハズレ。 books.google.co.jp/books?id=41dm6jorJkwC&pg=PA582&lpg=PA582&dq=%22true+Minutiae%22&source=bl&ots=ElmfGX78vh&sig=ociBxDMdbmnkqe-wO5e79vhcZM4&hl=ja&sa=X&oi=book_result&resnum=3&ct=result 「選別」と言うのは、minutiae.cの結果から、本来の定義のマニューシャだけを残すということのようだが、 pdfの18ページをみると「真マニューシャ」に含まれない端点の基準とかが分からない。
150 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 17:12:38 ] >>147 コンパイラの警告が見えない馬鹿ですね?w
151 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 17:13:45 ] >>150 警告がどうしたんだ?
152 名前:デフォルトの名無しさん [2009/01/03(土) 17:17:39 ] つべこべ言ってないで >>52 を正しく直してみろ!!
153 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 17:17:53 ] 最近は似非プログラマーがC言語を扱っているノカー、時代は変わったもんだな。 while文すらまともに使えないなんて、終わってますね。進路を変えな、今すぐ。 その程度じゃ人生を失敗するぞ。
154 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 17:22:06 ] >>152 正しいから、これ以上、直らないだろ。
155 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 17:28:58 ] >>153 さすが人生失敗してる人が言うと説得力が違うw
156 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 17:41:44 ] >>120 labelsetの処理はなんとかならんもんかね。 >>149 多分、>>120 の講義では指紋照合についてプログラムを書くということをやってるっぽい(ググった)。 ・指紋の線の端点だと確定できる点を真マニューシャ ・指紋の線の端点だと確定できない点を偽マニューシャ と定義してるくさい。 指紋認証だと、スキャナに指を押し付ける力加減により、スキャンする指の画像が変わってくる。 画像の境界線上にできる点を偽マニューシャと呼びたいたいのではないかと思う。 そこで、問題の意図としては、「その境界線をどうやって判断するのか?」を解かせようとしてるのかも (処理思いつかんが)。 つーか、ほとんど推理ゲーだな。
157 名前:156 mailto:sage [2009/01/03(土) 17:56:33 ] >>149 すまん。 境界線ではなく、同じラベル中で距離が近い点を全部消してるのかも。 どの程度の距離かは不明だけど。
158 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 21:57:05 ] >>157 稜線上の距離が基準だとすると、以下の二つの扱いが納得できない。 up2.viploader.net/pic3/src/vl2_090483.jpg up2.viploader.net/pic3/src/vl2_090484.jpg 下の点は、本当に消えるべき点なのだろうか?
159 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 23:08:03 ] 実用とほとんど関係の薄い問題を解かせて何が楽しいんだろ。教授の自己満足か。
160 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 23:10:21 ] >>159 技術ありき 実用にするかどうかはアイディア次第
161 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 23:12:16 ] >>159 パターン認識の実用がどんなか知らないが、これは指紋の照合では基礎なのでは?
162 名前:157 mailto:sage [2009/01/03(土) 23:39:52 ] >>158 申し訳ありません。 距離を基準とすると下の点は消えるべきではないですね。 取り下げさせていただきます。
163 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 00:02:47 ] >>162 依頼にも「同じ隆線上で近接して出現 したマニューシャは」云々と書いてあるし、なにかしてるはずだけど・・・ pdfに載ってる処理結果を見ると、他にも何か処理をしていなくては、辻褄が合わない。 それこそ境界線上の端点の除外とか。 工夫を考えろと言うことなのかな。
164 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 01:57:57 ] >>143 詳説もとめます。
165 名前:120 mailto:sage [2009/01/04(日) 02:03:11 ] 山ほど説明不足でホントにすいませんでした。マニューシャの定義などは、すべて下のファイルに入っています。 ただ、課題でHilditch.cを使うかは分かりません。 www1.axfc.net/uploader/He/link.pl?dr=4660528869&file=He_177945.zip (pass:1) マニューシャについては11のpdf、Hilditch.cをつかって,細分化するコードについては10のpdfに書いてあります。 丸投げでごめんなさい。
166 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 02:05:11 ] 訂正:www1.axfc.net/uploader/He/ の He_177945.zip です。(pass:1) 何度も迷惑かけてすいません・・・
167 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 02:12:06 ] >>164 >>143 ではないが、assert(expr)は、NDEBUGが#defineされているときにはexprが評価されない。 実装によるが、たいていマクロだから副作用がある式を評価させてはならない。 とりあえず、自分の環境のassert() (多分assert.hにでも書いてある)を読んでみるといいよ。
168 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 02:48:09 ] >>166 学校のサイトはもう見つけた。>>149
169 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 02:50:36 ] >167 一応補足。 C言語規格 9899:1999 7.2/1 によれば #include <assert.h> 時に NDEBUG が定義されている場合、assert は以下のように定義される。 #define assert(ignore) ((void)0) ということで、expr 部分(上だと ignore だが)全体が消滅する。 # ちなみに 7.2/2 では関数じゃなくてマクロで実装しろと規定されている。 そもそも assert とはプログラムのバグ(ロジックエラー)を引っかけるものであって、実稼働中に発生するようなエラーに対処するものではない。 ということで例えば VC++ だと Release ビルドでは既定で NDEBUG が定義されたりする。 結果、assert 内に副作用のある式を記述してしまうと、Debug ビルドと Release ビルドで挙動が異なるコードを生み出してしまう。
170 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 02:53:30 ] >169 != >167 で >169 では >164 に対する返答補足のつもり。
171 名前:デフォルトの名無しさん [2009/01/04(日) 03:07:44 ] HTMLテキストデータから数値(浮動小数点)のみを順に抽出して いきたいのですが、どういう風にすればよろしいでしょうか? ご教授ください。
172 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 03:10:41 ] >>1
173 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 03:10:42 ] >>171 HTMLテキストデータのサンプルくらい提示して欲しいもんだ
174 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 03:26:16 ] >>171 後付で条件足すなよ! #include<iostream> #include<iterator> #include<string> #include<cstdlib> #include<cctype> int main(){ std::string src; copy(std::istreambuf_iterator<char>(std::cin),std::istreambuf_iterator<char>(),back_inserter(src)); for(const char*s=src.c_str();;){ if(*s=='\0')break; if(std::isspace(*s))++s; char*next=const_cast<char*>(s); std::strtod(s,&next); if(s == next){++s;continue;} std::cout.write(s,next-s); std::cout << std::endl; s = next; } }
175 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 03:29:27 ] 2箇所訂正 #include<algorithm> が抜けているのでcctypeの下に追加 if(std::isspace(*s))++s; が空白1つにしか対応できていないので 任意個数の空白に対応するためにcontinueするする if(std::isspace(*s)){++s;continue;}
176 名前:デフォルトの名無しさん [2009/01/04(日) 04:54:08 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8516.txt [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限: 無期限 [5] その他の制限:特にはありません。よろしくお願いします。
177 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 05:25:09 ] >>176 一応元のコードをベースにしたけどこんなんでおk? #include <stdio.h> #include <math.h> int main(void) { { int i, n, Limit; n = 0x7FFFFFFF; for(;;--n){ Limit=(int)sqrt(n); for (i=Limit;i>1;i--) if (n%i == 0)break; if (i==1)break; } printf("int型の最大の素数は%dです\n",n); }{ unsigned int i, n, Limit; n = 0xFFFFFFFF; for(;;--n){ Limit=(unsigned int)sqrt(n); for (i=Limit;i>1;i--) if (n%i == 0)break; if (i==1)break; } printf("unsigned int型の最大の素数は%uです\n",n); } return 0; }
178 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 05:32:48 ] INT_MAXとかを使った方がいいと思う
179 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 05:42:11 ] >>178 それを使うか悩んだんだけど、limits.hを授業でやったか分からない。 それとintのサイズが32bitであると問題文でわざわざ定義されている。 そんな感じで、今回はマジックナンバーを決めうちで実装した。
180 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 06:24:02 ] 麻呂のクソースではおじゃるね、まずそれぞれの変数に-1を入れてやんよ? さすれば、何ビットだろうとその変数が扱える最大のFFFF・・・になるでおじゃるし。 え?邪道?それがクソースでおじゃっ!
181 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 06:32:22 ] unsigned int uint=-1; signed int sint=uint>>1 ; printf("uint:%u \nsing:%d\n",uint,sint); きんもぉ〜★なクソースでおじゃっ
182 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 07:06:07 ] >>176 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8517.c
183 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 07:36:40 ] [1] 授業単元:アルゴリズムの基礎および演習 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8518.txt [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 2009年1月10日12:00まで [5] その他の制限:特にありません。 よろしくお願いします。
184 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 09:47:19 ] 丸投げキター! 1段1次のRunge-Kuttaと称してEuler法で解いてやりたい
185 名前:176 mailto:sage [2009/01/04(日) 10:19:18 ] >>177 >>182 ありがとうございます。 助かりました。
186 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 11:52:08 ] >>120 (2)だけ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8519.txt (1)は、結局、求められているものが分からない。 ろだからファイル消してるくらいだから、もう此処見てないかも知れないけど・・・
187 名前:C初心者 [2009/01/04(日) 12:12:38 ] 1] 授業単元: プログラミング演習 [2] 問題文(含コード&リンク):ポインタを用いた二分探索木の作成 [3] 環境 [3.1] OS: (Windows/Linux/等々) [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限:無期限 [5] その他の制限:データはファイルから読み込むものとしています。 他のスレでも質問させてもらったのですがどうしてもわからないので、ここで質問させて頂きます。 宿題ではあったのですが、もう期限は過ぎています。 ただどうしても知りたいのでどなたかお願いします。あとオススメの参考書等教えていただけると嬉しいです。
188 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 12:31:13 ] >>187 oku.edu.mie-u.ac.jp/~okumura/algo/ >『C言語による最新アルゴリズム事典』
189 名前:C初心者 [2009/01/04(日) 17:37:39 ] >>188 ありがとうございます。 早速注文しました。 プログラムはわかりませんか??
190 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 17:40:01 ] >>189 今すぐ買って来いバカ
191 名前:おねがいしますw [2009/01/04(日) 17:44:13 ] [1] 授業単元: アルゴリズムデータ構造U [2](コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8520.txt 問題文 [1]list3.cの演習の部分を埋め、完成させ動作を確認せよ [2]逆順に整列入力するようにプログラムを作り変えよ [3]環状リストの処理をダミーノードを設定せずに作ってみよ [4]双方向リストの処理をダミーノードを設定せずに作ってみよ 問題は以上です お願いします [3] 環境 [3.1] OS: (Windows) [3.2] コンパイラ名とバージョン: (gcc) [3.3] 言語: (C言語) [4] 期限: ([1月6日9:00までに願いします] )
192 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 21:57:00 ] >>191 元からバグってるとかねーだろ。
193 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 22:15:05 ] そんなこと無いよ。deleteに小さい値渡すとsegfaultになるとか絶対ないよ
194 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 22:22:56 ] そんなこと無いよ。insertに先頭と同じ値を渡してもリストは壊れるとか絶対ないよ
195 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 22:32:06 ] 見辛いし、全部作り変えたほうがいいじゃんwww
196 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 00:10:56 ] >>189 リンク先のtree.cってソースがそれだろ?
197 名前:デフォルトの名無しさん [2009/01/05(月) 00:20:19 ] [1] 授業単元:プログラム [2] 問題文(含コード&リンク): 文字データの入力と出力 Visual Studioを用いてConsoleApplicationを作成せよ。 以下の条件を満たすものを作成する事。 最大登録数10名の名前と年齢を入力し入力完了後に一覧をコンソールに出力させる事。 登録数は任意に決定出来、10名を超えた場合は再入力させる事。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) [3.3] 言語:C [4] 期限: 1月5日6時まで [5] その他の制限: 構造体習い始めた程度の能力
198 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 00:52:18 ] [1]授業単元:C言語 [2]問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8522.txt [3]環境 [3.1]OS:windows XP [3.2]コンパイラ名: visualC++2005 [3.3]言語:C [4]期限:2008年1月5日午前10時 [5]特になし。
199 名前:197 ◆brUNnJvSqY [2009/01/05(月) 01:10:31 ] >>197 訂正 [1] 授業単元:プログラム [2] 問題文(含コード&リンク): 【文字データの入力と出力】 Visual Studioを用いてConsoleApplicationを作成せよ。 以下の条件を満たすものを作成する事。 最大登録数10名の名前と年齢を入力し入力完了後に一覧をコンソールに出力させる事。 登録数は任意に決定出来、10名を超えた場合は再入力させる事。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン: visualC++2005 [3.3] 言語:C [4] 期限: 2009年1月5日6時まで [5] その他の制限: 構造体を習い始めた程度の能力
200 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 01:15:44 ] >>198 #include <stdio.h> int main() { printf("sum { 1, 3, ... , 99 } = %d\n", 50 * (1 + 99) / 2); printf("sum { 2, 4, ... , 100 } = %d\n", 50 * (2 + 100) / 2); return 0; }
201 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 01:53:41 ] >>199 /* ちょっと気持ち悪く書いてみたよ */ #include <stdio.h> #include <stdlib.h> #include <string.h> #define ENTER_MAX 10 #define NAME_LEN 256 #define AGE_LEN 4 #define BUFF_SIZE (NAME_LEN + AGE_LEN + 1) int main(void) { char table[ENTER_MAX][BUFF_SIZE]; char buff[BUFF_SIZE]; int n; int i; do { printf("登録数 (1 から %d) >> ", ENTER_MAX); } while ((n = atoi(fgets(buff, BUFF_SIZE, stdin))) > ENTER_MAX); for (i = 0; i < n; ++i) { int len; printf("名前 >> "); fgets(table[i], NAME_LEN, stdin); len = strlen(table[i]); printf("年齢 >> "); fgets(&table[i][len + 1], AGE_LEN, stdin); table[i][len - 1] = ','; table[i][len] = ' '; } for (i = 0; i < n; ++i) printf("%s", table[i]); return 0; }
202 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 02:09:03 ] >>186 親切な解答、ありがとうございました。1はまた考えてみます。 失礼しました。
203 名前:197 ◆brUNnJvSqY mailto:sage [2009/01/05(月) 02:12:10 ] >>201 ありがとうございます。 fatal error C1010: プリコンパイル ヘッダーを検索中に不明な EOF が見つかりました。'#include "stdafx.h"' をソースに追加しましたか? という、エラーが出てしまいます。回避法はありますでしょうか? 出来れば、初心者に毛が生えた程度のプログラムで作っていただけると有りがたいです。
204 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 02:13:16 ] >>203 #include <stdafx.h> をソースの頭に書け あと氏ね
205 名前:デフォルトの名無しさん [2009/01/05(月) 02:32:12 ] [1] 授業単元: Cプログラミング [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8523.txt [3] 環境 [3.1] OS: win [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:c [4] 期限: 朝まで [5] その他の制限: よろしくお願いします
206 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 02:47:14 ] >>205 /* 意味が良くわからないけどこういうことかな */ #include <stdio.h> #define N 1024 const char const *str = "#include <stdio.h>\n\nint main() {\nint k, c, n, i;int l;int m = 0;\n\ \tfor (k = 0; k < 3; k ++) {\n\t\tfor (n = l = 0;\n\t\t\ (c = getchar()) != '\\n';l++) {\n\t\t\tif (l == 0 && c == '-') {\n\t\t\tprintf(\"Error!!負の数\\n\");\ \n\t\treturn 1;\n\t}\n\tif (l < 8) {\n\t\tif (c < '0' || c > '9') {\n\ \t\tprintf(\"Error!!数字文字以外の入力\\n\");\n\treturn 1;\n}\n\ \tn = n * 10 + c - '0';\n\t}\n}\n\tif (l == 0) {\n\tprintf\ (\"Error!!改行のみの入力\\n\");\nreturn 1;\n}\n\tm += n;\n\t}\n\ \tprintf(\"合計は%d\\n\", m);\nreturn 0;\n}\n"; int main(void) { int x[N], i; for (i = 0; str[i]; ++i) x[i] = str[i]; return 0; }
207 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 03:23:15 ] ちょ、そのクワイン的発想は何w
208 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 03:36:17 ] 字義通りだと、こうだろ? むしろ、他の解釈を聞かせて欲しい。
209 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 03:42:07 ] ビルド済みのバイナリかソースのどちらかだろうとは考えた
210 名前:C初心者 [2009/01/05(月) 11:00:16 ] >>196 すいません、リンク先に行けなくて見れてないです。
211 名前:デフォルトの名無しさん [2009/01/05(月) 12:52:12 ] [1] 授業単元: c [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8524.txt [3] 環境 [3.1] OS: windows [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:c [4] 期限:夕方 [5] その他の制限: よろしくです
212 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 13:00:26 ] >>211 何周目だよ。死ねよ。
213 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 13:16:18 ] >>1 > 気に入らない質問やその他や発言はスルーの方向で。 も読めない基地外って何?別にお前個人を指定、特定して答えろなんて 誰も言って無いし、答えられない低レベル役立たずのクズになんて頼んでもいないだろ。
214 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 13:21:06 ] スレタイも読めないようだな。ここで丸投げの宿題が書き込まれるのは 分かりきっていることなのに、自分が気に入らないとファビョって 訳も分からないクレームをつける奴って何?そんなんだから 一生、成功しないままこの世を去るんだろ?w そういうのって簡単に言うと「負け組み、社会の底辺」って言うんだぜ? ほれ、お前と同じ世代、同じ学校に通っていたけど自分が見下していたあいつ、 今何をしてる?少なくともお前以上の出世はしただろうねw お前はいつまでも、こんなスレで引きこもりながら陰湿なレスをし続けるだけ。 人生終わってら。
215 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 13:44:35 ] >>211 /* たぶん大丈夫だと思う */ #include <stdio.h> #include <stdlib.h> #include <math.h> #define L 3 #define N 8 #define M (N * sizeof(int)) int main(void) { int *x[L], total = 0, i; for (i = 0; i < L; ++i) { int n; x[i] = (int *)malloc(M); printf(" input number >> "); if ((n = atoi(fgets((char *)(x[i]), M, stdin))) > (int)pow(10, N)) printf("%d\n", n %= (int)(pow(10, N))); if (n < 0 || (n == 0 && x[i][0] != '0')) { fprintf(stderr, "Error!\n"); return 1; } total += n; } printf("answer = %d\n", total); return 0; }
216 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 13:45:57 ] 下から9行目の printf("%d\n", n %= (int)(pow(10, N))); は n %= (int)(pow(10, N)); に直して。
217 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 14:17:06 ] >>211 #include <stdio.h> int input() { char c;int a = 0;int cnt = 0; while(1) { c = getchar(); if(c == '\n') break; if('0'<=c && c<='9') a = a*10 + c-'0'; else cnt=9; cnt++; } if(cnt==0 || cnt>=9) return -1; else return a; } // int main(void) { int a[3],i; printf("8桁までの整数を3つ入力してね\n"); for(i=0;i<3;i++) { a[i] = input(); if(a[i]<0) { fprintf(stderr,"Error : 8桁までの整数を入力してくださいませ\n"); return -1; } } printf("合計 %d + %d + %d = %d\n",a[0],a[1],a[2],a[0]+a[1]+a[2]); return 0; }
218 名前:デフォルトの名無しさん [2009/01/05(月) 14:19:49 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク): ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8525.txt [3] 環境 [3.1] OS: Windows XP [3.2] コンパイラ名とバージョン: Visual Stdio 2005 [3.3] 言語: C [4] 期限: 1/5 21:00 よろしくお願いします。
219 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 14:29:53 ] [1] 文字列の格納、比較 [2] kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8527.zip (設問もzipに入っています。) このプログラムをポインタとstrchr関数を使わない形に書き換えていただけないでしょうか。 あと、コメントアウトでややこしいところ、ループの箇所等に説明をつけていただけるとありがたいです。 [3] 環境 [3.1] WinXP [3.2] Borland C++ Compiler 5.5 [3.3] 言語:C言語 [4] 期限:[2008年1月15日00:00まで] [5] 原則的にgoto 文は使用しない。 do while ループに関してはできるかぎり使用せず、while に統一する。 ※キーボードからの入力は、scanf 関数およびgets 関数を使用せず、getchar 関数または、 fgets 関数を使用すること。
220 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 14:33:13 ] >>213
221 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 17:03:15 ] >>219 しね
222 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 18:22:05 ] >>218 こんな感じでいかが? kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8528.txt
223 名前:デフォルトの名無しさん [2009/01/05(月) 19:26:03 ] >>211 もう前スレで解答してあるはずだが
224 名前:218 [2009/01/05(月) 20:03:05 ] >>222 自分のミスで問題に一部書き忘れをしてしまいましたが、ここまでしていただければ十分です ありがとうございました
225 名前:デフォルトの名無しさん [2009/01/05(月) 22:33:58 ] [1] 授業単元: 計算機工学 [2] 問題文(含コード&リンク): 下記 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C [4] 期限: 2009年01月15日19:00まで [5] その他の制限: なし ■問題 指定した部品数で建てられる家の最大面積を求めるプログラムを作成して下さい。 窓、ドア、壁の3タイプの部品があり、部品の長さは2m。 次のルールを満たさなくてはいけません。 1)1面にはドアは1つまで 2)家には少なくとも1つのドアが必要 3)ドアの両脇は壁部品でなくてはならない 4)窓の両脇は壁部品でなくてはならない 5)家は四角型 6)部品はそれぞれ50個が上限 int MaxArea(int NumWall,int NumWin,int NumDoor) このように各部品の数を指定し、面積を返す関数を作ってください。 例) MaxArea(8,0,1) = 12 --- | | -D-
226 名前:デフォルトの名無しさん [2009/01/05(月) 23:14:44 ] 文字型配列を、"OKINAWA"を初期値として宣言し、文字列を 反転させて、"AWANIKO"と出力するプログラムを作りなさい。
227 名前:デフォルトの名無しさん [2009/01/05(月) 23:25:18 ] >>226 char str[]="OKINAWA"; reverse(str); printf("%s",str);
228 名前:226 mailto:sage [2009/01/05(月) 23:32:05 ] 自己解決しました。
229 名前:デフォルトの名無しさん [2009/01/05(月) 23:35:47 ] >>226 for使っての解き方誰かわかりますか?
230 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 23:38:45 ] >>225 Google Code Jam 2004のHousePartyってヤツだな。
231 名前:デフォルトの名無しさん [2009/01/05(月) 23:44:51 ] >>229 reverse(char *str) { int i; for(i=0; i<len(str)/2; i++) { char c=str[i]; str[i]=str[len(str)-i-1]; str[len(str)-i-1]=c;} }
232 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 23:48:51 ] [1]授業単元:C言語 [2]問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8531.txt [3]環境 [3.1]OS:windows XP [3.2]コンパイラ名: visualC++2005 [3.3]言語:C [4]期限:2009年1月6日午前8時 [5]特になし。
233 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 00:16:37 ] >>232 for(int i=0; i <= 100 ; i++ )if( i * ( i + 1 ) / 2 >= N ) { printf("%d\n",i); break;} while( i * ( i + 1 ) / 2 < N ) { i++; }
234 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 00:17:14 ] whileの方の初期化忘れたw
235 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 00:18:23 ] >>232 #include<stdio.h> int main() { int i=0, n; scanf("%d", &n); while ((n-=++i)>0) /* または for(;(n-=++i)>0;) */ if (i==100) {printf("100まで加算してもだめだった\n"); return 0;} printf("%dまで加算すればおk\n", i); return 0; }
236 名前:デフォルトの名無しさん [2009/01/06(火) 00:19:31 ] >>232 int func_for(int n) { int i;for(i=1;i<=100;i++) if(i*i+i >= 2*n) return i; return -1; } int func_while(int n) { int i=0; while(++i<=100) if(i*i+i >= 2*n) return i; return -1; } main() { int i,ans;scanf("%d",&i);ans = func_for(i);if(ans>=0) printf("answer = %d\n",ans); else printf("not found\n"); }
237 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 01:09:51 ] >>225 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8532.txt 一応、例題の計算結果には合致するようだが、理屈は分からん。
238 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 01:11:59 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8533.txt [3] 環境 [3.1] OS:windows XP [3.2] コンパイラ名とバージョン:visual C++ 2008 Express Edition [3.3] 言語:C言語 [4] 期限:1月9日 [5] その他の制限:特にありません。 よろしくお願いします。
239 名前:デフォルトの名無しさん [2009/01/06(火) 02:18:23 ] [1]プログラミング [2]int 型(符号つき32 ビット整数)および、unsigned int 型(符号なし32 ビット整数)のそれぞれの最大の素数を求めよ。 [3]環境 [3.1] OS:WindowsXP [3.2] コンパイラ名bcc [3.3] 言語:C言語 [4]特になしですが早めで。 [5]制限:エラトステネスを用いずに素数を求める。 どうか、よろしくお願いします。
240 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 03:38:59 ] >>239 >>177 あたりでどう?
241 名前:デフォルトの名無しさん [2009/01/06(火) 04:40:34 ] >>240 みのがしてました。ありがとうございますです。
242 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 08:19:55 ] スイマセン、どなたか>>200 の (99+1)/2 の処理の意図を教えて頂けないでしょうか・・後から質問でスイマセン。
243 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 08:32:30 ] >>242 等差数列の和=項数*(初項+末項)/2
244 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 08:44:07 ] >>239 >>182 辺りが良いでおじゃるよ?
245 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 09:03:46 ] >>238 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8534.txt
246 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 10:03:14 ] >>242 ttp://www.kwansei.ac.jp/hs/z90010/sugakua/suuretu/tousasum/tousasum.htm
247 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 12:31:15 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク):氏名と年齢を扱うプログラムを作りたい。これらのデータはリスト構造を用いて管理したいので、 1.リスト構造の要素となる構造体の型宣言を行え 2.上記構造体によって構築されたリスト構造の適切な箇所に新しい要素を追加する関数を作成せよ なお、以下の点も守ること ・リスト構造は単方向リストとすること ・リスト構造のデータは年齢順に並ぶようにすること ・リスト構造はポインタ変数rootから始まるようにすること ・関数は新しい要素を受け取って、それをリスト構造に追加する形式にすること ・変数rootはグローバル変数とし、関数に渡さなくてもよい [3] 環境 [3.1] OS:windows XP [3.2] コンパイラ名とバージョン:visualC++2005 [3.3] 言語:C/C++ [4] 期限:1月7日12:00まで [5] その他の制限:特になし よろしくお願いします。
248 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 12:38:29 ] 麻呂のクソースを改変するでおじゃるよ
249 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 15:05:44 ] [1] 授業単元:C言語プログラミング [2] 問題文(含コード&リンク):ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8535.txt [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:VC2005 [3.3] 言語:C++ [4] 期限:2009/1/8 23:00まで [5] その他の制限:for,if等基本的なものを使う。strは禁止。 それではよろしくお願いします。
250 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 15:08:14 ] >strは禁止。 str〜系関数のこと? 最初std::stringかと思ったが・・・
251 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 16:35:41 ] [1] 授業単元:プログラミング [2] 問題文 Step 1. float型配列の先頭アドレスを受け取り,その配列内から最大の値を探して, それを関数値として戻す関数 float max(float data[], int n) を定義せよ.ここで,nは配列data[]に入っている有効なデータの数(有効な配列要素は,0〜n-1)である. またデータに負の値はないものとする. Step 2. main()関数内で,要素数100程度のfloat型配列を宣言し,課題11-2で作成したデータ入力関数のinput()関数を再利用してデータを配列に入力するようにプログラムする. 次に,Step1で作成した関数をmain()関数内呼び出して最大値を表示せよ. [3] 環境 [3.1] OS:Windows vista [3.2] コンパイラ名とバージョン:VC2008 [3.3] 言語:C++ [4] 期限:2009/1/8 23:00まで [5] その他の制限 特になし よろしくお願いします
252 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 17:01:44 ] >>251 問題文も読まずに丸投げとは・・・
253 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 17:08:38 ] まだスレタイも読めない奴がいるのか
254 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 17:12:52 ] [1] 授業単元:プログラミング演習U [2] 問題文: 以下の仕様で収支残高管理プログラムを作成せよ.ただし,残高処理の関数を独自で定義すること. その際,ファイルポインタについてはグローバル変数として宣言しても良い. 初期状態を除いてプログラム実行時に既存の残高額のファイル(balance.txt)を読み込む. ファイルが存在する場合に限り,balance.txt)を読み込む処理をすれば良い. 各処理を選択するメニュー画面を残高額とともに表示する.可能であれば,残高は桁区切りカンマを用いて表示すること. 終了時にその時点の残高額をファイル(balance.txt)に書き込む. ヒント:最初にbalance.txtを読み込みモードで開いて読み込んだ後は,即座にファイルを閉じ,最後の書き込み時に,改めて書き込みモードで開いて同名のファイルに書き込みをすれば良い. また,ファイルからの金額の読み込みにはfscanfを,書き込みにはfprintfを使用すると良い.
255 名前:254 mailto:sage [2009/01/06(火) 17:15:48 ] >>254 続き [実行例] ***** 収支残高管理 ***** 残高は \0 です. [1] 収入 [2] 支出 [99] 終了 処理を選択してください:1 収入金額:12345 ***** 収支残高管理 ***** 残高は \12,345 です. [1] 収入 [2] 支出 [99] 終了
256 名前:254 mailto:sage [2009/01/06(火) 17:16:27 ] >>255 続き 処理を選択してください:2 支出金額:20000 ***** 収支残高管理 ***** 残高は \-7,655 (赤字)です. [1] 収入 [2] 支出 [99] 終了 処理を選択してください:99 終了します. [3] 環境 [3.1] OS:Windows XP [3.2] コンパイラ名とバージョン:Microsoft Visual Studio.Net 2003 [3.3] 言語:C++ [4] 期限:2009年1月8日 [5] その他の制限:特になし よろしくお願いします。
257 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 17:21:54 ] >>253
258 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 17:38:13 ] >>251 #include<iostream> #include<algorithm> float max(float data[], int n){ if(n<=0) return -1.0; return *std::max_element(data, data+n); } int input(float data[], int data_num_max){ int data_num; for(data_num=0;data_num<data_num_max;){ float value; if(!(std::cin >> value)) break; data[data_num++]=value; } return data_num; } int main(void){ float data[100]; int data_num, data_num_max=sizeof(data)/sizeof(data[0]); data_num=input(data, data_num_max); std::cout << max(data, data_num) << std::endl; return 0; }
259 名前:デフォルトの名無しさん [2009/01/06(火) 18:26:57 ] [1] 授業単元: プログラミング入門演習 [2] 問題文(含コード&リンク): 複数の整数のうち、指定した数で割り切れる整数の個数を求めるプログラムを作成せよ。 入力に関して キーボードから入力する整数の個数を入力し(最大で128に対応すること)改行する。 次に指した数の整数をスペース1つずつ開けて1行で入力し、改行する。 最後に1つ整数を入力し、改行する。この最後に入力した値で割り切れるかどうか 判定する。この一連の入力時,例題や解答例のような入力を保す文字等は決して表示 しないこと。 出力に関して 割り切れる整数の個数を数値のみ(+改行)を出力する。指定した数値・改行以外の 文字等の出力は一切行わないこと。 [3] 環境 [3.1] OS: Windows Vista [3.2] コンパイラ名とバージョン:Visual Stdio 2008 [3.3] 言語:C言語 [4] 期限: 1/8 12:00 [5] その他の制限:C言語の基礎を習っています。 よろしくお願いします
260 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 19:07:31 ] >>250 説明不足でごめんなさい strlen関数のことです #include <stdio.h> void main(){ char moji[100]; int i=0,x; printf("文字列を入力:"); gets(moji); printf("\n\n"); while(moji[i] != '\0'){ i; i++; } x=i+1; printf("文字列の長さ=%d",x); printf("\n\n"); } という求め方を習ったのですが、strlen関数は習っていないので・・・
261 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 19:38:19 ] >>260 C++?
262 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 19:46:33 ] >>243 >>246 ありがとうございました 助かりましたw
263 名前:つばめ [2009/01/06(火) 20:35:24 ] 分からない問題があります。 正の整数nを入力し、nの約数の和を表示するプログラムを作る問題です。 初心者なので、宜しくお願いします。
264 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 20:40:56 ] 一つの整数の約数って・・・・1からnまで全部足せばいいのか?w
265 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 20:52:19 ] >>263 #include <stdio.h> int sum(int n){ return n == 0 ? 0 : n + sum(n - 1); } int main(int n){ return scanf("%d", &n), printf("%d\n", sum(n)); }
266 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 20:55:10 ] 約数の意味がわからないアホがここで何してんの?
267 名前:265 mailto:sage [2009/01/06(火) 20:56:12 ] アッー >>264 に騙された
268 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 21:00:21 ] >>263 #include <stdio.h> int main(void) { int i, n, sum; scanf("%d", &n); for(i=1,sum=n; i<n; i++) if(!(n%i)) sum += i; printf("%d", sum); return 0; }
269 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 21:14:41 ] >>259 #include<stdio.h> int main(void){ int data[128], data_num; int i, div; scanf("%d", &data_num); for(i=0;i<data_num;i++) scanf("%d", &data[i]); scanf("%d", &div); for(i=0;i<data_num;i++) if(data[i]%div==0) printf("%d\n", data[i]); return 0; }
270 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 21:17:12 ] 表示するのは個数だろ
271 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 21:27:20 ] >>261 返事遅くなって毎度毎度すいません・・・ C++です
272 名前:つばめ [2009/01/06(火) 21:31:50 ] 質問回答ありがとうございます。 C++ではなく、C言語の方です。
273 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 21:38:08 ] >>270 このツンデレが!
274 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 21:39:56 ] なんでもツンデレ言うアホにはうんざりだ
275 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 21:43:58 ] じゃあ世話焼きで俺のことが大好きな妹で
276 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 21:59:37 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8536.txt [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン: visualc++2005 [3.3] 言語:C [4] 期限:2009年1月7日AM7時 よろしくお願いします
277 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 22:06:46 ] [1] 授業単元: 情報処理応用 [2] 問題文(含コード&リンク): DirectShowを用いてtest.aviなどファイルから再生している動画をout.aviなど別ファイルとして保存する [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン: VC++2008 [3.3] 言語: C++ [4] 期限: 1月7日 [5] その他の制限: スレ違いかもしれませんができればお願いします
278 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 22:08:05 ] >>276 #include <stdio.h> int main(void) { int i, j = 0; while (j < 2 && scanf("%d", &i) != EOF) { if (i < 0) { puts("negative value"); j++; } else { j = 0; printf("%d\n", 2*i); } } return 0; }
279 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 22:12:58 ] [1] 授業単元:アルゴリズムの基礎および演習 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8518.txt [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 2009年1月10日12:00まで [5] その他の制限:特にありません。 よろしくお願いします。
280 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 22:26:15 ] >>279 1. kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8540.txt 2. kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8543.txt
281 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 23:07:11 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8538.txt [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン: visualc++2005 [3.3] 言語:C [4] 期限:2009年1月7日AM9時 よろしくお願いします
282 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 23:10:01 ] >>279 3. kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8544.txt 4. kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8545.txt
283 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 23:29:31 ] >>281 pc11.2ch.net/test/read.cgi/tech/1229424329/601
284 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 23:57:36 ] >>283 これを利用しろということですか?
285 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 00:04:29 ] >>278 ありがとうございます ちなみにfor文の方はどうなっているのでしょうか?
286 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 00:11:58 ] [1] 授業単元:C言語 [2] 問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8546.txt [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:09年1月7日24:00まで [5] その他の制限:丸投げですいません。基礎的な関数のみでよろしくお願いします。
287 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 00:14:42 ] >>285 #include <stdio.h> int main(void) { int i, j = 0; for (;j < 2 && scanf("%d", &i) != EOF;) { if (i < 0) { puts("negative value"); j++; } else { j = 0; printf("%d\n", 2*i); } } return 0; } こんな感じでどうかな
288 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 01:03:59 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8547.txt [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: VC++2008 [3.3] 言語: C [4] 期限: 1月7日 [5] その他の制限: 特になし よろしくお願いします
289 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 01:10:06 ] >>288 課題7-3がないと無理
290 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 01:17:22 ] >>289 無視してかまわないです 追記 データ入力数は最大のmax個に達するか,負値が入力されるまでデータ入力を繰り返すものとする
291 名前:デフォルトの名無しさん [2009/01/07(水) 01:21:38 ] [1] 授業単元:計算機工学 [2] 問題文(含コード&リンク):下記 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: VC++2008 [3.3] 言語: C [4] 期限: 1月15日 [5] その他の制限: 特になし ■ 検索問題 データ数10万 ランダムな対象を1万回検索する 先頭から検索すると平均で1000秒かかった 高速化するにはどうしたらよいか ソートされてる場合とされてない場合のそれぞれについて答えよ
292 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 01:26:38 ] >>291 ソートされてない場合 まずソートする、 このとき オーダーが n log になるようなまともなソートを使う これを二分探索する ソートされてる場合 二分探索する
293 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 01:27:09 ] オーダーは n * log (n) ね
294 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 01:28:24 ] >>286 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8548.txt
295 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 01:31:32 ] >>288 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8549.txt
296 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 01:42:34 ] >>291 それは本当にプログラミングの課題なのか? 考察ではなく実際に試したとしたら、116日ほどかかった計算になるんだが
297 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 01:42:55 ] >>295 ありがとうございます
298 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 01:54:29 ] >>249 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8552.txt
299 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 02:31:06 ] [1] 授業単元:Cプログラミング [2] 問題文(含コード&リンク): キーボードから入力した整数と小数(それぞれ1つずつ)を乗算した結果を表示するプログラムを、 ポインタによる間接参照演算子を用いて作成せよ。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:1月7日24時 [5] その他の制限: 入力、乗算、表示部分全てでポインタを用いる よろしくお願いします。
300 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 02:50:01 ] >>296 その発想はなかったわ。
301 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 03:09:50 ] >>299 設問者の意図がよく分からんが、こういうことか #include <stdio.h> int main(void) <% char buf<:256:>; int n; double d; int *np = &n; double *dp = &d; printf("input interger number: "); fgets(buf, 256, stdin); sscanf(buf, "%d", np); printf("input decimal number: "); fgets(buf, 256, stdin); sscanf(buf, "%f", dp); printf("%d times %f equals %f.\n", *np, *dp, *np**dp); %>
302 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 03:56:04 ] 宿題出てるんですがよくわかりません よろしくお願いします 次のように、整数値を表すクラスを設計する データメンバ x:xの座標(ただし 0-1000とする) y:yの座標(ただし 0-1000とする) z:zの座標(ただし 0-1000とする) メンバ関数 void setX(int a): xの座標を設計する(範囲外の値は、error messageを出力する) void setY(int b): Yの座標を設計する(範囲外の値は、error messageを出力する) void setZ(int c) Zの座標を設計する(範囲外の値は、error messageを出力する) int getX(): Xの座標値を得る int getY(): Yの座標値を得る int getZ(): Zの座標値を得る 結果は、次のように表示する Please Input X 3 Please Input Y 1000067 The value of Y is a mistake, Please input Y again! 5 Please Input Z 7 The result is: (3,5,7)
303 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 04:01:54 ] >>302 テンプレ嫁
304 名前:デフォルトの名無しさん [2009/01/07(水) 09:05:19 ] [1] 授業単元:Cプログラミング [2] 問題文(含コード&リンク):下記 [3] 環境 [3.1] OS: WindowsVista SP1 [3.2] コンパイラ名とバージョン:StadyC [3.3] 言語: C [4] 期限: 2009年1月7日 21時まで [5] その他の制限: 特になし 『ジョーカーを除くトランプ52枚(1~13×4種)からランダムに5枚を抜き出した時、 ・ワンペア(同じ数字が2枚) ・ツーペア(同じ数字が2枚のものが2組) ・スリーカード(同じ数字が3枚) ・ストレート(5枚連続した数値、[10,11,12,13,1]や[1,2,3,4,5]はOKだが[12,13,1,2,3]など1をまたぐケースはNG) ・フラッシュ(5枚とも同種) ・フルハウス(ワンペアとスリーカードの組み合わせ) ・フォーカード(同じ数字が4枚) ・ストレートフラッシュ(ストレートとフラッシュの組み合わせ) それぞれの役が発生する確率(実際には試行した回数)をモンテカルロ法により求めるプログラムを作成する。 ただし、上位(記載が下にあるもの)の役と下位の役を同時に満たす場合は上位の役を優先する。 因数にポインタを含む関数を適当に作成し、利用すること。 メイン関数直下での処理はできるだけ避けることが望ましい 入力に関して キーボードから、試行回数(+改行のみ入力する)。 最大でもint型に収まる数値とする。 このとき、入力を促す文字などは決して表示しないこと。 出題に関して 試行したうち、上記の8つの役の成立回数(+改行)のみワンペアから順に1行ずつ出力(計8行)。 指定した数値・改行以外の文字などの出力は一切行わないこと。 』
305 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 09:06:33 ] >>304 マルチ死ね
306 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 09:11:56 ] >>305 >>1
307 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 09:23:49 ] >>280 ありがとうございます。
308 名前:304 mailto:sage [2009/01/07(水) 09:26:40 ] なんとか自力で出来ました どうもお手数おかけしました
309 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 11:08:04 ] >>300 エンジニアにむいてないな、オマエ。
310 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 11:10:14 ] >>306
311 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 11:27:55 ] >>310 >>1
312 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 11:27:59 ] >>304 引数を「いんすう」と読んでる教育機関なんか存在しないんじゃね?
313 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 11:28:11 ] >>311
314 名前:回答する気もないくせに居座るだけの無能、粘着基地外 [2009/01/07(水) 11:35:04 ] 313 名前:デフォルトの名無しさん 投稿日:2009/01/07(水) 11:28:11 >>311
315 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 11:36:28 ] >>312 そこから考えると、 コイツは前のスレッドで同じ宿題二度投げてるやつじゃね?
316 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 11:36:35 ] >>314
317 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 11:36:44 ] >>314 >>1
318 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 11:38:12 ] >>304 pc11.2ch.net/test/read.cgi/tech/1231180205/128
319 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 11:43:13 ] >>304 detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1422008424
320 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 11:52:44 ] マルチ先を貼られた途端におとなしくなった。
321 名前:デフォルトの名無しさん [2009/01/07(水) 12:00:17 ] >>317
322 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 12:01:14 ] >>321
323 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 12:01:20 ] >>319 うわぁ〜〜〜、質問する側もどうかと思うが、それを見つけてくる粘着基地外暇人も きめぇ〜〜〜
324 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 12:01:40 ] >>323 >>1
325 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 12:34:32 ] 巡回先が複数あるやつは多いだろ 特に質問系のスレは
326 名前:デフォルトの名無しさん [2009/01/07(水) 13:13:30 ] [1] 授業単元: プログラミング [2] 問題文(含コード&リンク):下記 [3] 環境 [3.1] OS: Windows Vista [3.2] コンパイラ名とバージョン:Visual Stdio 2008 [3.3] 言語:C言語 [4] 期限: 1/8 12:00 [5] その他の制限:なし。 中央値を求める関数を作成し、その関数を使用して中央値を出力する プログラムを作成せよ。関数は下記の通りとする。 int median(int *in,int num) in 複数の整数値が格納された配列(先頭)ポインタ num 入力値の数 戻り値 中央値 入力に関して キーボードから入力する整数の個数を入力し(最大で128に対応すること)改行する。 次に指定した数の整数をスペース1つずつ開けて1行で入力し、改行する。 よろしくお願いします。
327 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 13:22:16 ] >>298 できました。ありがとうございます。 ですが ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8553.txt こういった形にできますでしょうか? なるべくforじゃなくてwhileを使いたいのですが・・・
328 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 13:23:13 ] >>326 C/C++の宿題を片付けます 101代目 pc11.2ch.net/test/read.cgi/tech/1197132472/929
329 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 13:25:14 ] 1年前ワロタww
330 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 13:28:44 ] 毎年同じ内容の講義なんて当たり前だろ?
331 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 13:32:07 ] >>330 注目点は、環境がStudy Cなところじゃね? >>304 今年の学生はそれもつづれないようだけど。
332 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 13:38:33 ] >>326 #include <stdio.h> int median(int *in, int num) { int i, j, temp; for(i=num-1; i > 0; i--) { for(j=0; j<i; j++) { if(in[i] > in[j]) { temp = in[i]; in[i] = in[j]; in[j] = temp; }}} return num & 1 ? in[num/2] : (in[num/2-1] + in[num/2]) / 2; } int main(void) { int i, num, in[128]; scanf("%d", &num); for(i=0; i<num; i++) scanf("%d", in + i); printf("%d", median(in, num)); return 0; }
333 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 14:15:43 ] >>299 です >>301 解答ありがとうございました。 自分の知らない関数を使っているので、この解答を参考にしながら 書いてみます。
334 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 15:59:55 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク):以下に記載 [3] 環境 [3.1] OS:Windows Vista [3.2] コンパイラ名とバージョン:Visual C++ 2005 ver8.0 [3.3] 言語: C++ [4] 期限:1/10 24:00 [5] その他の制限:特になし 次のように、整数値を表すクラスを設計する データメンバ x:xの座標(ただし 0-1000とする) y:yの座標(ただし 0-1000とする) z:zの座標(ただし 0-1000とする) メンバ関数 void setX(int a): xの座標を設計する(範囲外の値は、error messageを出力する) void setY(int b): Yの座標を設計する(範囲外の値は、error messageを出力する) void setZ(int c): Zの座標を設計する(範囲外の値は、error messageを出力する) int getX(): Xの座標値を得る int getY(): Yの座標値を得る int getZ(): Zの座標値を得る 結果は、次のように表示する Please Input X 3 Please Input Y 1000067 The value of Y is a mistake, Please input Y again! 5 Please Input Z 7 The result is: (3,5,7)
335 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 16:22:14 ] >>334 わからないながらも自分で考えてみたものの途中です #include<iostream> using namespace std; class Dimension{ private: int x; int y; int z; public: void setX(int a); void setY(int b); void setZ(int c); int getX(); int getY(); int getZ(); void show(); }; void Dimension::setX(int a){ x = a; if(a>=0 && a<=1000){ cout<<"Please Input X\n"; cin>>a; } else{ cout<<"The value of X is a mistake.Please input X again!"<<"\n"; cin>>a; } }
336 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 16:36:21 ] >>323 www.google.com/search?q=%22%E5%9B%A0%E6%95%B0%E3%81%AB%E3%83%9D%E3%82%A4%E3%83%B3%E3%82%BF%E3%82%92%E5%90%AB%E3%82%80%22 ぐぐったらでてきた。
337 名前:help me [2009/01/07(水) 16:40:29 ] [1] 授業単元:C言語 [2] 問題文: ニュートン・ラプソン法を用いて、x^3 −10x^2 +10x + 50 = 0 の解を求めよ。解の精度は有効数字5桁とする。 [3] 環境 [3.1] OS:Linux [3.3] 言語: C [4] 期限: 1月9日 よろしくお願いします。
338 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 16:50:22 ] >>334 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8554.txt
339 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 16:59:44 ] >>337 #include<stdio.h> #include<math.h> //英語わからん #define YUUKOUKETASUU 1e-5 double f(double x) { return x*x*x - 10*x*x + 10*x + 50; } double g(double x) { return 3*x*x - 20*x +10; } double NewtonMethod(double xn) { double xn1 = xn - (f(xn)/g(xn)); if (fabs(xn1 - xn) < YUUKOUKETASUU) return xn1; return NewtonMethod(xn1); } int main(void) { double x = NewtonMethod(0); printf("f(x) = x^3 - 10x^2 +10x + 50\n"); printf("f(%f) = %f\n", x, f(x)); return 0; }
340 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 17:01:19 ] >>337 #include <stdio.h> #include <math.h> #define YPSILON 1e-6 #define DELTA 1e-10 double f(double x) { return x*x*x - 10*x*x + 10*x + 50; } int main(void) { double x0, x1, d; x0 = 0.0; d = (f(x0+DELTA)-f(x0))/DELTA; x1 = x0 - f(x0)/d; while (fabs(x0 - x1) > YPSILON) { x0 = x1; d = (f(x0+DELTA)-f(x0))/DELTA; x1 = x0 - f(x0)/d; } printf("x = %.5f\n", x1); return 0; }
341 名前:help me [2009/01/07(水) 17:04:34 ] >>340 ありがとうございます!
342 名前:yasu [2009/01/07(水) 17:07:23 ] [1] 授業単元: C言語プログラミング基礎 [2] 問題文(含コード&リンク):30以上500以下の整数の和を求めるプログラム作成する。 [3] 環境 [3.1] OS: Windows Vista [3.2] コンパイラ名とバージョン: PAD 2 [3.3] 言語:C言語 [4] 期限: 1/9 12:00 [5] その他の制限:どうぞ宜しくお願いしますm(..)m
343 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 17:15:57 ] >>342 #include <stdio.h> int main(void) { int i,sum=0; for (i=30; i<=500; i++) sum += i; printf("%d", sum); return 0; }
344 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 17:22:38 ] >>340 なるほど、通常ありえないスペルミスを混入することで(ry >>342 #include <stdio.h> int main(void) <% printf("sam = %d\n", (500-30+1) * (30+500) / 2); return 0; %>
345 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 17:25:45 ] >>344 プ
346 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 17:35:26 ] >>343 プププ
347 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 17:38:54 ] >>344 なるほど、最近見かけることのないイーグルサムを混入したのですね
348 名前:yasu [2009/01/07(水) 17:40:03 ] 解答ありがとうございます。 助かりました!!
349 名前:238 mailto:sage [2009/01/07(水) 18:00:13 ] >>245 遅くなってすみません。ありがとうございます。
350 名前:yasu [2009/01/07(水) 18:15:23 ] [1] 授業単元: C言語プログラミング基礎 [2] 問題文 nを入力し、1からnまでの3の倍数と5の倍数の和を求めるプログラム作成する。 [3] 環境 [3.1] OS: Windows Vista [3.2] コンパイラ名とバージョン: PAD 2 [3.3] 言語:C言語 [4] 期限: 1/9 12:00 [5] その他の制限:できるだけ簡単な関数でお願いします。 どうぞ宜しくお願いしますm(..)m
351 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 18:28:57 ] 犯人はヤス
352 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 18:36:38 ] >>350 #include <stdio.h> int main(void) { int n; scanf("%d", &n); printf("%d\n", sum(n)); /*for (n=0; n<=100; n++) printf("%3d : %d\n", n, sum(n));*/ return 0; } int sum(int n) { return s(n / 3) * 3 + s(n / 5) * 5 - s(n / 15) * 15; } int s(int n) { return n * (n + 1) / 2; }
353 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 18:38:12 ] >>350 PAD 2 ってなんだ?
354 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 18:39:59 ] >>334 すいません少し訂正します [1] 授業単元:プログラミング [2] 問題文(含コード&リンク):以下に記載 [3] 環境 [3.1] OS:Windows Vista [3.2] コンパイラ名とバージョン:cygwin [3.3] 言語: C++ [4] 期限:1/10 24:00 [5] その他の制限:簡単な関数とクラスでお願いします 次のように、整数値を表すクラスを設計する データメンバ x:xの座標(ただし 0-1000とする) y:yの座標(ただし 0-1000とする) z:zの座標(ただし 0-1000とする) メンバ関数 void setX(int a): xの座標を設計する(範囲外の値は、error messageを出力する) void setY(int b): Yの座標を設計する(範囲外の値は、error messageを出力する) void setZ(int c): Zの座標を設計する(範囲外の値は、error messageを出力する) int getX(): Xの座標値を得る int getY(): Yの座標値を得る int getZ(): Zの座標値を得る 結果は、次のように表示する Please Input X 3 Please Input Y 1000067 The value of Y is a mistake, Please input Y again! 5 Please Input Z 7 The result is: (3,5,7)
355 名前:デフォルトの名無しさん [2009/01/07(水) 18:47:08 ] [1] 授業単元: c [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8555.txt [3] 環境 [3.1] OS: win [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: c [4] 期限: 今日21時 [5] その他 よろしくです
356 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 18:51:00 ] >>355 何周目だよ。ホントに死ねよ。
357 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 19:04:21 ] 質問者が過去の質問を見てるわけねえだろアホ ましてや問題文のリンクしかみんな書かないんだから既出とかわかんねーよ
358 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 19:09:56 ] >>357 >>1
359 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 19:11:18 ] なんだこいつ
360 名前:yasu [2009/01/07(水) 19:17:27 ] >>352 解答ありがとうございますm(..)m
361 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 19:36:01 ] >>355 /* この問題、見るたびに最大桁数が小さくなってるのは気のせいだろうか */ #include <stdio.h> #include <ctype.h> int main(void) { int a[3], i, j; for (i = 0; i < 3; ++i) { a[i] = 0; int c; j = 0; while ((c = getchar()) != '\n') { if (!isdigit(c) || (j == 0 && c == '\n')) { puts("error."); return 1; } if (j < 5) a[i] = a[i] * 10 + c - '0'; ++j; } } printf("%d + %d + %d = %d\n", a[0], a[1], a[2], a[0] + a[1] + a[2]); return 0; }
362 名前:デフォルトの名無しさん [2009/01/07(水) 19:37:54 ] [1] 授業単元: C言語 [2] 問題文 20から10までの整数を順番に空白で区切って、表示し改行するプログラムを作る。 whileを使うこと。 [3.1] OS: Windows Vista [3.2] コンパイラ名とバージョン:Visual Stdio 2008 [3.3] 言語:C言語 [4] 期限: 1/10 [5] その他の制限:できるだけ簡単な関数でお願いします
363 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 19:41:00 ] >>356 >>1
364 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 19:43:15 ] >>362 #include <stdio.h> int main(void) { int n = 20; while (n > 10) printf("%d ", n--); printf("%d\n", n); return 0; }
365 名前:デフォルトの名無しさん [2009/01/07(水) 19:48:08 ] >>364 ありがとうございます!
366 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 19:48:43 ] wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
367 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 21:55:09 ] [1] 授業単元:Cプログラミング [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8556.txt [3]環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン:VC++ 2008 [3.3] 言語:C言語 [4] 期限:1/9 [5] その他の制限:特に無いです。 よろしくお願いします。
368 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 21:58:04 ] >>292 ソートするのは反則じゃないか? ハッシュ法と答えて欲しいんじゃないかと
369 名前:yasu [2009/01/07(水) 22:00:49 ] >>352 初心者なので、ソースを見ても分からなかったので、nを入力し1からnまでの3の 倍数の和を求めるプログラムを宜しくお願いします。 [1] 授業単元: C言語プログラミング基礎 [2] 問題文 nを入力し、1からnまでの3の倍数の和を求めるプログラム作成する。 [3] 環境 [3.1] OS: Windows Vista [3.2] コンパイラ名とバージョン: PAD 2 [3.3] 言語:C言語 [4] 期限: 1/9 12:00 [5] その他の制限:できるだけ簡単な関数でお願いします。 どうぞ宜しくお願いしますm(..)m
370 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 22:06:48 ] >>367 #include <stdio.h> int main(void) { int r = 12345, a = 997, c = 1, m = 65536; double x, sum = 0.0; int i; for (i = 0; i < 100; i++) { r = r*a + c; r = r % m; x = (double)r/m; sum += x; printf("%.4f ", x); if (i % 10 == 9) { putchar('\n'); } } printf("\nmean=%.4f\n", sum / 100.0); return 0; }
371 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 22:17:11 ] >>304 審判役くらいにしか使えない。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8557.txt
372 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 22:28:58 ] >>369 #include <stdio.h> int main(void) { int n,sum=0; int i; do{ printf("整数nの値を入力せよ:"); scanf("%d",&n); if(n<1) printf("1以上の整数値を入力せよ。\n"); }while(n<1); for(i=1; i<=n; i++) if((i%3)==0) sum = sum + i; printf("\n"); printf("1から%dまでの3の倍数の和は%dです。\n",n,sum); return 0; }
373 名前:nyao [2009/01/07(水) 22:31:31 ] [1] 授業単元:自由課題 [3]環境 OS:Mac コンパイラ名とバージョン:よくわかりません。g++ ファイル名で実行してます。 言語:C++言語 [4] 期限:1/10 自由課題で「かぶ」を作っています。 ベースは自分で何とか作れたんですが、条件付けが難しくてできません。このプログラム→sugar310.dip.jp/cgi/upload/source/up15160.txt に、プログラム内に書いてあるルールを参考にして以下の6つの条件を付け足して欲しいです。 @ランダムに発生する数値から0を除外する。 (0が出たら「ランダムに発生」を繰り返す。) Aif(v==9||w==1){ cout <<「「クッピン」で勝負だ」<<"\n"; ↑ v==1||w==9でも cout <<「「クッピン」で勝負だ」<<"\n"; Bif(v==4||w==1){ cout << 「「シッピン」で勝負だ」<<"\n"; ↑ v==1||w==4でも cout <<「「シッピン」で勝負だ」<<"\n"; C3が3枚のときは cout << 「「アラシ」で勝負だ」<<"\n"; D2枚もしくは3枚の合計が20より大きいときは cout << 「「ブタ」で勝負だ」<<"\n"; E2枚もしくは3枚の合計が10もしくは20になれば cout << 「合計は10(20)だから「ニゲ」だ」 << "\n"; →1番最初のランダムに数字を発生させるところに戻る よろしくお願いします!><
374 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 22:36:18 ] [1] 授業単元:Cプログラミング [2] 問題文(含コード&リンク): 2項分布Pa,q(x)=Ca,b ・q^b・(1-q)^(a-b)を実装せよ。 またaを大きくして出力せよ。 [3] 環境 [3.1] OS: LINUX [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限: 2009年1月8日 [5] その他の制限: 特になし
375 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 22:47:28 ] >>369 誰か、このPAD 2って環境知ってる?
376 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 22:50:10 ] [1] 授業単元:アルゴリズム入門 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8558.c [3] 環境 [3.1] OS:linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 1月8日10時まで [5]その他の制限:特になし L69で適当な(文字列s の最初のn 文字のハッシュ値を返す)ハッシュ関数を定義し、mystrstr hash1() を完成させよ。 また、それを利用するメイン関数を作成し、実行せよ。 その後L71以降のローリングハッシュを用いてプログラムを改良せよ。 適切なハッシュ関数の定義だけでもお願いします。
377 名前:yasu [2009/01/07(水) 23:07:23 ] >>372 ソース解読できました。 解答ありがとうございます。
378 名前:デフォルトの名無しさん [2009/01/07(水) 23:39:58 ] [1] 授業単元:コンピュータ工学 [2] 問題文(含コード&リンク):行列式で二元連立方程式を解く {a1X+b1Y=C1 未知の定数:X、Y [3] 環境 a2X+b2Y=C2 変数:a1,a2,b1,b2,C1,C2 [3.1] OS: Windows vista business [3.2] コンパイラ名とバージョン:VC [3.3] 言語: C [4] 期限:無期限 [5] その他の制限:基礎全般はやってます。いきなりの宿題で困ってます;; すみませんよろしくお願いします。
379 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 23:46:53 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク): 次の処理を行うプログラムを書きなさい 1; [80A1h] ← (B+C)*2??[80A0h]*3 オーバーフローは考慮不要 2; [80B3h] [80B2h] ←[80B0h] +[80B1h] *2 和を16ビットで求める(分岐命令を使用してもよい) 3; A ← B ・C + H ・L (論理演算) [3] 環境 [3.1] OS: Windows vista [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限: [2009年1月8日 [5] その他の制限: なし どれか一つでいいので教えてください まったくわかりませんww
380 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 00:09:46 ] >>378 定数と変数の違いとか、プログラム以前に数学を勉強した方がいい
381 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 00:13:27 ] >>327 for (A; B; C) { XXXXX } を A; while (B) { XXXXX C; } に機械的に置き換えればいい。
382 名前:デフォルトの名無しさん [2009/01/08(木) 00:14:29 ] [1] 授業単元:コンピュータ工学 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8563.txt [3] 環境 [3.1] OS: linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限:一月8日 23:59 [5] その他の制限: よろしく願いします
383 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 00:26:51 ] >>379 C言語じゃなくてZ80アセンブラじゃね?ww ;2 LD DE,80B1H XOR A LD B,A LD H, LD A,(HL) LD B,A DEC HL LD A,(HL) ADD A,B ADD A,B
384 名前:383 mailto:sage [2009/01/08(木) 00:29:34 ] 途中で送信してしまった。まあいいや
385 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 00:41:32 ] >>384 らめえええぇぇぇ!! ゴメンコンピュータはさっぱりなんだ なんでコンピュータ系に行ったんだ・・・俺・・・
386 名前:デフォルトの名無しさん [2009/01/08(木) 01:56:11 ] >373 >「0が出たら『ランダムに発生』を繰り返す」 必要性が分からない。+1すりゃいいんでないのか? >375 不明。プログラム図面で考えろってことかね?
387 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 02:15:18 ] >376 L69、L71って何ですか?
388 名前:デフォルトの名無しさん [2009/01/08(木) 03:50:41 ] [1] 授業単元:Computer Programming II ─ A リスト構造 ─ [2] 問題文(含コード&リンク): 例題12_3を参考にして,次のようなプログラムを完成せよ。 ・探索キーとして名前を入力し,入力と一致した場合,その名前と年齢を印字することを繰り返す。 ・Ctrl-Dが入力されたとき,プログラムを終了する。 ただし,文字列の比較のためにstrcmpを利用する。利用方法を以下に示す。 #include<string.h> int strcmp(const char* str1,sonst char* str2); 【戻り値】str1 > str2 ならば正値(1) str1 = str2 ならば0 str1 < str2 ならば負値(-1) 以上,問題終わり■ (^^)例題12_3(^^) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8564.txt [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2008年1月8日10:30まで [5] その他の制限:デキる人にとっては難しくないらしいです。
389 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 04:55:06 ] [1] 授業単元: 情報処理 [2] 問題文(含コード&リンク): 2段階シンプレックス法を解くプログラムを作成せよ [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 1月9日まで [5] その他の制限: 特になし よろしくお願いします
390 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 09:11:55 ] >>388 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8566.txt
391 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 09:43:57 ] [1] 授業単元: プログラミング実習2 [2] 問題文(含コード&リンク): ・関数mainから2つのint型の変数を受け取って2つの変数の中身を入れ替える関数swapを作成せよ. #include <stdio.h> void swap(int *a, int *b); int main(void) { int x, y; printf("x="); scanf("%d",&x); printf("y="); scanf("%d",&y); printf("x=%d,y=%d\n",x,y); swap(&x,&y); printf("x=%d,y=%d\n",x,y); return 0; } void swap( void swap(の後をお願いします。 実行例 x=9↓ y=3↓ x=9,y=3 x=3,y=9 [3] 環境 Visual C++ [3.1] OS:Windows [3.2] コンパイラ名とバージョン: C++コンパイラ,リンカ [3.3] 言語: C言語 [4] 期限: 2009年1月11日(日)まで [5] その他の制限: 値渡し、参照渡しは習いました。 宜しくお願いします。
392 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 09:50:09 ] >>391 void swap(int *a, int *b) { int x=*a; *a=*b; *b=x; }
393 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 10:08:17 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8567.txt [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン: Visual Studio2008 [3.3] 言語: C++ [4] 期限: 1月11日まで [5]その他の制限:特になし お手数ですがよろしくお願いします。
394 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 10:43:26 ] どなたか>>254 お願いします。
395 名前:デフォルトの名無しさん [2009/01/08(木) 11:24:24 ] [1] 授業単元: C言語 [2] 問題文(含コード&リンク):下記 [3] 環境 [3.1] OS: WindowsVista SP1 [3.2] コンパイラ名とバージョン: Visual Stdio 2008 [3.3] 言語: C [4] 期限: 2009年1月8日 AM11:50まで [5] その他の制限: できるだけ簡単にお願いします。ポインタや配列などは習っています 複数の整数のうち,指定した数で割り切れる整数の個数を求めるプログラムを作成せよ. 入力に関して キーボードから入力する整数の個数を入力し(最大で128に対応すること)改行する. 次に指定した数の整数をスペース1つずつ開けて1行で入力し,改行する. 最後に1つ整数を入力し,改行する.この最後に入力した値で割り切れるかどうか判定する. この一連の入力時,例題や解答例のような入力を促す文字等は決して表示しないこと. 出力に関して 割り切れる整数の個数を数値のみ (+改行)を出力する.指定した数値・改行以外の文字等の出力は一切行わないこと.
396 名前:デフォルトの名無しさん [2009/01/08(木) 12:38:57 ] どなたか>>382 お願いします
397 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 13:07:45 ] >>393 Cで書いたのでよければ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8568.c
398 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 13:10:52 ] >>395 >>259 #include <stdio.h> int main(void) { int data[128]; int i, n, d, c = 0; scanf("%d", &n); if (n > 128) n = 128; for (i = 0; i < n; ++i) scanf("%d", &data[i]); scanf("%d", &d); for (i = 0; i < n; ++i) if (!(data[i] % d)) ++c; printf("%d\n", c); return 0; }
399 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 13:15:47 ] >>254 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8569.cpp
400 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 13:29:14 ] メガネを掛けていて、ピッツァだったらメガネピッツァだろうがよぉ、紛れも無く
401 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 13:53:02 ] [1] プログラミング演習 (1) 日付データが入力された後、ファイルに保存するプログラムを書きなさい。 データのファイルはテキスト形式で、ファイル名は、day.txtとする。 データの形式は以下のとおり。 Y(改行)・・・データの1セットの始まりを表わす 96(改行)・・・年 07(改行)・・・月 12(改行)・・・日 以上を1セットとして入力する。 これを繰り返し入力する。Y 92 05 13 G・・・データの終わり(ファイルの終わり)を表わす。 ※ファイルへの出力は、fprintf関数を使う。書式は以下のとおり。 fprintf(FILE*fp,書式指定文字列、変数、変数、・・・) (2) (1)でファイルに出力された日付データを構造体に読み込んで、構造体に読み込まれた日付データを画面に表示するプログラムを書きなさい。 但し、読み込むデータの個数は、ファイルに保存されているデータの個数であり、ファイルによって変化する(固定されていない)ので、それに対応できるようなプログラムであること。 [3] 環境 [3.1] OS:Linux [3.2] Emacs [3.3] C言語のみでお願いします。 [4] 期限:早急にお願いします。
402 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 13:58:37 ] >>401 無期限なら、来年くらいに
403 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 14:00:12 ] >>402 [3.2] Emacs こっちの方が突っ込みどころだと思った >>401 gccだよな?
404 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 14:02:23 ] >>402 来年が早急というお前の感覚を疑うぜw
405 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 14:04:52 ] >>404 来年が早急じゃないという根拠でもあるのかね?
406 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 14:06:25 ] >>404 >>1
407 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 14:09:29 ] 言葉足らずですみません。 >>403 gccです。 >>402 できれば今日中にお願いします。
408 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 14:11:47 ] >>405 じゃなくて、それを言った奴の 感覚 についてなんだが?w
409 名前:他人の真似しか出来ない低脳 [2009/01/08(木) 14:12:46 ] 406 名前:デフォルトの名無しさん 投稿日:2009/01/08(木) 14:06:25 >>404 >>1
410 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 14:13:20 ] >>408 >>1 >[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
411 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 14:13:56 ] >>409 新参はコレだから・・・
412 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 14:14:58 ] ttp://dictionary.goo.ne.jp/search.php?MT=%C1%E1%B5%DE&kind=jn&mode=0&base=1&row=0 ttp://dictionary.goo.ne.jp/search.php?MT=%C1%E1%B5%DE&kind=jn&mode=0&base=1&row=1 さっきゅう ―きふ 0 【早急】 (名・形動)[文]ナリ 非常に急ぐ・こと(さま)。至急。そうきゅう。 非常に急いで来年くらいって、時間の感覚がおかしくなったバカくらいだろうね。
413 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 14:15:56 ] >>412 馬鹿じゃねーの?
414 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 14:20:42 ] 言葉の意味も知らずに、自分の感覚で答えるから、世間からズレてると 思われていると気づかない引きこもりが多いんだな、このスレってw 来年くらいで 早急 w
415 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 14:21:46 ] >>412 それで、来年が早急でない根拠は?
416 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 14:22:47 ] >>414 自分の感覚が絶対と思っているのは、 ひどい田舎者か、 引きこもりなんじゃね?
417 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 14:46:29 ] >>407 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8570.txt
418 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 14:47:19 ] >>401 の者ですが、テンプレどおりに書かなくて迷惑かけてすみませんでした。 期限は2009年01月08日中にお願いします。
419 名前:デフォルトの名無しさん [2009/01/08(木) 14:56:35 ] だれか>>382 お願いします ……なにか不備があったのでしょうか。
420 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 15:07:01 ] >>419 とりあえず、「sample-11-1.c」ってなんだ?
421 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 15:13:22 ] >>401 です。 >>417 ありがとうございます。 ただ、今さっきわかったのですが (1)で出来たday.txtの内容が 1回目 ××/××/×× 2回目 ××/××/×× 3回目 ××/××/×× ・ ・ ・ N回目 ××/××/×× といった書き方でなければいけないようです。 後、構造体の配列と構造体の関数間での受け渡しを使用しなければならないらしいので、 お手数掛けますがもう一度(1)と(2)をお願いします。
422 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 15:20:02 ] >>421 >>1 >・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
423 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 15:31:43 ] >>422 本当にすみません。 次からは気をつけますので>>421 をお願いします
424 名前:デフォルトの名無しさん [2009/01/08(木) 15:40:53 ] >>420 すいません。書き忘れでした 下に書いてあるプログラムの名前です
425 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 16:19:00 ] >>423 おまえはすでにしんでいる
426 名前:デフォルトの名無しさん [2009/01/08(木) 16:24:01 ] [1] 授業単元:プログラミング演習 [2] 問題文 m*dv/dt=mg-kv をRunge-Kutta法で解き,抵抗係数k=0,0.1,0.15,0.3のときの 速度vの時間による変化を表せ。 なお質量m=0.1[kg],重力加速度g=9.8[m/s*s]とする。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン: [3.3] 言語: C [4] 期限: 1月9日 11:00 [5] その他の制限:とくにないです。 かなり急ぎの課題です。よろしくお願いします。
427 名前:424 [2009/01/08(木) 16:30:18 ] すいません、>>382 の課題お願いします…… もはや「おまえはもうしんでいる」状態なのでしょうか……
428 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 16:34:02 ] NODEが何かわからない >>427
429 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 16:34:32 ] >>399 ありがとうございます できれば簡単な関数でお願いしたいのですが……
430 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 16:35:36 ] >>425 本当に反省しています。 とてもピンチな状況なので>>421 をお願いします(;_;)
431 名前:デフォルトの名無しさん [2009/01/08(木) 16:40:08 ] [1] 授業単元:プログラミング演習 [2] 問題文 (d*d*y)/(d*x*x)=-M/(E*I)=W/(EI)*x をRunge-Kutta法で解き,片持ちばりのx方向におけるy方向 変異の分布を示せ。ただし,先端に集中荷重が負荷されている ものとし,ヤング率はE-206[GPa],集中荷重はW=30[N]とする。 求める図は文章での説明になります。 一方が壁に設置されていて厚さ5mm,オクイキが100mm 壁に設置されているところから500mm突き出ている物体です。 Wは突き出ている先端に上から下に向けてかかる力で, その点をoとします。oから壁へ向かう方向がx軸正方向, oから下へ向かう方向をy軸正方向とします。 わかりにくくてすみません。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン: [3.3] 言語: C [4] 期限: 1月9日 11:00 [5] その他の制限:とくにないです。 かなり急ぎの課題です。よろしくお願いします。
432 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 16:42:04 ] よろしくおねがいします。 [1] 授業単元:OS [2] 問題文(含コード&リンク): www.takagi.nuie.nagoya-u.ac.jp/~nakamura/os-EN2008/thread/ の、第12回演習(生産者・消費者問題) [3] 環境 [3.1] OS: CentOS [3.2] コンパイラ名とバージョン: gcc 4.1.2 [3.3] 言語: C [4] 期限: 2009/01/15 [5] その他の制限: lock,unlockシステムコールを使ってください。 リンク先のヒントに従ってもらうとうれしいです。
433 名前:424 [2009/01/08(木) 16:51:56 ] >>428 そのNODEっていうのは恐らく二分木の問題で使われてるNodeのことみたいですね。多分 わからなかったらNode使わなくていいですよ。 とりあえず、プログラムのKEY云々て列にある数値が入った二分木から標準入力でその数があればyes、無ければNoってだすプログラム作ってくれれば幸いです
434 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 16:55:41 ] >>424 >>1 を一億万回嫁。
435 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 16:58:37 ] >>430 言葉では何とでも言えるよな。 >>428 への回答はどうなってるんだ? また、条件が追加されたら洒落にならんぞ。 こりゃ「おまえはもうしんでいる」状態だな。
436 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 17:06:58 ] >>435 >>433 っていうか、オマエの中で何かが綯い交ぜになっている
437 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 17:09:21 ] 本当に間違った事したと思ってます。 反省していますので、どうか>>421 お願いします。 本当に時間がないんです。
438 名前:424 [2009/01/08(木) 17:11:30 ] Nodeの定義は、下のプログラムで定義してあるのかとずっと思ってたんですが……違ったのですか? 問題文これしかなくて……
439 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 17:11:58 ] >>433 NODEとKEYを定義して、コンパイルしてみた。 KEY init_data[num_of_data]={50, 20, 70, 10, 30, 60, 100, 25, 65, 150}; で、gccだと、コンパイルエラーになる。
440 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 17:17:09 ] [1] 授業単元:C言語入門 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8573.txt [3] 環境 [3.1] OS: (Windows) [3.2] コンパイラ名とバージョン: (VC2005) [3.3] 言語: (C++) [4] 期限: 2009年1月8日24時 [5] その他の制限: c言語の初歩の段階です。 最後の砦の2chに来ました。 質問文の方で至らないところもあると思いますがどうか教えてください。
441 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 17:27:38 ] >>440 #include <iostream> #include <algorithm> int main() { char buf[80], a = 0; int n = 0; std::cout << "キーから文字を数文字入力してください"; std::cin >> buf; std::cout << "調べる文字を入力してください= "; std::cin >> a; std::cout << "入力された文字列の中に m は、" << (n = std::count(buf, buf + 80, a)) << " 個ありました。" << std::endl; return 0; } どう見てもCじゃありません、本当にありがとうございまいました
442 名前:デフォルトの名無しさん [2009/01/08(木) 17:30:42 ] >>440 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8574.c getsは使いたくない性分で
443 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 17:38:50 ] >>436 >>433 が回答になっているとでも思っているのかw
444 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 17:41:00 ] >>443 オマエはツリーをみてみた方が良いよ
445 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 17:54:22 ] >>444 お前、NODEがどんなものか解るんだろ。回答してやれよ。 俺はわかんね。
446 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 17:55:27 ] [1] 授業単元:プログラミング演習U [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8575.txt [3] 環境 [3.1] OS:Windows XP [3.2] コンパイラ名とバージョン:Microsoft Visual Studio .NET 2003 [3.3] 言語:C++ [4] 期限:2009年1月9日 午前中まで [5] その他の制限:できるだけ簡単な関数でお願いします よろしくお願いします
447 名前:424 [2009/01/08(木) 18:10:56 ] 一応、教科書みながらここまでやってみました。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8576.txt このプログラムがあってれば、あとは標準入力から探索して判定を出すって感じなんですが…… 続きやってくれませんか
448 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 18:11:18 ] >>442 ありがとうございます。 ちなみにgetsを使ったソースも教えてもらえると助かります。 getsの文とsizeifの文を比較してみたいので
449 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 18:27:49 ] >>381 ありがとうございます。 色々と変えてやってみましたがこの状態で小文字数えるところでエラーがでて終了してしまいます。 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8577.txt どこがダメなんでしょうか・・・?
450 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 18:37:56 ] >>449 while (...) {} に入る前に a=0; (>>381 のAに相当) while (...) {} 中の最後に ++a; (>>381 のCに相当)
451 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 18:39:13 ] >>449 while(moji[a] != '\n')
452 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 18:48:31 ] >>450-451 あ、あれ。見直したら直す前のプログラムになってたorz a=0; while(moji[a] != '\n'){ if (moji[a] >= 'a' && moji[a] <= 'z') ++a; } s=a; printf("英小文字の数 = %d\n",a); こうでしょうか? 「文字列の長さ」の後反応がなくなるんです・・・
453 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 18:54:24 ] >>452 gets()だと\nが入らないので終了条件を'\0'にする while(moji[a] != '\0')
454 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 18:57:04 ] >>447 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8578.txt
455 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 19:07:08 ] >>453 ありがとうございます。 やってみたところ全部小文字で入力した場合は最後までいくのですが、一文字でも大文字が入ると途中でとまってしまうんです。 hello→最後まで Hello→途中でとまってしまう
456 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 19:11:44 ] >>455 a=0; while(moji[a] != '\0'){ if (moji[a] >= 'a' && moji[a] <= 'z') s++; ++a; } printf("英小文字の数 = %d\n",s);
457 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 19:23:04 ] >>456 できました 本当にありがとうございました!
458 名前:デフォルトの名無しさん [2009/01/08(木) 20:42:58 ] [1] 授業単元: [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8579.txt [3] 環境 [3.1] OS:Windows xp [3.2] コンパイラ名とバージョン:VC 6.0 [3.3] 言語: C++ [4] 期限: 2009/1/9/1:00 [5] その他の制限:問題文に中にあります。 自分では全くわかりません、期限が短いですができる方おねがいします。
459 名前:nyao mailto:sage [2009/01/08(木) 20:51:31 ] >>373 です。 >>378 なるほど 0が出たら+1ですか…(・ω・)
460 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 20:52:43 ] >>446 と>>458 は同じ課題 C言語なら俺に聞け(入門篇)の過去ログ調べてみ
461 名前:nyao mailto:sage [2009/01/08(木) 20:54:02 ] >>386 さんへのレスでした。 すいませんorz
462 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 20:55:46 ] >>460 別スレだったかも?質問してた人はちゃんと出来てた。
463 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 21:11:32 ] >>459 ちがうだろ
464 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 21:15:03 ] >>462 detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1121691611 pc11.2ch.net/test/read.cgi/tech/1229424329/777
465 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 21:25:40 ] [1] 授業単元: 科学実習T [2] 問題文: 配列に順番に入力した数字を代入するプログラムを作れ。 すなわち、例えば以下のようなものを作れ。 1度目にinput_number()で入力した数を、numbers[0]に代入し、 2度目にinput_number()で入力した数を、numbers[1]に代入し、 … n 度目にinput_number()で入力した数を、numbers[n-1]に代入する。 input_number()という関数は、自分で定義するように。 [3] 環境 [3.1] OS: windows xp [3.2] コンパイラ名とバージョン:gcc -o [3.3] 言語: C言語 [4] 期限: 2009年1月13日 お願いしやす
466 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 21:29:35 ] これも頼む [1] 授業単元: 科学実習T [2] 問題文: 配列に代入された数値を小さい順に並べ変えるプログラムを作れ。 ただし、数値は配列numbers[]にすでに代入されているものとし、変数nには代入された数値の個数が代入されているものとする。 (例) int numbers[10] = { 82, 47, 2, 29, 95, 15, 38, 66, 51, 72 }; int n = 10; (注意) このプログラムを実行すると、並べ変えを終えた配列ができる。 この配列は、元のnumbers[]の中身が並べ変わったものでも良いし、別の配列を作って、そ の中に並べ変えた数値が代入されているのでも良い。 出来上がった配列の要素を順に表示すると 2, 15, 29, 38, 47, 51, 66, 72, 82, 95 のようになる。 [3] 環境 [3.1] OS: windows xp [3.2] コンパイラ名とバージョン:gcc -o [3.3] 言語: C言語 [4] 期限: 2009年1月13日
467 名前:デフォルトの名無しさん [2009/01/08(木) 22:21:47 ] どなたか >>426 >>431 をお願いします。 コンパイラ名ってのがよくわからないんですが gccとか打ってコンパイルしてます
468 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 00:12:42 ] [1] 授業単元:プログラム技術 [2] 問題文(含コード&リンク): char str[5][10] = { "home", "arow", "abec","bobo" }; という二次元配列があったとして、この配列に格納されている文字列を 格納されている配列番号とともに、アルファベット順に表示させるプログラムを作れ。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:Microsoft Visual Studio .NET 2003 [3.3] 言語:C++ [4] 期限:特になし [5] その他の制限:特になし よろしくお願いします。
469 名前:367 mailto:sage [2009/01/09(金) 00:18:53 ] >>370 ありがとうございました。
470 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 00:44:46 ] >>465 #include<stdio.h> #define N 10 int input_number() { int v; scanf("%d", &v); return v; } int main() { int i, v[N]; for (i = 0; i < N; i ++) { v[i] = input_number(); } for (i = 0; i < N; i ++) { printf("%d\n", v[i]); } return 0; }
471 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 00:49:12 ] >>466 #include<stdio.h> int main() { int numbers[10] = { 82, 47, 2, 29, 95, 15, 38, 66, 51, 72 }; int n = 10, i, j, t; for (i = 0; i < 10; i ++) { printf("%d ", numbers[i]); } printf("\n"); for (i = 0; i < 10-1; i ++) { for (j = i+1; j < 10; j ++) if (numbers[i] > numbers[j]) { t = numbers[i]; numbers[i] = numbers[j]; numbers[j] = t; } } for (i = 0; i < 10; i ++) { printf("%d ", numbers[i]); } printf("\n"); return 0; }
472 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 00:58:13 ] >>468 #include<iostream> #include<string> #include<map> int main() { char str[5][10] = {"home", "arow", "abec","bobo", "dummy"}; typedef std::map<std::string, int> Map; Map m; for (int i = 0; i < 5; i ++) m.insert(Map::value_type(str[i], i)); for (Map::const_iterator it = m.begin(); it != m.end(); ++ it) std::cout << it->second << ":" << it->first << std::endl; return 0; }
473 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 01:04:00 ] >>472 すみません、 map関数とdummyデータを使わずにやることはできませんか?
474 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 01:07:20 ] ふざけてんのか
475 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 01:12:38 ] >>473 char str[5][10] = {"home", "arow", "abec","bobo"}; typedef std::multimap<std::string, int> Map;
476 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 01:33:24 ] #include <iterator> #include <cstring> int main() { char *str[5] = {"home", "arow", "abec","bobo"}; char *str2[5]; std::partial_sort_copy(str, str + 4, str2, str2 + 4, strcmp); std::copy(str2, str2 + 4, std::ostream_iterator<char *>(std::cout, "\n")); return 0; }
477 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 01:55:57 ] 280と282で教えてもらったプログラムの 2と4が動かないんですが何が悪いんでしょうか
478 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 02:01:29 ] お前の頭
479 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 02:21:04 ] >>478 おいっ、基地外、鏡を見ろよ。ほれ、何が映った? 出来の悪い面が映ったよな?それ、誰の面だ?お・ま・え・の・だ・よw
480 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 02:42:14 ] やぁ先生、見てるかい?
481 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 06:20:20 ] [1] 授業単元: C言語 [2] 問題文: スタックを操作する関数 push()とpop()を作れ。 (注意)次のようなmain()を使って、push(int v), int pop()の動作を確かめよ。 #include <stdio.h> main() { int d; push(1); push(2); push(3); d = pop(); printf("First data = %d\n", d); d = pop(); printf("Second data = %d\n", d); push(4); d = pop(); printf("Third data = %d\n", d); push(5); d = pop(); printf("Fourth data = %d\n", d); d = pop(); printf("Fifth data = %d\n", d) }
482 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 06:20:41 ] ---------------- 結果は、 First data = 3 Second data = 2 Third data = 4 Fourth data = 5 Fifth data = 1 と表示します。 [3] 環境 [3.1] OS: windows xp [3.2] コンパイラ名とバージョン:gcc -o [3.3] 言語: C言語 [4] 期限: 2009年1月20日
483 名前:デフォルトの名無しさん [2009/01/09(金) 07:08:38 ] [1] 授業単元:Cプログラミング [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8581.zip [3] 環境 [3.1] OS: Windows vista [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C言語 [4] 期限: 2009年1月10日10:00まで [5] その他の制限: 特になし txtで保存すると図が表示されなくなってしまうので、pdfのままにしました。 zipになってしまい申し訳ないです よろしくお願いします!
484 名前:483 [2009/01/09(金) 07:16:27 ] OSはXPでも問題ないです コンパイラ名とバージョン:gcc -o でお願いします 追記すいません
485 名前:デフォルトの名無しさん [2009/01/09(金) 08:33:00 ] >>426 >>431 お願いします。どなたか助けてください。
486 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 10:35:31 ] >>481-482 #include <stdio.h> int a[100]; int sp=0; void push(int v){a[sp++]=v;} int pop(){return a[--sp];} int main(){ /*省略*/ printf("Fifth data = %d\n", d) ←>>482 はセミコロン抜けてる }
487 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 10:43:37 ] >>485 数値解析系の宿題は需要、供給ともに少ないから なかなか回答者は現れないだろうなあ。
488 名前:デフォルトの名無しさん [2009/01/09(金) 11:18:04 ] [1] 授業単元:プログラミング [2] 問題文 次に示すTableのデータに関して,以下の計算を行う. (1)1次式を当てはめてその式を示す.同時に2乗累積誤差Eを求める. (2)2次式を当てはめて上と同じことを行う. (3)2次式を当てはめて上と同じことを行う. Table X=-4,Y=13.4 X=-3,Y=7.2 X=-2,Y=2.7 X=-1,Y=1.2 X=0,Y=0.6 X=1,Y=3.1 X=2,Y=6.9 X=3,Y=12.5 X=4,Y=20.8 X=5,Y=31.7 X=6,Y=44.0 [3] 環境 [3.1] OS: Windows xp [3.2] コンパイラ名とバージョン: Microsoft Windows XP [Version 5.1.2600] [3.3] 言語: C言語 [4] 期限: 2009年1月10日15:00まで [5] その他の制限: ありません よろしくお願いします.
489 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 11:22:48 ] >>485 ルンゲクッタと書かれては問題見る気もしないんだ お前が急いでるかどうかは回答者にはどうでもいいことなので関係ないんだ
490 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 11:47:21 ] >>489 さっぱりわからん hwm3.gyao.ne.jp/nata-coco/hokou-2.pdf
491 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 12:41:32 ] >>426 ちなみに v(t)=mg/k+(v0-mg/k)exp(-kt/m) (k!=0.0) v(t)=gt (k==0.0) だと思ふ
492 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 13:03:47 ] [1] 授業単元:システム設計2 [2] 問題文:1〜100の間で数当てゲーム [3] 環境 [3.1] OS: Windows Vista [3.2] コンパイラ名とバージョン:cygwin-b20 [3.3] 言語: C [4] 期限: [2009年1月12日15:00まで] [5] その他の制限: 標準ライブラリはなるべく使わないようにお願いします。 以上お願いします。
493 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 13:12:47 ] APIをつかって入力と出力をしろというのか
494 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 13:14:27 ] どなたか>>401 を>>421 の条件で本当にお願いします。 期限が今日なので17時までで、できれば早めにお願いします。 構造体の関数間での受け渡しはsub関数でお願いします。
495 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 13:35:40 ] >>393 オナニーソース。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8582.c 個人的に読み込み処理の手直しをしてみたかったんで書いた。 問題文がなくなってるんでここまで。 Linux(Debian) gcc で確認。
496 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 14:28:08 ] >>488 2乗累積誤差ってのがわからん。 式を適当に決めて誤差を求めるだけでいいのか? それとも誤差を最小にするような式を求めろってこと? (3)は3次式の間違い? コンパイラは何だ?
497 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 15:01:42 ] >>431 I の値は? Eの値は 10^-206 * 10^9 [Pa] ? それとも - は = の typo で E=206*10^9 [Pa] ? # 断面2次モーメントなんて知らない
498 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 15:06:26 ] >>494 何言ってんだか分からないので無理
499 名前:デフォルトの名無しさん [2009/01/09(金) 15:10:43 ] 1] 授業単元:プログラミング演習 [2] 問題文:hpgoda.eng.niigata-u.ac.jp/lecture2008/Cprogramming/12/12.html [3] 環境 [3.1] OS:linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限: 2009年1月10日 [5] その他の制限: 問題ページ中の関数、プログラム例を使って作ってください。 データのグラフ化は自分でできます 以上お願いします。
500 名前:デフォルトの名無しさん [2009/01/09(金) 15:13:05 ] >>488 です >>496 から説明不足で質問をいただいたので 式を求める必要はありません。誤差を求めることが、この課題の目的です。 また(3)は3次式の間違いでした。申し訳ないんですが訂正させてください。 コンパイラはコマンドプロンプトだと思います。 よろしくお願いします。
501 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 15:16:51 ] コンパイラはコマンドプロンプト コンパイラはコマンドプロンプト コンパイラはコマンドプロンプト だいじなところですからさんかいいいました
502 名前:デフォルトの名無しさん [2009/01/09(金) 15:19:05 ] >>501 すみません。よくわからないんです。 普段は「bcc32」とか打ってコンパイルしてます。
503 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 15:27:01 ] 安くない授業料も払って、マジメに出席して、 宿題が出来ないどころか、丸投げも出来ない程度にしかならないなんて、 詐欺も良いところだな。
504 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 15:33:22 ] おめー、詐欺ってのは高度な知能が必要なんだぞ。 言うなら「クズ」だろ。
505 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 15:36:05 ] 低レベルの詐欺でも、騙される側が低レベルなら引っかかるんだよな・・・ 振り込め詐欺は家にもかかってきたが、回避したぞ
506 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 15:36:21 ] >>500 SSEとかいわれる奴だろ?>自乗累積誤差 double e = 0; int i; for (i=0; i<11; i++) { e += pow(Y[i] - f(X[i]), 2.0); } たぶんこんな感じ。 n次式の当てはめ(f(x)を求める)は忘れたから誰か頼む。
507 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 15:38:56 ] >>506 一ページしか引っかからない・・・
508 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 15:43:07 ] 1次式にしても Y[i] = a*X[i] + b とするか(2計数) a*X[i] + b*Y[i] + c = 0 とするか(3計数) 当てはめ(≒計数決定)をどうするのか? 上の累積二乗誤差を最小にするような計数を求めるのか? / 人間が適当に決めるのか? etc.
509 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 15:46:58 ] >>500 最少二乗法みたいにやるのかと思ったんだけど、 式求めずに誤差求めるだけでいいってのは、 たとえば(1)で、1次式をX=0として誤差求めるだけでもいいのか? >>501 >>488 では コンパイラ名とバージョン: Microsoft Windows XP [Version 5.1.2600] なんだぜ
510 名前:デフォルトの名無しさん [2009/01/09(金) 16:12:33 ] ぼすけて
511 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 16:16:14 ] 何か一匹、頭のおかしいのが紛れ込んでいるが、スルーよろしく。あぁきめぇ、鏡を見ろよw
512 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 16:22:57 ] >>511 鏡
513 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 16:24:00 ] >>492 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8583.txt
514 名前:492 mailto:sage [2009/01/09(金) 16:39:24 ] >>513 ありがとうございます。ランダム関数の使い方が分からなかったので勉強になりました。
515 名前:デフォルトの名無しさん [2009/01/09(金) 17:49:04 ] [1] 授業単元: プログラミング2 [2] 問題文課題7-2 以下の条件を満たすプログラムを作成する。どの程度の機能が実装されているかなどによって加点する。以下に挙げたもの以外の機能が実装してある場合にも加点がある。 なんらかのデータを扱うプログラムであり(非常にユニークなものの場合は加点がある)、データをファイルから読み込む機能と、書き込む機能がある。 例: 自分の持っている音楽CD(コレクションしているものなど)を管理するデータベースプログラム 毎日の収入・支出を管理する(家計簿)プログラム 画像ファイルを扱うプログラム 音声ファイルを扱うプログラム 新しいデータ(もしくはデータの一部分)を追加する機能、特定のデータ(もしくはデータの一部分)を削除もしくは修正する機能がある データのソート(並び替え)を行う機能がある。 ソートを行うことが適切でないデータの場合(音声データや画像データなど)は、 そのデータにあったなんらかの処理を加える機能でも良い データから特定の部分のみを取り出して表示(もしくは保存)する機能がある 構造体を使用している 構造体のポインタを引数として持つ関数を使用している enum型を使用している、もしくはプリプロセッサ「#define」を使用している [3] 環境 [3.1] OS:Windows [3.2] [3.3] 言語:C [4] 期限:2009年1月23日まで
516 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 17:49:41 ] 何だろうと思って鏡見たけど別にきもいのは写らなかった。 >>511 は鏡にきもいのが写ったの?
517 名前:デフォルトの名無しさん [2009/01/09(金) 18:00:11 ] 誰も個人を特定、指定してレスしていないのに、そのレスに反応したってことは 心当たりがあるんだろう。聞かれてもいないことをわざわざ答える、それは 認めたくないが否定している意思を他人にも認めてもらいたいという心の表れ。 要するに、反応してレスした奴は、鏡を見てキモイ面が映ったんだろうよw
518 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 18:03:21 ] > 何か一匹、頭のおかしいのが紛れ込んでいるが そう、自分のことを言われたわけでもないのに、反応しちゃったわけだ。 それが何を意味しているか、分かるよな?頭のおかしい奴に対して 鏡を見ろと言ったのに、自分は・・・あぁ、そうか、お前はキモイ一匹だったのかw
519 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 18:13:21 ] >>515 何処が例で何処までが要件かわからねーよ しね
520 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 18:14:09 ] >>518 > 何か一匹、 「答えは筆者自身」で、FAだろ。
521 名前:デフォルトの名無しさん [2009/01/09(金) 18:17:20 ] いんや、誰もあんた個人を特定して言ってはいないが?ただ、反応したのはあんただろw
522 名前:デフォルトの名無しさん [2009/01/09(金) 18:18:44 ] 鏡を見て、映ったものをどう思ったか、報告しろとも言ってないよぉ〜?ん? 何で反応したの?心当たりがあるからだろ?w
523 名前:デフォルトの名無しさん [2009/01/09(金) 18:19:01 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク): 簡単なゲームをクラスを用いて作れ 条件 魔王のHPをランダム(300〜500の範囲)攻撃力もランダム(25〜50)で表示 勇者のHPもランダム(100〜200)で表示 攻撃力とマジックポイントをランダムで2つを足して50になるようにする 勇者は回復魔法(名前は任意)を使えることにする 消費MPは10、回復幅はランダム(30〜100)はじめに決まったHP限界値は超えないものとする 攻撃はターン制とし(先攻後攻はランダム)Enterを押すごとに進めるようにする 勇者は攻撃と回復をキーボード(例 1.攻撃 2.回復)で選べるようにする HPは攻撃力の数値分減っていく 表示例 Maoh HP 400 Attack 40 Yusha HP 150 MP 25 Attack 25 Battle Start!! Maoh's turn! Yusha Damage 40 HP110 Yusha's turn! Attack or Recovery Maoh Damage 25 HP 375 or Yusha Recovery 80 HP 150 ... Maoh died! You Win!! [3] 環境 [3.1] OS:Windows Vista [3.2] コンパイラ名とバージョン:Visual studio 2005 ver8.0 [3.3] 言語:c++ [4] 期限:1/10 23:59:59 [5] その他の制限: わかりやすい関数でお願いします
524 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 18:40:15 ] >>515 #include <stdio.h> #include <string.h> #include <stdlib.h> #define MAX 1000 #define BUF 100 typedef struct XX { int number; int data;} X; enum {FALSE = 0}; void get(char *input){ fgets(input, BUF, stdin); strtok(input, "\n");} int cmp_num(const void *a_, const void *b_){ const int a = ((X *)a_)->number, b = ((X *)b_)->number; return a < b ? -1 : a > b ? 1 : 0;} int cmp_data(const void *a_, const void *b_){ const int a = ((X *)a_)->data, b = ((X *)b_)->data; return a < b ? -1 : a > b ? 1 : 0;} int main() { X a[MAX] = {{0, 0}}; char input[BUF]; int number = 1, i; while (1) { puts("1.入力順でソートする, 2.値でソートする, " "3.表示, 4. 数字入力, それ以外は終了"); get(input); if (!strcmp(input, "1")) qsort(a, MAX, sizeof(X), cmp_num); else if (!strcmp(input, "2")) qsort(a, MAX, sizeof(X), cmp_data); else if (!strcmp(input, "3")) { for (i = 0; i < MAX; ++i) if (a[i].number != 0) printf("%3d. %10d\n", a[i].number, a[i].data); } else if (!strcmp(input, "4")) { get(input); for (i = 0; i < MAX; ++i) if (a[i].number == 0) { a[i].number = number++; a[i].data = atoi(input); break; } } else break; } return 0;}
525 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 18:40:46 ] >>524 扱うものはただの数字
526 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 18:43:04 ] >>525 普通にあげてやれよw
527 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 19:54:04 ] >>496 データをDi 、Di の平均をEとして Σ(Di - E)^2 を行っていると思います。テイラー展開とかフーリエ級数展開とかで大活躍な指数っぽいです。
528 名前:デフォルトの名無しさん [2009/01/09(金) 20:03:25 ] 1] 授業単元: C言語基礎 [2] 問題文:正の整数nを7進数(10桁以内とする)で入力した数値に7進数の5を加算した結果を表示するプログラム [3] 環境 [3.1] OS: Windows ビスタ [3.2] コンパイラ名: CPad for LSIC-86 [3.3] 言語: C言語 [4] 期限: 1月10日 [5] その他の制限:出来るだけ簡単な関数でお願いします。
529 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 20:17:00 ] >>527 でも、オレはそれを分散と習った気がする。 あと、累積二乗誤差をググれ。
530 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 21:49:04 ] スレ違いですまんが、分散だったら個数で割るみたいな計算が入ると思う 多分だが>>488 は、>>509 の質問に答えるべき
531 名前:デフォルトの名無しさん [2009/01/09(金) 22:37:41 ] [1] 情報処理 [2] エングセットの公式を計算して0.751という値を求めるプログラム (20 C 3 )0.6^3 Pb = ---------------------- = 0.751 3 Σ ( 20 C k ) 0.6^k k=0 [3] 環境 [3.1] WindowsXP [3.2] VC 6.0 [3.3] C++ [4]1月13日 [5] その他の制限:式中のCというのはコンビネーションです。できるだけ簡単な関数でお願いします。
532 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 22:46:15 ] >>531 マルチ死ね #include <iostream> int main() { std::cout << (20.0 * 19 * 18 / 1 / 2 / 3 * 0.6 * 0.6 * 0.6) / ((1 + 20.0 * 0.6+ (20.0 * 19 / 1 / 2) * 0.6 * 0.6 + (20.0 * 19 * 18 / 1 / 2 / 3) * 0.6 * 0.6 * 0.6)) << std::endl; }
533 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 22:47:33 ] ttp://okwave.jp/qa4617342.html
534 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 22:48:06 ] できるだけ簡単にとのことなので関数は使わないでおきました
535 名前:デフォルトの名無しさん [2009/01/09(金) 22:53:49 ] ごめんなさい。 本当に困っています。
536 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 23:08:25 ] 困ってたらなにをしてもいいのか? 金がなければ強盗するのか?
537 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 23:29:20 ] [1] 授業単元:プログラミング演習 [2] 問題文: 直径1長さ1の円柱がある。体積をモンテカルロ法で計算せよ。 一辺が1の立方体を考え、3個の乱数で立方体内の点のxyz座標を発生させ, その点が物体の内部に落ちるかどうかを判定する。内部に落ちる確率が体積に比例することから体積が見積もれる。 [3]環境 [3.1] OS:windows xp [3.2] コンパイラ名とバージョン:visual C++ 2008 Express Edition [3.3] 言語:C [4] 期限:1月11日まで [5] その他の制限:特にありません。 よろしくお願いします。
538 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 23:30:13 ] >>478 自分の頭が悪いのは承知しています。 プログラム的なことでお願いします。
539 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 23:33:17 ] >>528 VistaでLSIC-86と言うのに吹いたので助けてやりたいが int型が2byteだって?7^10 をどうやって格納するんだ? まさか自分で長桁整数型を実装するのか? 他のコンパイラなら char a[11]にscanfで文字列を受けてから while( a[ i ] != '\0' ){ r = 7 * ( r + a[ i ] - '0' ); i++ } で終わりのはず
540 名前:539 mailto:sage [2009/01/09(金) 23:34:36 ] おっと、5を足してないけど7進数で5は10進数でも5だから関係ないな 表示は10進でもいいんだろ?そう書いてないし。
541 名前:デフォルトの名無しさん [2009/01/09(金) 23:42:26 ] 1] 授業単元: C言語 初級 [2] 問題文:数字を入力して、その値の桁数を求めて、表示するプログラムを作る [3] 環境 [3.1] OS: Windows XP [3.3] 言語: C言語 [4] 期限: 1月11日 [5] その他の制限:簡単な関数でお願いします。 テスト前です。宜しくお願いします。
542 名前:デフォルトの名無しさん [2009/01/09(金) 23:50:22 ] >>539 C言語のテスト前で、その問題は過去問題です。試験対策でお願いしました。 なにぶん、まだ、素人です。細かいことは分からない部分あります。 たぶん、10進数で表示すると思います。
543 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 23:50:42 ] コンパイラ名を書けって言ってんだろ!
544 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 23:53:22 ] >>539 long 型は普通に使えるんじゃなかろうか
545 名前:デフォルトの名無しさん [2009/01/09(金) 23:57:31 ] 試験は筆記試験なのでコンパイラはあまりかんけいないのではと思います。
546 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 23:58:06 ] LSIC86と聞いて加勢するぜ。 ごちゃごちゃしてるが10ケタでもOKのはずだ。 #include <stdio.h> #include <string.h> int main(void) { int i; char a[12], b[12]; scanf("%s", a+1); a[0] = '0'; for (i=0; i<strlen(a); i++) { b[i] = a[i] - '0'; } b[i-1] += 5; for (i=strlen(a)-1; i>=0; i--) { b[i-1] += b[i]/7; b[i] %= 7; } if (b[0]) putchar(b[0]+'0'); for (i=1; i<strlen(a); i++) { putchar(b[i]+'0'); } return 0; }
547 名前:デフォルトの名無しさん [2009/01/10(土) 00:04:38 ] ありがとうございます。感謝しています。
548 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 00:15:18 ] >>541 #include <stdio.h> int main(void) { int n, i; scanf("%d", &n); for (i = 0; n >= 1; ++i) n /= 10; printf("%d桁\n", i); return 0; }
549 名前:デフォルトの名無しさん [2009/01/10(土) 00:18:39 ] ありがとうございます。
550 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 00:51:29 ] >>528 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8584.txt
551 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 01:27:10 ] >>537 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8585.txt
552 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 02:51:14 ] >>541 #include <stdio.h> #include <math.h> int main(void) { int n; scanf("%d", &n); printf("%d digits\n", 1+(int)log10(n)); return 0; }
553 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 03:19:35 ] [1] 授業単元:休日プログラミング [2] 問題文(含コード&リンク): 6畳間の畳の敷き方を1つ求めるプログラムを作成せよ。 畳は1×2の長方形であり、6畳間は3×4の長方形である。 4枚の畳の角が一か所に集中する敷き方は縁起が悪いので避けること。 表示の仕方は問わない。 可能なら以下の機能を実現せよ。 ・全ての敷き方を求める ・6畳間以外に対応する [3] 環境 [3.1] OS:Windows Vista [3.2] コンパイラ名とバージョン:VC++2008EE [3.3] 言語:C、C++のどちらでも可 [4] 期限:2009/01/12 24:00:00 [5] その他の制限:コマンドプロンプトで実行できること。 よろしくお願いします。
554 名前:デフォルトの名無しさん [2009/01/10(土) 04:28:14 ] [1] 授業単元: C言語 入門 [2] 問題文(含コード&リンク): 簡易整数電卓プログラム 仕様は ・数式を入力すると計算結果を表示 ・四則演算、括弧、べき乗、階乗、が使える ・扱うのは整数(intの範囲) ・演算子の優先順位を守る(乗法・除法が先。べき乗は後ろから計算) ・+と−の単項演算子が使える(-1+5等) [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: わかりません・・・ [3.3] 言語: C [4] 期限: 2009/01/14 23:59 提出〆 [5] その他の制限: 特にありません。 テスト前なのにこの課題1つに1週間も悩んでます・・・ 検索とかしてみたのですが、どうしても解りませんでした。 長くなってしまうかもしれませんがよろしくお願いします。
555 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 05:25:07 ] >>553 C言語にて ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8586.c
556 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 06:02:01 ] >>554 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8587.txt
557 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 06:20:27 ] >>554 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8588.txt
558 名前:デフォルトの名無しさん [2009/01/10(土) 10:12:08 ] >>483 >>484 どなたかお願いできないでしょうか スタックを使う問題なんですが 期限は今日中です
559 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 10:44:27 ] >>558 #include <stdio.h> typedef struct stack_ { char d[128]; int p; } Stack; void push(Stack *s, char c) { s->d[(s->p)++] = c; } void pop(Stack *s) { s->d[(s->p)--] = '\0'; } int main(void) { Stack s; s.p = 0; push(&s, 'A'); push(&s, 'B'); push(&s, 'D'); push(&s, 'I'); pop(&s); puts(s.d); pop(&s); push(&s, 'E'); push(&s, 'J'); pop(&s); puts(s.d); push(&s, 'K'); push(&s, 'O'); pop(&s); puts(s.d); pop(&s); pop(&s); pop(&s); push(&s, 'C'); push(&s, 'F'); pop(&s); puts(s.d); push(&s, 'G'); push(&s, 'L'); pop(&s); puts(s.d); pop(&s); push(&s, 'H'); push(&s, 'M'); push(&s, 'O'); pop(&s); puts(s.d); pop(&s); push(&s, 'N'); pop(&s); puts(s.d); return 0; }
560 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 11:21:32 ] >>558 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8589.c
561 名前:デフォルトの名無しさん [2009/01/10(土) 13:25:26 ] ナンバーサイン野郎きめぇお( ^ω^)
562 名前:デフォルトの名無しさん [2009/01/10(土) 13:33:32 ] 訳の分からない#をいちいちつける目立ちたがり屋、ナンバーサイン(笑)
563 名前:558 [2009/01/10(土) 13:33:43 ] >>559 >>560 ほんとにありがとうございました! これから自分なりに理解してみようと思います
564 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 13:45:48 ] ナンバーサインってなんぞ?
565 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 13:46:04 ] [1] 画像処理 [2] BMP画像(カラー)をネガポジ反転するプログラムを作成せよ。 ピクセルはRGBで3つ、最大値は255とする。 [3] 環境 [3.1] Linux [3.2] gcc [3.3] C言語 [4] 1月12日 [5] 特にありません。 よろしくお願いします。
566 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 13:50:52 ] 元となる画像を出さないとトラブルの元
567 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 14:11:46 ] >>565 pc11.2ch.net/test/read.cgi/tech/1231180205/332
568 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 14:19:33 ] >>566 この種の依頼をするやつは、BMPが何かも知らない。JK
569 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 14:25:14 ] >>564 いげたのこと
570 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 14:34:20 ] 井桁の方が分からんやつ多いんじゃないか、若い連中には
571 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 14:48:48 ] シャープに似てる奴、でいいか
572 名前:デフォルトの名無しさん [2009/01/10(土) 14:56:26 ] [1] コンピュータプラクティス [2]kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8593.txt [3] 環境 [3.1] Linux [3.2] gcc [3.3] C [4] 1月13日 [5]出来るだけ簡単な関数でお願いします 余裕があったらプログラムのフローチャートみたいなのを教えてださい
573 名前:572 [2009/01/10(土) 15:17:48 ] すいません >今n枚のカ−ドに書かれている数字を次のような数列で表すものとする。 これは依頼した問題には出てこない要素なので無視してください。
574 名前:572 [2009/01/10(土) 15:19:53 ] 度々申し訳ございません。 環境はLinuxじゃなくてwindows XPでした……
575 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 15:38:53 ] >>565 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8595.c クソースゆえ、異論は認める。
576 名前:537 mailto:sage [2009/01/10(土) 16:10:37 ] >>551 ありがとうございます。
577 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 16:20:35 ] wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
578 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 16:38:39 ] ∩___∩ | ヽ / ● ● ヾ おいしいクマ | ( _●_)。. | 彡、 ) ヽノ.(⌒ヽ`ミ ww/ _wWww\ \ヽw Www wwWwwwwww (__ヽ二二フ ヽ ノ
579 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 16:41:13 ] その 草 、 腐 ってますよ?
580 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 16:53:41 ] >>523 これできませんか?
581 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 17:55:25 ] >>523 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8596.txt
582 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 18:01:49 ] >>581 ありがとうございます
583 名前:572 [2009/01/10(土) 18:34:28 ] だれか>>572 お願いします。
584 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 18:57:23 ] >>583 まあ、学校の宿題なら、まず、原文をアップしてくれないと
585 名前: ◆i9Dvbn/Lf6 mailto:sage [2009/01/10(土) 19:05:47 ] [1] 授業単元:Cプログラミング [2] 問題文(含コード&リンク): 二重振り子を微小振動させるとして、厳密な数値解及び解析的な近似解を初期振れ角Θを機動時に指定して、 アニメーション表示させるプログラムを表示しなさい。 グラフィックはgnuplotでもEGGXでもどちらでもよい。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限: ([2009年1月22日まで]
586 名前:nyao [2009/01/10(土) 19:34:08 ] >>373 をお願いします。
587 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 19:40:21 ] >>585 プログラムの実装より物理部分の方が難しいしwww @厳密な数値解の式をよこせ A近似解を求める運動方程式をよこせ B解法の指定は?4次ルンゲ=クッタ? C振り子の軸長さはいくつ?変数は振れ角それとも座標?初期振れ角は2つあるだろ? 解答されても俺は書かないけど、少なくともこれぐらいはないと誰も書いてくれないだろ
588 名前:デフォルトの名無しさん [2009/01/10(土) 20:06:54 ] キーボードから入力したキーが、アルファベットの大文字ならば、小文字に変換して、画面に出力しなさい。 それ以外なら、そのまま画面に出力しなさい。 できる人お願いします。
589 名前:デフォルトの名無しさん [2009/01/10(土) 20:08:10 ] [1] コンピュータプラクティス [2]kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8599.txt [3] 環境 [3.1] windows XP [3.2] gcc [3.3] C [4] 1月13日 [5]出来るだけ簡単な関数でお願いします 問題文の原文をそのまま上げました。 よろしくお願いします
590 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 20:11:49 ] >>589 本当に、原文に「正の自然数」って書かれてるの?
591 名前:デフォルトの名無しさん [2009/01/10(土) 20:17:54 ] >>590 ちゃんとそうかいてありますね。
592 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 20:31:05 ] >>591 ひどいもんだな。 要件も不明だし、このままなんか作っても、なんやかんやで突っ返されるだろ
593 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 20:35:26 ] 突っ返すのが楽しい人が作ったとしか思えん
594 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 20:42:38 ] あそこまでアルゴリズムを説明してくれてて何がわからないんだ?
595 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 20:43:31 ] そうかな?たしかにテスト項目とかないから曖昧だけど、授業のプログラムなんてそんなもんだろ やることはa[2k]の和とa[2k+1]の和を比較するだけだから文句のつけようもなくない? アルゴリズムは「先手の初手は問題文に書いてあるとおり・次手以降は後手の取った隣を取る」で終了だし
596 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 20:53:54 ] >>594 勉強し始めってのもあり知識不足という訳ですが、引き分けのときのプログラムがさっぱりで…… 一応、授業内容は、とにかくこういうゲームをプログラミングしろってやつなんですよ だから、自分はn枚分の整数をユーザが標準入力して、その上で先手が勝つルールを使って先手が勝てばいいのかと思ったのですが…… 突っ返されたらその時、なんとか考えますので、作ってくれませんでしょうか……
597 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 21:09:37 ] >>594 オマエが何を理解してしまったのか心配だよ・・・
598 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 21:30:29 ] >>585 って本当に授業単元:Cプログラミングなのか? もしそうなら、世の中にはレベルの高い大学もあるもんだなあと感心。
599 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 21:33:20 ] そうか? コンパイラ名とバージョンにgccしか書いてないし質問主のレベルは低いと思う
600 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 21:39:28 ] 質問主のレベルが低くて学校のレベルが高いからここに来てるんじゃなかろうか
601 名前:589 [2009/01/10(土) 21:59:58 ] すいません。今から先生にメールしてこの問題の不明な点を聞いてみるので、できれば変な所を教えてくれませんでしょうか
602 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 22:15:50 ] 別に禁煙宣言しなくていいけど、>>589 は実際にカードを作ってこのゲームを行うことができるの?
603 名前: ◆DMlEnlGjq. [2009/01/10(土) 22:25:01 ] [1] 授業単元:アルゴリズムとデータ構造1 [2] 問題文(含コード&リンク): ○プログラムを改良せよ。また、改良した部分をしるせ。 ・Dコマンドで削除する時、本当に削除してよいか確認できるようにせよ。 ・Iコマンドで学籍番号がちょうど4桁であることをチェックできるようにせよ。 ・Iコマンドで改行だけの氏名や学籍番号になってしまう。改行だけの場合、エラーメッセージをだせ。 ・Iコマンドで既に存在する学籍番号と同じ番号を入力すると二重に登録されてしまう。 二重登録されないように、エラーメッセージをだせ。 ・Iコマンドを投入した後に気が変わってコマンド入力に戻ろうとしても、何か挿入しなければならない。 コマンド入力に戻れるようにせよ。 ・このプログラムの構造はだらだらとわかりにくい。各コマンドに対応する関数を作り、わかりやすい形にせよ。 ・「コマンド?[I(挿入),D(削除),P(表示),X(終了),W(書込み),R(読出し),X(終了)]」と毎回出るのは煩わしい。 「コマンド?」だけにして、H(ヘルプ)コマンドを投入すると、各コマンドの説明が表示されるようにしなさい。 ・eメールアドレスと担当教員名のデータも格納できるようにせよ。 ・P(表示)コマンドで、表示範囲を指定できるようにせよ。例えば、前後の学籍番号を指定すると、その範囲だけが表示されるようにせよ。 [3] 環境 [3.1] OS: Windows XP [3.3] 言語: C [4] 期限: [2009年1月22日00:00まで] [5] その他の制限:特になし よろしくお願いします。
604 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 22:27:02 ] >>603 また桁外れのマヌケが到着したが、 ここでは珍しくも無い・・・
605 名前:デフォルトの名無しさん [2009/01/10(土) 22:28:22 ] >>602 一応できたつもり…です
606 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 22:29:51 ] >>603-604 w
607 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 22:39:15 ] >>605 そ、そうか。 > nが偶数のとき先手も後手もn/2枚を取る。nが奇数のとき先手も後手も(n−1)/2づつ取り最後に1枚が残る。 これはどうすればいいの? その後の例では一枚ずつ取ってるように見えて。
608 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 22:39:43 ] ああ!ごめんよみまちがえてた>< はあく。
609 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 22:40:41 ] >>589 "コンピュータプラクティス"でググった結果からみたところ、 東洋大学工学部情報工学科 コンピュータ・プラクティスIIIのカード取りゲームの課題か。(・∀・)ニヤニヤ
610 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 22:44:30 ] nが奇数の時って先手必勝なのだろうか
611 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 22:44:42 ] 必勝じゃない
612 名前:デフォルトの名無しさん [2009/01/10(土) 22:46:39 ] >>609 一年の時に仮面浪人して失敗して、プログラムさっぱりw 春休み辺りでまとめて勉強するつもりです
613 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 22:47:13 ] >>612 なんで冬休みにまとめて勉強しなかったの?
614 名前:# [2009/01/10(土) 22:47:53 ] [1] 授業単元:アルゴリズムとデータ構造1 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8600.txt [3] 環境 [3.1] OS: Windows XP [3.3] 言語: C [4] 期限: [2009年1月20日24:00まで] [5] その他の制限:特になし 宜しくお願いします。
615 名前:585 ◆i9Dvbn/Lf6 mailto:sage [2009/01/10(土) 22:50:17 ] [1] 授業単元:Cプログラミング [2] 問題文(含コード&リンク): 二重振り子を微小振動させるとして、厳密な数値解及び解析的な近似解を初期振れ角Θを機動時に指定して、 アニメーション表示させるプログラムを表示しなさい。 グラフィックはgnuplotでもEGGXでもどちらでもよい。 教材の一部を貼っておきます。 up2.viploader.net/pic3/src/vl2_092922.png up2.viploader.net/pic3/src/vl2_092923.png [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限: ([2009年1月22日まで]
616 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 22:50:41 ] >>612 期末テストの勉強で忙しかったです
617 名前:nyao [2009/01/10(土) 23:33:21 ] すいません! >>373 をどなたかお願いします!
618 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 00:00:11 ] >>617 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8601.cpp 適当だけど。少しは他人に見やすいソースを書くように、自分でもがんばろうね。
619 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 00:13:54 ] >>589 さっぱりわからねーな #include <stdio.h> int main(){ int odd=0,even=0; while (1){ int dat; if(scanf("%d", &dat)==EOF)break; odd+=dat; scanf("%d", &dat); even+=dat; } //大きい方を選ぶ if(odd<even){ int temp =odd; odd=even; even=temp; } //点数 printf("先手:%d,後手:%d\n",odd,even); //勝敗 if(odd==even){ printf("引き分け\n"); }else{ printf("先手の勝ち\n"); } return 0; }
620 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 00:36:52 ] >>619 やばすぎw
621 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 00:48:09 ] >>610 右端(or左端)と、それと最後に残る数以外の偶数番目と奇数番目合計の差との大小によってきまる。
622 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 01:19:26 ] >>621 >>610 後手が例の戦略を取るかぎり、最後に何を残すかは先手が選べる(確かめてないけど多分どれでもOK) ということは後手は負けそうなら例の戦略をとらなくなるので、そうすると配列依存になる つまり、奇数の時は必勝戦略は存在しない こうなるのかな?意外に深いゲームなのかもしれん
623 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 01:22:07 ] 問題文の必勝戦略は通用しないだろうが先手必勝かどうかは別の話だな
624 名前:デフォルトの名無しさん [2009/01/11(日) 01:23:34 ] メイン関数以外で、コマンドラインの引数をとりたいです。 ARGV[1] ARGV[2]をmain以外でファイル名を受け取りたいということです。 グローバルでchar*を宣言して、mainでそのARGV[1]のアドレスを取っておけばよい? 問題はありますか?
625 名前:デフォルトの名無しさん [2009/01/11(日) 01:24:44 ] >>619 ありがとうございます!ですが、先生にメールで聞いたところ ユーザが全体のカードの枚数n(偶数になるように指定)とそのカードの書かれた数を被らないように繰り返し文使って標準入力させた上で、 奇数のカードの数の合計と偶数のカードの合計をだしてから、両方の合計を比べて、奇数が多いなら先手が奇数を引くように、というか先手という変数に奇数の数の合計を代入させる。 偶数なら先手が偶数のカードをひくようにして、偶数のカードの数の合計を先手という名の変数に代入する 最後に、先手=奇数か偶数の多い方の合計の点数 後手=少ないほうの で、先手の勝ち。と画面出力 とやれと来ました……。引き分けの方はルールに従って列の端と端を比べて、大きい方をとっていけば勝てるので、 端と端を比べて大きい方を先手に代入、小さいを後手に代入して同じように先手(変数)と後手(変数)に計算結果を代入して、 さっきと同じように画面に出力するみたいです で、多分自分なりにまとめると カードの枚数=n(必ず偶数) カードの数: 一枚目の数=ユーザがキーボードから入れた数値 二枚目の数=ユーザ(ry(どのカードの数とも必ず異なる数を入れさせるように指定) … n枚目の数=(ry 先手=奇数or偶数の多いほうの合計点数 後手=少ない方の数 判定 先手or後手の勝ち というように結果を出せばいいようです とりあえず先生のヒントを個人的にまとめてみたんですが……これでなんとかなりますか?
626 名前:デフォルトの名無しさん [2009/01/11(日) 01:30:48 ] あ、ちなみにn=奇数のときは自分で考えろだそうです なので、まず偶数のパターンからなんとかしてやってください。
627 名前:nyao mailto:sage [2009/01/11(日) 01:31:57 ] >>618 ありがとうございました!
628 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 01:35:17 ] >>615 二重振り子の図がどっかにあるだろ あと、わざわざエネルギー保存がどうこう書いてあるってことは、 シンプレックス積分でも使うのか? 速攻で落ちるvipロダを選ぶ理由も全く分からん
629 名前:デフォルトの名無しさん [2009/01/11(日) 02:42:15 ] >>557 ありがとうございました。
630 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 04:20:47 ] >>553 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8602.txt ┌─┬─┐ ├┬┴┬┤ │├─┤│ └┴─┴┘ ┌─┬┬┐ ├┬┤││ ││├┴┤ └┴┴─┘ ┌┬─┬┐ │├─┤│ ├┴┬┴┤ └─┴─┘ ┌┬┬─┐ ││├┬┤ ├┴┤││ └─┴┴┘
631 名前:学生 [2009/01/11(日) 10:03:46 ] 1] 授業単元: Cプログラミング [2] 問題文(含コード&リンク): 単語を入力するとその単語にeがいくつ含まれているか数えてくれるプログラム。 また、単語の中に含まれるeを抜かしたものも表示せよ。 実行例 単語を入力せよ:december 単語にeが3こ含まれます。 単語のeを抜かすとd c mb r [3] 環境 [3.1] OS: Windows xp [3.2] VC 6.0 [3.3] include<stdio.h> main() { ではじめてください。 [4] 期限: 急ぎです。できれば今日の20時くらいまで [5] その他の制限:while if for などを習いました。 よろしくお願いします。
632 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 10:13:14 ] >>625 そもそも、扱う数値が自然数全体とかどうなのよ
633 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 10:13:39 ] char s[5000]; int n = 0, i = 0; fputs("単語を入力せよ:", stdout); scanf("%4999s", s); for (i = 0; s[i]; ++i) { if (s[i] == 'e') n++; } printf("単語にeが%dこ含まれます。\n", n); printf("単語のeを抜かすと"); for (i = 0; s[i]; ++i) { if (s[i] != 'e') putchar(s[i]); } putchar('\n'); }
634 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 10:18:23 ] 何か最近、変なのが紛れ込んでいるねw
635 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 10:21:13 ] >>634 鏡
636 名前:学生 [2009/01/11(日) 10:22:35 ] >>633 さん すばやい返信ありがとうございます。 しかし、fputs stdout putchar を習っていないためそれらを使わないでプログラムを作成することは可能でしょうか??
637 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 10:25:11 ] >>635 = 変なの と自分で認めたメガネピッツァ
638 名前:デフォルトの名無しさん [2009/01/11(日) 10:25:52 ] scanf("%4999s", s); きんもぉ〜〜 しかも、これ、結局(ry
639 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 10:34:37 ] scanfでも悪くないが、空白は無視されるんで、あしからず
640 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 10:48:28 ] >>631 お前が習ったものを全部挙げろ > [3.3] include<stdio.h> > main() >{ >ではじめてください。 これだとコンパイルできないけどそれでもいいのか?
641 名前:デフォルトの名無しさん [2009/01/11(日) 10:49:58 ] >>632 あれはどうも自然数全体じゃなくて、要は小数点と分数以外の数える数を使ってって意味みたいですよ。 例えば n=3なら 5,16,3 てな感じで。 だから、分数と小数以外で、かつ変な文字を使わない普通の数値を入れてってことみたいです。 だから変に考えないで、普通の整数だけ使えばいいかと
642 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 11:00:11 ] >>641 プログラムを書くには、扱う数の範囲は重要だよ
643 名前:デフォルトの名無しさん [2009/01/11(日) 11:38:22 ] #include <stdio.h> int main(void) { int i, amari; for (i = 100; i >= 1; i--){ amari = 100 % i; if( amari == 0) printf("100 は %d で割り切れる\n", i); i--; } return 0; } これだと100は1で割り切れるとでないのですが なぜですか?
644 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 11:40:03 ] >>643 i-- が二箇所にあるから
645 名前:デフォルトの名無しさん [2009/01/11(日) 11:40:58 ] >>644 あっ さんきゅ
646 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 12:10:25 ] >>642 範囲って言うと 異なる正の数とかそういう表現ならなんとかなったってことですか?
647 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 12:12:22 ] >>646 最大値、最小値の問題じゃないかな? 総和が long の範囲内で収まるかどうか
648 名前:デフォルトの名無しさん [2009/01/11(日) 12:36:40 ] [2] 逆ポーランド記法で(正しく)書かれた式が入力として与えられた時、その式を評価した値を出力する、実際に動作するプログラムをC言語で作成せよ。 そのうえで、この問題を解くためのアルゴリズムの説明も書け。 [3] [3.1] Windows [3.3] C [4] 1月13日正午 ※データ構造として必ずスタックを使って実現させてください よろしくお願いします。
649 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 12:40:53 ] >>647 そういわれると、確に1〜∞じゃ普通にきついですよね… 周りは適当に、一年の時に習う配列の問題みたいに好きな数をポンポン入れて出来たーなんて言ってたから、そんな感じに出来ると思ってたけど、こんなに難しかったのか……orz
650 名前:学生 [2009/01/11(日) 12:59:18 ] 1] 授業単元: Cプログラミング [2] 問題文(含コード&リンク): 単語を入力するとその単語にeがいくつ含まれているか数えてくれるプログラム。 また、単語の中に含まれるeを抜かしたものも表示せよ。 実行例 単語を入力せよ:december 単語にeが3こ含まれます。 単語のeを抜かすとd c mb r [3] 環境 [3.1] OS: Windows xp [3.2] VC 6.0 [3.3] #include<stdio.h> main() { ではじめてください。 [4] 期限: 急ぎです。できれば今日の20時くらいまで [5] その他の制限:while if for char int double sum * - + / ++ %= sqrt pow != && switch case などを習いました。 よろしくお願いします。
651 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 13:01:27 ] おいwwww
652 名前:デフォルトの名無しさん [2009/01/11(日) 13:02:46 ] #include <stdio.h> int main(void) { char str1[100], str2[100]; int i = 0; printf("文字列入力 "); scanf("%s", str1); do { str2[i] = str1[i]; } while(str1[i++] != '\0'); printf("str2 = %s", str2); return 0; } このプログラムのwhileの条件式って どうゆう意味の判定ですか?
653 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 13:04:58 ] >>652 文字列の終わりまでループする
654 名前:デフォルトの名無しさん [2009/01/11(日) 13:08:01 ] 鏡を見るとさ、ちょ〜〜〜イケメソな面が映るわけよ。 これ、誰なんだろうなぁ〜って長年、思っていたけど、よく考えたらそれ、 俺じゃ〜〜ん。道理で、女性からチラチラ見られたわけだ。 よく注目されて、あれ?俺なんか変なことしたかな?って思っていたけど、 なんだ、見とれていたのかw
655 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 13:23:18 ] >>650 表示の仕方は何も習ってないわけか 無理だな
656 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 13:24:07 ] 入力もできないじゃないか
657 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 13:25:38 ] 入力といっても、別にキーボードを打って文字を記入する以外に、 プログラムは何かデータを受け付ける手段はあるわけで。屁理屈すまそw
658 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 13:26:21 ] sumなんて予約語か関数あったっけ
659 名前:585 ◆i9Dvbn/Lf6 mailto:sage [2009/01/11(日) 13:29:24 ] お願いします。 [1] 授業単元:Cプログラミング [2] 問題文(含コード&リンク): 二重振り子を微小振動させるとして、厳密な数値解及び解析的な近似解を初期振れ角Θを機動時に指定して、 アニメーション表示させるプログラムを表示しなさい。 グラフィックはgnuplotでもEGGXでもどちらでもよい。 教材の一部を貼っておきます。 up2.viploader.net/pic3/src/vl2_093082.png up2.viploader.net/pic3/src/vl2_092922.png up2.viploader.net/pic3/src/vl2_092923.png zipで専用ロダにもあげておきます kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8603.zip [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限: ([2009年1月22日まで] >>628 >シンプレックス積分でも使うのか? よくわかりません… >速攻で落ちるvipロダを選ぶ理由も全く分からん 他に長持ちするロダを知らないので
660 名前:A mailto:sage [2009/01/11(日) 13:30:23 ] >>650 #include<stdio.h> main() // int main(int argc, char* argv[]) { int loop, count; char ch; char input[256], output[256]; printf("単語を入力せよ :"); scanf("%s", input); // strcpy(output, input); count=0; for(loop=0; ;loop++) { ch = input[loop]; output[loop] = ch; if (ch == NULL) { break; } if (ch == 'e') { output[loop] = ' '; count++; } } printf("単語のeを抜かすと:%s\n", output); printf("単語にeが%d個含まれます。\n", count); return 0; }
661 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 13:32:43 ] >>657 >>636 によると習ってないものは使っちゃいけないらしい。 さすがに>>650 に挙げられているものだけでデータ入出力は無理じゃね? #include <stdio.h> main() { char s[128]; int i, c = 0; printf("単語を入力せよ:"); scnaf("%s, s); for (i = 0; s[i] != '\0'; i++) if (s[i] == 'e') { s[i] = ' '; c++; } printf("単語にeが%dこ含まれます。\n", c); printf("単語のeを抜かすと%s\n", s); return0; }
662 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 13:36:50 ] >>661 つ コピペ つ リダイレクト つ 内部でファイルなどを指定する まぁ、それらも習っていなければそれまでだがw
663 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 13:39:36 ] >>662 コピペとかリダイレクトとか関係なくね?
664 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 13:41:29 ] >>662 それにしても>>650 を見る限りでは使っていい関数はsqrt()とpow()だけっぽいんだが・・・w >>661 がgdgdだったので直した #include <stdio.h> main() { char s[128]; int i, c = 0; printf("単語を入力せよ:"); scanf("%s", s); for (i = 0; s[i] != '\0'; i++) if (s[i] == 'e') { s[i] = ' '; c++; } printf("単語にeが%dこ含まれます。\n", c); printf("単語のeを抜かすと%s\n", s); return 0; }
665 名前:565 mailto:sage [2009/01/11(日) 13:44:47 ] >>575 ありがとうございます いろいろ書き方が悪くて申し訳ないです
666 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 15:16:01 ] [1] 授業単元:C [2] 問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8605.txt [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン: gcc [3.3] 言語:C [5] その他の制限 [5.1]配列を使う どなたかよろしくお願いします
667 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 15:29:57 ] [1] 授業単元: プログラミング言語V [2] 問題文(含コード&リンク): 次のプログラムで本来入れるべき処理は何か。指摘せよ。 char *pstr; pstr = malloc(100); sprintf(pstr,"123"); pstr=malloc(10); sprintf(pstr,"456"); free(pstr); [3] 環境 [3.1] OS: Windows xp [3.3] 言語: C [4] 期限: 1月15日 よろしくお願いいたします。
668 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 16:00:57 ] >>667 char *pstr; pstr = malloc(100); sprintf(pstr,"123"); free(pstr); /*ここにfree()*/ pstr=malloc(10); sprintf(pstr,"456"); free(pstr);
669 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 16:10:03 ] >>667 ひでえ問題だ。
670 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 16:11:08 ] >>667 char *pstr; goto skip_label pstr = malloc(100); sprintf(pstr,"123"); pstr=malloc(10); sprintf(pstr,"456"); free(pstr); skip_label:
671 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 16:11:41 ] セミコロン忘れたorz
672 名前:667 mailto:sage [2009/01/11(日) 16:14:48 ] どうもありがとうございます。
673 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 16:16:45 ] >>667 pstrを使う何らかの処理だろJK
674 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 16:17:36 ] [1] プログラミング言語 c [2] Q1 現在の地域時間から15時間後の日時を表示するプログラムを作成せよ。 表示形式は時間が表示されれば自由とします。 Q2 以下の問いに○×で答えよ。 1.複数のソースファイルによりプログラムを作成するとき、機能や目的ごとに ソースファイルを分割すると、長いソースと短いソースファイルができてしまうので 均等になるように作成したほうがよい。 2.プログラムを機能分割して考えるときコンピュータの話なので、プログラミングに 都合のいいように機能を考え、ユーザの業務内容を無視してもよい。 [3] 環境 [3.1] OS: Windows xp [3.3] 言語: C [4] 期限: 1月17日 よろしくお願いいたします。
675 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 16:19:26 ] >>674 Q2 1.× 2.○ ベストプラクティスとか言っとけば、ありがたがる。
676 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 16:24:20 ] >>674 Q1 #include<stdio.h> #include<time.h> int main(void){ time_t t; t=time(NULL)+15*60*60; puts(asctime(localtime(&t))); return 0; }
677 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 16:59:16 ] >>674 #include <stdio.h> #include <time.h> int main(void) { time_t t; t=time(0); t+=15*3600; printf("%s",ctime(&t)); return 0; }
678 名前:学生 [2009/01/11(日) 18:52:26 ] たくさんの方々 色々とすいませんでした。 どうもありがとうございました。
679 名前:デフォルトの名無しさん [2009/01/11(日) 19:16:24 ] #include <stdio.h> int main(void) { double data1 = 100.0, data2; int i = 1; while (i <= 10){ printf("実数値を入力 "); scanf("%f", &data2); if (data2 == 0.0) continue; data1 = data1 / data2; printf("data1 = %f\n", data1); if ( data1 < 1.0) break; else i++; } return 0; } 間違ってるとこ教えてください。
680 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 19:24:15 ] scanf("%f", &data2); ↓ scanf("%lf", &data2);
681 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 19:26:06 ] >>680 あざす。
682 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 21:30:56 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8606.txt [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:VC2005EE [3.3] 言語:C++ [4] 期限:09/01/15迄 [5] その他の制限:配列を使ってやる方法もある、と先生が言っていたので、intを使ったときと、配列を使ったときの2通りのものを知りたいです。 よろしくお願いします。
683 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 22:07:31 ] [1] 授業単元: プログラミング実習2 [2] 問題文(含コード&リンク): ・関数mainから配列のアドレスを受け取ってその中の最大値を返す関数maxを作成せよ. #include <stdio.h> int max(int a[ ]); int main(void) { int x[ ] = {3,1,2,5,4}; printf("最大値は%d\n",max(x)); return 0; } int max( int max(の後をお願いします。 実行例 最大値は5 [3] 環境 Visual C++ [3.1] OS:Windows [3.2] コンパイラ名とバージョン: C++コンパイラ,リンカ [3.3] 言語: C言語 [4] 期限: 2009年1月12日(月)まで [5] その他の制限: 値渡し、参照渡しは習いました。 宜しくお願いします。
684 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 22:16:11 ] 配列の大きさはどうすんの?
685 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 22:19:09 ] > int max(int a[ ]); ちょっwwwwwwwwおまっwwwwwwwww
686 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 22:20:53 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8608.txt 3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン: visualc++2005 [3.3] 言語:C [4] 期限:2009年1月12日AM7時 [5] その他の制限:できるだけ簡単な関数でお願いします
687 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 22:37:01 ] >>686 もとからバグってるとかないだろ。 原文でよこせ
688 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 22:40:23 ] >>686 do{ printf("入力して下さい\n"); scanf("%d",&n); }while(n<0);
689 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 22:42:46 ] >>688 こんなじゃね? #include<stdio.h> int main(){ int n; int flag=2; do{ printf("入力して下さい\n"); scanf("%d",&n); if(n<0){ flag--; }else{ printf("%d\n",2*n); flag=2; } }while(flag); printf("終了します\n"); return 0; }
690 名前:585 ◆i9Dvbn/Lf6 mailto:sage [2009/01/12(月) 00:23:57 ] お願いします。 [1] 授業単元:Cプログラミング [2] 問題文(含コード&リンク): 二重振り子を微小振動させるとして、厳密な数値解及び解析的な近似解を初期振れ角Θを機動時に指定して、 アニメーション表示させるプログラムを表示しなさい。 グラフィックはgnuplotでもEGGXでもどちらでもよい。 教材の一部を貼っておきます。 up2.viploader.net/pic3/src/vl2_093082.png up2.viploader.net/pic3/src/vl2_092922.png up2.viploader.net/pic3/src/vl2_092923.png zipで専用ロダにもあげておきます kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8603.zip [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限: ([2009年1月22日まで]
691 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 00:30:43 ] >>690 数式みると拒否反応が出る 現役の時でも怪しかったというのに今となってはどうにもならんw
692 名前:674 mailto:sage [2009/01/12(月) 00:41:03 ] >>675 様>>676 様>>677 様 ありがとうございます。
693 名前:675 mailto:sage [2009/01/12(月) 00:44:18 ] >>692 待て!
694 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 00:51:01 ] >>693 自分でまいた種だw
695 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 00:53:07 ] >>690 ぶっちゃけ式も読めない。 3枚目の1も2も付いてないΦは何の角度?
696 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 00:59:31 ] >>695 二枚目の式に対して三枚目の近似を適用した結果だから… どうなるんだろう 紙に書かないとわからんw
697 名前:sage [2009/01/12(月) 00:59:35 ] [1] 授業単元: c言語 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8610.txt [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C言語 [4] 期限: 2009年 1月 13日 [5] その他の制限:できるだけ単純なプログラムにてお願いいたします。 後できればアルゴリズムを簡単でよければプログラムの下の方に書いていただけると助かります。 まる投げとはいっても一応自分で理解できなければ意味がないと思うので。 是非よろしくお願いいたします。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8610.txt
698 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 01:01:56 ] >>686 2回連続で負の数が入力されたら終了ってことでいいんだよな? #include <stdio.h> int main(void) { int n; int flag = 0; do { printf("入力してください\n"); scanf("%d", &n); if (n < 0) flag++; else { flag = 0; printf("%d\n", 2 * n); } } while (flag != 2); printf("終了します\n"); return 0; }
699 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 01:02:02 ] ほんとに3枚目の式合ってるんかな。 もしくは情報不足か
700 名前:585 ◆i9Dvbn/Lf6 mailto:sage [2009/01/12(月) 01:16:14 ] とにかくさっぱりわからないので、少しでもお願いします これで最後なんです
701 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 01:33:22 ] [1] 授業単元: c言語 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8611.txt [3] 環境 [3.1] OS: XP [3.2] コンパイラ名とバージョン:visualc++2005 [3.3] 言語: C言語 [4] 期限: 2009年 1月12日 12:00まで [5] その他の制限:特になし よろしくお願いします。
702 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 01:47:26 ] >>697 1問目 枝狩りしてないので n=100 (190569292 通り) くらいが限界。ついでにすぐに計算結果が long を超える #include<stdio.h> #include<stdlib.h> int min(int a, int b){ if(a<b) return a; return b; } long huga(int n, int maximum){ int i; long ret=0; for(i=min(n, maximum);i>0;i--){ if(n-i>0) ret+=huga(n-i, min(i, maximum)); else ret++; } return ret; } long hoge(int n){ return huga(n, n); } int main(int argc, char *argv[]){ int n=4; if(argc==2) n=atoi(argv[1]); printf("払い方は %ld 通り (n=%d)\n", hoge(n), n); return 0; }
703 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 02:02:34 ] >>697 3問目 #include<stdio.h> #include<stdlib.h> #define ADJUST(v) (((v)=='1' || (v)=='0')?(v):'X') int myNOT(int A){ if(A=='1') return '0'; if(A=='0') return '1'; return 'X'; } int myOR(int A, int B){ if(A=='1' || B=='1') return '1'; if(A=='0' && B=='0') return '0'; return 'X'; } int myAND(int A, int B){ if(A=='0' || B=='0') return '0'; if(A=='1' && B=='1') return '1'; return 'X'; } int myRSFF(int S, int R, int Q){ if(S=='0' && R=='0') return ADJUST(Q); if(S=='1' && R=='0') return '1'; if(S=='0' && R=='1') return '0'; return 'X'; } int main(void){ char buf[3][10]; scanf("%9s%9s%9s", buf[0], buf[1], buf[2]); printf("S=%c R=%c Q=%c --> Q'=%c\n", buf[0][0], buf[1][0], buf[2][0], myRSFF(buf[0][0], buf[1][0], buf[2][0])); return 0; }
704 名前:703 mailto:sage [2009/01/12(月) 02:04:19 ] >>703 は無しで^^;
705 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 02:13:30 ] >>695 プログラム無知の数学科出身のおれの意見を書かせてくれ おそらく二重振り子の原理はφ_1の角度にある玉が原点方向に向かって振れる運動と φ_2の角度にある玉が原点方向に振れる運動で初期の角度に大きな違いがある なので一枚目の画像の青い玉の連結が連立微分方程式において重要な役割を得る が、しかしもしΔφ=φ_1-φ_2=φ≒0ならば、青い玉の部分を考えず(二重振り子にならない) φ_1≒φ_2になるので考える振り子の運動方程式は直線OQの単振り子のそれに近似できる φはΔφの限りなく0に近い値のことを指していると思われる
706 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 02:14:28 ] 今後、宿題に答えてもらうには、一問1,000円の課金にしない?
707 名前:703 mailto:sage [2009/01/12(月) 02:17:30 ] >>697 3問目 #include<stdio.h> #include<stdlib.h> #define ADJUST(v) (((v)=='1' || (v)=='0')?(v):'X') int myNOT(int A){ if(A=='1') return '0'; if(A=='0') return '1'; return 'X'; } int myOR(int A, int B){ if(A=='1' || B=='1') return '1'; if(A=='0' && B=='0') return '0'; return 'X'; } int myAND(int A, int B){ if(A=='0' || B=='0') return '0'; if(A=='1' && B=='1') return '1'; return 'X'; } int myNOR(int A, int B){ return myNOT(myOR(A, B)); } int myNAND(int A, int B){ return myNOT(myAND(A, B)); } int myXOR(int A, int B){ return myOR(myAND(myNOT(A), B), myAND(A, myNOT(B))); } int myRSFF(int S, int R, int Q){ return myXOR(myOR(myAND(myNOR(S, R), Q), myAND(myXOR(S, R), S)), myAND(myAND(S, R), 'X')); } int main(void){ char buf[3][10]; scanf("%9s%9s%9s", buf[0], buf[1], buf[2]); printf("S=%c R=%c Q=%c --> Q'=%c\n", buf[0][0], buf[1][0], buf[2][0], myRSFF(buf[0][0], buf[1][0], buf[2][0])); return 0; }
708 名前:703 mailto:sage [2009/01/12(月) 02:31:05 ] >>707 は S=0 R=X Q=0 --> Q'=0 になっちまうけど X 出すべきかな?www
709 名前:不完全なソース mailto:sage [2009/01/12(月) 03:11:21 ] >>682 頭に0がつく数字を考慮しない場合 #include <stdio.h> void main(){ int gakuban; printf("学籍番号??? "); scanf("%d",&gakuban); if(999999<gakuban<10000000) printf("学籍番号は7桁の数字で入力して下さい\n"); else printf("e-mailアドレス: g%d@〜〜〜〜〜〜\n",gakuban); } で動くが、例を見る限り0が頭につく数を考慮しなきゃダメそうだね
710 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 04:01:02 ] >>697 2問目 #include<stdio.h> #include<math.h> #define PI (3.1415926535897932384626433832795) #define DELTA (0.01) double Calc(double t, double digree){ double radian, x, y, vx0, vy0, v0=138000/3600.0, x0=0.0, y0=1.80, g=9.8; radian=digree/180*PI; vx0=v0*cos(radian); vy0=v0*sin(radian); x=x0+vx0*t; y=y0+vy0*t-g*t*t/2; printf("%e,%e\n", x, y); return y; } int main(void){ double t, digree=0.0, *pdigree; pdigree=&digree; scanf("%lf", pdigree); for(t=0.0;Calc(t, digree)>=0.0;t+=DELTA); return 0; }
711 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 04:40:23 ] >>701 以下、2問目の解答。main内のwhileの行と不要な関数を消せば1問目になるよ。 #include<stdio.h> #include<stdlib.h> typedef struct node_ { int v; struct node_ *l, *r; } node, *pnode; pnode root = NULL; void insert_r(pnode *t, pnode n) { if (*t) insert_r(n->v < (*t)->v ? &(*t)->l : &(*t)->r, n); else *t=n; } void insert(int v) { pnode n = malloc(sizeof(node)); n->v=v; n->l=n->r=NULL; insert_r(&root, n); } void erase_r(pnode *t, int v) { if (*t) if ((*t)->v == v) { pnode l = (*t)->l, r = (*t)->r; free(*t); *t = r; if (l) insert_r(t, l); } else erase_r(v < (*t)->v ? &(*t)->l : &(*t)->r, v); } void erase(int v) { erase_r(&root, v); } void print_r(pnode n) { if (n) { print_r(n->l); printf(" %d", n->v); print_r(n->r); } } void print() { printf("data ="); print_r(root); printf("\n"); } int input_value() { int v=0; printf("数値>"); scanf("%d", &v); return v; } int menu() { char s[100]; printf("a=追加、b=削除、c=表示 >"); scanf("%99s", s); switch(s[0]) { case 'a': insert(input_value()); break; case 'b': erase(input_value()); break; case 'c': print(); return 0; } return 1; } int main() { int i; for (i = 0; i < 20; i ++) insert(rand()%101); print(); while (root && menu()); return 0; }
712 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 06:01:16 ] >>711 不要な関数とはどれのことですか?
713 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 06:40:22 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8607.txt [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン: visualc++2005 [3.3] 言語:C [4] 期限:2009年1月12日AM10時 [5] その他の制限:できるだけ簡単な関数でお願いします
714 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 08:47:46 ] >>648 お願いします
715 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 09:06:40 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク): ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8612.txt [3] 環境 [3.1] OS: Windows XP [3.2] コンパイラ名とバージョン: Visual Stdio 2005 [3.3] 言語: C [4] 期限: 1/12 22:00 [5] その他の制限:ヒントを参考に作成して下さい よろしくお願いします
716 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 09:55:21 ] >>695 クソすぎる そのφはφ_2のTypoだしD'とかいらないし 氏ねばいいのに
717 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 10:26:10 ] >>713 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8613.txt
718 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 10:36:54 ] >>715 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8614.txt
719 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 11:06:48 ] >>709 おっしゃるとおり、0の場合も考えないといけないんです・・・ どうもintでやると先頭0だと0が消えちゃうのでintは無理なんでしょうか?
720 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 11:12:03 ] >>715 #include <stdio.h> #define BUFFSIZE 256 #define FGETS(buff) fgets(buff, BUFFSIZE, stdin); *(strchr(buff, '\n')) = '\0' int main(void) { FILE *ifp, *ofp; char buff[BUFFSIZE]; int i = 0; printf("入力ファイル名を入力:"); FGETS(buff); ifp = fopen(buff, "r"); printf("%sを入力しました。\n", buff); printf("出力ファイル名を出力:"); FGETS(buff); ofp = fopen(buff, "w"); printf("%sを出力しました。\n", buff); while (fgets(buff, BUFFSIZE, ifp) != NULL) fprintf(ofp, "%4d: %s", ++i, buff); fclose(ifp); fclose(ofp); return 0; }
721 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 11:24:14 ] 早急のお返事ありがとうございます。 >>702 long huga(int n, int maximum){ int i; long ret=0; for(i=min(n, maximum);i>0;i--){ if(n-i>0) ret+=huga(n-i, min(i, maximum)); else ret++; } return ret; } の処理は何を表しているのでしょうか? 後アルゴリズムがいまいちプログラムから読み取ることができないので簡単に説明していただけると助かるのですが・・・ 自分で考えても思いつかなくて。
722 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 11:27:42 ] >>719 入力が7桁以下の場合でもOKなら #include <stdio.h> int main() { int gakuban; printf("学籍番号??? "); scanf("%d",&gakuban); if(0 < gakuban && gakuban < 10000000) { printf("e-mailアドレス: g%07d@〜〜〜〜〜〜\n",gakuban); } else { printf("学籍番号は7桁の数字で入力して下さい\n"); } return 0; }
723 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 11:32:28 ] >>682 #include <stdio.h> #include <ctype.h> #define BUFFSIZE 16 #define N 7 int main(void) { char buff[BUFFSIZE]; int i; printf("学籍番号??? "); fgets(buff, BUFFSIZE, stdin); for (i = 0; buff[i] != '\0'; ++i) if (!isdigit(buff[i])) break; if (i != N) { printf("学籍番号は7桁の数字で入力してください\n"); return 1; } buff[N] = '\0'; printf("e-mailアドレス: g%s@〜〜〜〜〜〜〜〜\n", buff); return 0; }
724 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 11:34:16 ] どなたか>>666 をお願いできませんでしょうか
725 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 11:54:35 ] >>721 二つ目以降の数字についてはすでに使用した数字以下の数字を使うことで 順列を並べ替えたものを除外しています。そのために引数 maximum を使ってます 例) n=4 のとき 4 採用 3 1 採用 1 3 除外 2 2 採用 2 1 1 採用 1 2 1 除外 1 1 2 除外 1 1 1 1 採用 今、huga という関数が自然数 n および maximum を満たす すべての組み合わせの数を数え上げることができると*仮定*します ある数 i (1≦i≦n かつ i≦maximum) を使用すると決定したときの 組み合わせ数は huga(n-i, min(i, maximum)) で求まります(仮定より) n=4 の時 4 0 → 1通り (これが else ret++;) 3 1 → huga(1, 1) 通り 2 2 → huga(2, 2) 通り 1 3 → huga(3, 1) 通り ということで n=4 の時の総組み合わせ数は 1 + huga(1, 1) + huga(2, 2) + huga(3, 1) になります 仮定を証明するのは自分でどうぞ
726 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 14:05:36 ] >>666 問1 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8615.txt
727 名前:585 ◆i9Dvbn/Lf6 mailto:sage [2009/01/12(月) 14:25:48 ] お願いします。 [1] 授業単元:Cプログラミング [2] 問題文(含コード&リンク): 二重振り子を微小振動させるとして、厳密な数値解及び解析的な近似解を初期振れ角Θを機動時に指定して、 アニメーション表示させるプログラムを表示しなさい。 グラフィックはgnuplotでもEGGXでもどちらでもよい。 教材の一部を貼っておきます。 up2.viploader.net/pic3/src/vl2_093082.png up2.viploader.net/pic3/src/vl2_092922.png up2.viploader.net/pic3/src/vl2_092923.png zipで専用ロダにもあげておきます kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8603.zip [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限: ([2009年1月22日まで] さっぱりわからないので少しだけでもお願いします
728 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 14:27:11 ] >>666 問1 出遅れたけど、せっかく作ったから kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8616.txt 問2は実行結果の何がどう間違っているかを教えてくれると解が早いんだけど。
729 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 14:40:41 ] >>726 >>728 助かりました本当にありがとうございます。 >>728 失礼しました 実行結果が 総文字数:296 単語数:83 行数:16 となるのが正しいのですが、 自分が作ったものでは 総文字数 :315 単語数 :87 行数 :20 と、異なった結果が出てしまいます。
730 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 14:56:03 ] >>729 >>666 を見る限り、「文章の終端」 == 「空行が2つ連続」としているから、 char word[][50] の最後にもう一つ空行を入れてやればそのコードで正しく動く。
731 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 15:13:49 ] >>730 分かりました、ありがとうございます。 助かりました
732 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 15:25:47 ] 初めまして、今Cを勉強してて。 問題文というか、ポインタと構造体が理解できなくて苦しんでいます。 codepad.org/H4wmHhPj このようなプログラムを組んだのですが。 mainでのAA[0]、AA[1]の値が、関数に行くとmainのAA[0]がAA[1]に入ってしまいます。 全く原因が分からず苦戦してます。 もしよろしければご教授願います。 やりたいこととしては32bit×32bit=64bitの桁あふれを解消するということです。
733 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 15:27:06 ] >>732 スレ違い 帰れ
734 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 15:32:17 ] >>733 さん 一応課題なのでこのスレに来たのですが・・・ 期限は明日です・・・
735 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 15:36:20 ] >>732 ああもうマルチうざい これやるから帰れ codepad.org/GIUMvCMC
736 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 15:39:18 ] >>734 死ね。
737 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 15:39:59 ] >>735 さん 有難うございます。 すぐに出来るってすごいですね・・・ 多倍長やるのに構造体って必要ないんですか?
738 名前:デフォルトの名無しさん [2009/01/12(月) 15:43:24 ] >>736 やっ、やめて下さい、殺さないで下さい、通報しますよ?
739 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 15:54:39 ] >>722 ありがとうございます やはり配列使うしかないのでしょうか・・・ >>723 できるのですが、残念ながらbuffや、stdin,breakは習ってないのです。ごめんなさい。
740 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 16:19:09 ] >>1 >・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
741 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 16:22:30 ] >>739 >>722 でダメなのか?