1 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 15:30:38 ] あなたが解けない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++の宿題を片付けます 121代目 pc11.2ch.net/test/read.cgi/tech/1230678123/
2 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 16:05:19 ] 気に入らない質問やその他や発言はスルーの方向で。
3 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 16:08:59 ] 前スレ987 (32^816077) mod (1009*1013) 電卓片手に計算してみた 答え 2 自分で計算しといてなんだが、なんか信じられん
4 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 16:16:02 ] そんなのって、あんま(余)りだぁ〜〜
5 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 16:17:54 ] あれ?剰余を求めるだけ?なら似たような問題が過去にもあったし、 それを流用すれば良くね?
6 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 16:22:46 ] >>5 いや宿題自体はちがうけど、 答えだけでも教えてほしいって書いてあったから。 なんとなくやってみた
7 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 16:26:27 ] 37335
8 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 16:35:12 ] pc11.2ch.net/test/read.cgi/tech/1230678123/987 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8648.c
9 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 16:59:33 ] > 32 ^ 816077 mod 1022117 指数を2進展開すると 11000111001111001101 元の計算を二乗と基数倍だけで書くと(逆ポーランド) 1 32 * 2 ^ 32 * 2 ^ 2 ^ ... 2 ^ 32 * 2 ^ 2 ^ 32 * int modpow(int x, int n, int p) { int i; long long int y = 1; for(i = 1 << 30; i > 0; i >>= 1) { y = (y * y) % p; if(n & i) y = (y * x) % p; } return (int)y; }
10 名前:デフォルトの名無しさん [2009/01/15(木) 17:09:10 ] void Point_k(int j,double Point[k][4]); void Point_k(int j,double Point[k][4]){ /*ただ今1辺6Mの正方形*/ int c=NX-1; //X軸の要素数-1 int d=NX-1; int m=c+NY; //i+Y軸の要素数=5 int n=d+NY; //double Point[k][4]; for(j=0;j<k;j++){ if(j<=d){ Point[j][0]=X_memori*j; Point[j][1]=X_memori*j+X_memori; Point[j][2]=0; Point[j][3]=0; このプログラムの意味分かりますか??
11 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 17:10:46 ] >>10 質問スレへ行け
12 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 17:26:48 ] long long int y = 1;
13 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 17:44:16 ] 10問の一桁同士の四則演算(問題はランダム)の計算ドリルを作り 正解数、正解率、かかった時間を表示させたい。 また、1問10秒という制限をつけ、その制限時間をリアルタイムに表示せよ というものがどうしてもできません。 出題、正解数やかかった時間の表示はできるのですが その先でつまづいています。
14 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 17:45:57 ] >>13 死ね >>1 くらいよめ 舌噛め
15 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 17:46:55 ] ミスって問題文だけ投稿してしてしまいました。 [2] 問題文(含コード&リンク): >>13 [3] 環境 [3.1] OS: DOS [3.2]lcc [3.3] 言語: C言語 [4] 期限: 今日まで
16 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 17:50:27 ] せっかちな>>14
17 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 17:50:43 ] [1]C [2] (1) 12の2乗数は144となり、各桁の数字の総和は1+4+4=9である。 10000以下の正整数で、2乗数の各桁の数字の総和が最大の数字はいくつか? (2) 3乗すると丁度8桁になる正整数はいくつあるか? [3]LINUX C [4]24時まででお願いします。 よろしくお願いします。
18 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 17:55:50 ] >>14 >>14 >>14 >>14 >>14 >>14 >>14 >>14 >>14 >>1 > 気に入らない質問やその他や発言はスルーの方向で。
19 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 17:57:04 ] >>15 dosでlccとか、死ね LSI-Cのことだろ
20 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 17:57:15 ] >>18 >>1
21 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 18:00:08 ] ルールに従わない奴を陰湿に罵倒して自治厨を気取るくせに、 自分が違反しているのを指摘されるとファビョる、引きこもり基地外ニートって 明らかに社会のクズだよね。
22 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 18:00:39 ] >>20 お前だよ、>>1 も読めないバカは 日本語を習ってから出直せよ、いい年したおっさんが。 お前の人生終わってんぞw
23 名前:デフォルトの名無しさん [2009/01/15(木) 18:01:58 ] 19 名前:デフォルトの名無しさん 投稿日:2009/01/15(木) 17:57:04 >>15 dosでlccとか、死ね LSI-Cのことだろ ↑詰らない揚げ足をとって、自分は知識がありますといった 自己主張が激しい反面、下らないことしか指摘しないため、 社会から干されているバカ
24 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 18:02:28 ] >>21 鏡
25 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 18:08:08 ] あっ、社会の外れの基地外がまたファビョってますよw やだね、こういうのって。何でこのスレに来ているんだろう。 別にお前が頼られているわけじゃないんだが?w まぁ、お前みたいに社会でまともに相手にされない奴が、 ここを生き甲斐にしちゃったんだろうけど、所詮ここは 不特定多数の人が来る2ちゃんねるの一部ですからw 狭い世界で必死になってなさい。お前見たな奴は、出世せずに この世を去るんでしょうけど、見ず知らずの誰かなんてこっちは 知ったこっちゃないんで、あしからず。さぁ、>>1 も読めないバカは以後放置よろ。
26 名前:デフォルトの名無しさん [2009/01/15(木) 18:18:44 ] っつか、何かすぐに 死ね って書くけど、人間性の悪さが露呈してますよ? 言われた側が気分を悪くしていると思っているんだろうけど、別の人間から見ると さもしい 人間に見えるよ。
27 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 18:21:06 ] すみません、LSICでした。 なにぶん3ヶ月前にはじめたばかりでもうしわけない
28 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 18:34:17 ] >>17 (1) #include <stdio.h> int main( void ) { int i,j,k,l=0,m=0; for (i=1;i<=10000;i++) { k=0;j=i*i; while(j>0){k+=j%10;j/=10;} if(k>m){m=k;l=i;} } printf("%d:%d\n",l,m); return 0; }
29 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 18:43:34 ] >>17 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8651.txt
30 名前:585 ◆i9Dvbn/Lf6 mailto:sage [2009/01/15(木) 19:00:48 ] お願いします。 [1] 授業単元:Cプログラミング [2] 問題文(含コード&リンク): 二重振り子を微小振動させるとして、厳密な数値解及び解析的な近似解を初期振れ角Θを機動時に指定して、 アニメーション表示させるプログラムを表示しなさい。 グラフィックはgnuplotでもEGGXでもどちらでもよい。 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日まで] さっぱりわからないので少しだけでもお願いします
31 名前:585 ◆i9Dvbn/Lf6 mailto:sage [2009/01/15(木) 19:02:48 ] 画像はこちらです(内容はzipと一緒です) upp.sakura.ne.jp/src/upp24055.png upp.sakura.ne.jp/src/upp24056.png upp.sakura.ne.jp/src/upp24057.png
32 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 19:16:23 ] lcc.exeだから間違いではない
33 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 19:17:51 ] 厳密な数値解及び解析的な近似解ってこれ逆じゃないの? なんで解析解が近似なのさ
34 名前:585 ◆i9Dvbn/Lf6 mailto:sage [2009/01/15(木) 19:24:37 ] >>33 いえ、確かに問題文には >厳密な数値解及び解析的な近似解 と書いてあります
35 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 19:34:31 ] >>33 使う式のことじゃないのか? 正しい式を数値解析で解くのと 近似式を解析的に解くのとで
36 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 19:36:15 ] >>30 >機動時 いい加減、直したらどうだろ
37 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 20:09:31 ] >>36 機動性に優れていて、良いだろ?
38 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 20:10:00 ] >>31 最低でも、3枚目の一番上の式を確認しないとな・・・
39 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 21:06:27 ] 前スレにて 940 名前:デフォルトの名無しさん[sage] 投稿日:2009/01/14(水) 22:40:43 [1] 授業単元:C言語 [2] 問題文(含コード&リンク):uproda.2ch-library.com/src/lib091407.txt [3] 環境 [3.1] OS:WindowsVista [3.2] コンパイラ名とバージョン: Visual Studio2008 [3.3] 言語: C++ [4] 期限: 1月16日まで [5]その他の制限:特になし という質問で kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8641.txt という回答を頂いたのですが上手くいきません。 失礼かと思いますが、どこがおかしいか教えていただけると助かります。
40 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 21:26:35 ] >>39 > [1] 授業単元:C言語 > [3.3] 言語: C++ どっちだよ。 C++ならそれで動く。 Cなら - std:: をすべて消す - #include <c*****> を #include <*****.h> に直す - for ループ部の i を for ループの外であらかじめ宣言しておく - static_cast<int> を (int) に直す くらいか。 それと、「上手くいきません」じゃなくて具体的に書いとけ。 コンパイルエラーが出たんならエラーメッセージを貼るとか、実行結果がおかしいならどこがどうおかしいのかとか。
41 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 21:49:35 ] >>40 上手くいきました。ありがとございました。
42 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 22:21:11 ] >>31 この辺みて、教員に確認しろ。 www.ne.jp/asahi/tokyo/nkgw/gakusyu/rikigaku/2zyufuriko/zyufuriko_kaisetu/zyufuriko_kaisetu.html 仕様が固まれば、コーディングくらいしてくれる人がいるだろ
43 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 22:55:10 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8652.txt 3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン: visualc++2005 [3.3] 言語:C [4] 期限:2009年1月16日午前8時 [5] その他の制限:できるだけ簡単な関数でお願いします
44 名前:デフォルトの名無しさん [2009/01/15(木) 23:26:02 ] [1] 授業単元: プログラミング基礎実習 [2] 問題文(含コード&リンク): s2 の文字列を s1 へ,最大で n 文字未満コピーするstrncpy関数の作成 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン: cc [3.3] 言語: C言語 [4] 期限:あさって [5] その他の制限: 関数宣言は char *strncpy(char *s1, char *s2, int n);
45 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 23:46:26 ] >>44 最大で n 文字未満ってことはn-1文字コピーしてNULL文字入れろってことか? 何返せばいいのかもわからん。とりあえずs1そのまま返しておいた char *strncpy(char *s1, char *s2, int n){ int i; for(i = 0; i < n-1 && s1[i]; i++) s1[i] = s2[i]; s1[i] = '\0'; return s1; }
46 名前:デフォルトの名無しさん [2009/01/15(木) 23:46:27 ] 切羽詰ってます。よろしくお願いします>< [1] 授業単元:ディジタル信号処理 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8653.txt [3] 環境 [3.1] OS:windows vista [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C言語 [4] 期限:16日の12:00 [5] その他の制限:.txtのDFTプログラムのような簡単な記述で、流れは変更前のものを参考に
47 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 00:24:23 ] 手羽詰ってます、安いよ安いよーよろしくご購入して下さい ><
48 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 00:43:38 ] >>46 元のコードがタイポってるってどういうことよ
49 名前:45 mailto:sage [2009/01/16(金) 00:56:45 ] >>45 ミスってるw char *strncpy(char *s1, char *s2, int n){ int i; for(i = 0; i < n-1 && s2[i]; i++) s1[i] = s2[i]; s1[i] = '\0'; return s1; } こうだな
50 名前:デフォルトの名無しさん [2009/01/16(金) 01:17:13 ] 皆様のおかげで無事単位を取得できました 本当にありがとうございます これからは人に頼らずできるかぎり自分の力で頑張っていきたいです
51 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 01:19:34 ] ここで回答する側になって人に頼られるようになるともっといいね がんばれ
52 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 01:40:03 ] 久々に和んだ
53 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 01:49:17 ] このスレの本質は自分に解ける課題を楽しむというエゴであって 相手のためを考えることなんかじゃない 頼られていると感じたいというエゴでもいいけどさ [1] 授業単元:暇つぶし が好きだ
54 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 01:53:28 ] プログラミングをしたって、商用で使わなきゃ金なんて入ってこないし。 まぁ、趣味でも良いが、カンパウェアとして、任意で気に入ったら 金を払ってくれるソフトでも作ってな。
55 名前:デフォルトの名無しさん [2009/01/16(金) 01:56:35 ] [1] 授業単元: C言語 [2] 問題文(含コード&リンク): コード web.hc.keio.ac.jp/~onda/c-lang/mcalc0.c 課題 web.hc.keio.ac.jp/~onda/c-lang/ のTermEndRport.doc のステージ4まで [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン:Visual studio 2008 [3.3] 言語: C++) [4] 期限: ([2009年1月16日9時まで]
56 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 01:58:23 ] そんなおまいを、KOしてやりたいぜ・・・
57 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 02:00:31 ] >>56 反応早いなw そんなに暇なのか
58 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 02:03:27 ] ちょっと前にも多倍長演算でヘンテコな質問繰り返してるヤツがいたっけ。
59 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 02:04:21 ] いやね、言語にC++と指定しておきながら、C言語なのは なんでだろ〜なんでだろ〜なんでだなんでだろ〜 って思ってね リングに沈めてやろか?って
60 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 02:06:02 ] Cの課題をC++で解いて提出するのが流行ってるのかね
61 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 02:09:45 ] >>55 んで、どうすれば良いの?int型の上限を超える2つの値の加算のコードを 各自で最初から記述しろと?俺流ので良ければやるが、朝の9時までか・・・もう眠い。 っつか、それ、確かに長いな・・・もっとスマートにしてちょっ
62 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 02:11:32 ] >>61 TermEndRport.docに >超基本機能版(mcalc0.c)に対して、次の手順に従って、機能を拡張しなさい。 って書いてあるよ
63 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 02:15:50 ] >>62 みなかったことにしよう
64 名前:デフォルトの名無しさん [2009/01/16(金) 02:16:22 ] 同じリンク先のmalc0.cをいじってやるのですが全然わからなくて・・・
65 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 02:18:57 ] >>62 見落としてた。まぁ、出来ないことはないが、 コードの解析が面倒だから、あとはあんたに任せたw
66 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 02:19:40 ] やらないんなら出来ないのと同じw
67 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 02:25:15 ] あんだよぉ、俺を試そうってかぁ?朝の9時までってタイムリミットがあるから 今はやらないんだよぉ。起きたら自主でやるから、許してw
68 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 02:31:11 ] ゴネたけど、見たら仕組みが分かったんで、ステージ2まですぐに終わったから このままステージ4までやるわw
69 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 02:34:16 ] あれ?ステージ2の答えが合ってねーぞ・・・
70 名前:デフォルトの名無しさん [2009/01/16(金) 03:03:37 ] >>69 どんな感じですか?
71 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 03:06:15 ] >>70 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8654.c TermEndReport.docのと比較してみて。目で追って確認したところ、 繰上げがされていない結果が記述されているようだが・・・
72 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 03:10:15 ] >>71 はステージ1と2 >>55 続いてステージ3 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8655.c
73 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 03:31:19 ] >>55 ステージ4 投げやりですまそ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8656.c
74 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 03:32:46 ] あと、出題者も分かっているとは思うけど、入力する値に マイナスを入れても正常に機能しないので、あしからず。 さっ、寝よっと。
75 名前:デフォルトの名無しさん [2009/01/16(金) 03:37:37 ] ありがとうございます! これで単位が来ます。 ちょっと質問なのですがステージ2の putchar(0x20) は何を意味しているのですか?
76 名前:デフォルトの名無しさん [2009/01/16(金) 03:39:27 ] あ、起きてからでも教えてくださいw
77 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 03:41:50 ] >>76 あっ、いや、 ' ' 空白と同じ。嫌なら変えておいて。
78 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 03:45:15 ] putchar(' '); ね。あと、add(a,b,MAXDIGIT+1); の+1は要らんかったかも・・・
79 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 03:46:46 ] せっかく作ったので貼ってみる stage4 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8657.txt
80 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 05:13:18 ] せっかく作ったので貼ってみる スペシャルステージ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8658.txt 演算子定義するのが面倒だったから"減算"ではなく"負数の加算"だけども。
81 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 05:43:23 ] 落ち着け
82 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 07:27:45 ] スイマセン、どなたか>>43 を解いて頂けないでしょうか?
83 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 07:54:53 ] >>43 #include <stdio.h> #include <string.h> int main() { char str[20] = {0}; int len; int i; printf("文字列を入力:"); scanf("%s", str); len = strlen(str); for (i=len-1; i>=0; i--) printf("%c", str[i]); putchar('\n'); for (i=0; i<len; i++) printf("%d,", str[i]); putchar('\n'); for (i=0; i<len; i++) printf("0x%x,", str[i]); putchar('\n'); return 0; }
84 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 08:24:06 ] 1.10個の2桁で正の10進データをstaticデータとしてプログラム中にいれ、11個目の数をー999とする。ポインターを使って、この10個の数の合計と平均を求めるプログラムをつくる。 2.Sachiko, Emiko, Setuko, Rie, Mariko, Sara の6人の名前をポインター配列にし、頭文字がSで次の文字がaの名前を表示するプログラムを書け。 3.3つの数字をmain文でscanfで与える。そして、関数maxで3つの数の最大値を求めて、mainに帰り次のように出力する。(p102参照) 3つの数を入力してください? 55 86 32 最大値は86です。 4.do while文をつかって、1から100までの和を求めよ。 5. 練習問題29のメニューの中にそれぞれの金額を設定し、つまり kingaku[ ] という配列をもう一つつくり、2つ以上の品を注文したとき 品名と合計金額をもとめるプログラムをつくる。 メニュー表:1サーロインステーキ 2ビーフストロガノフ 3ヒレカツ定食 4すき焼き定食
85 名前:84 mailto:sage [2009/01/16(金) 08:25:19 ] 6. page 137 のソートのプログラムを参考にして、8人の名前をアルファベットでプログラム中に配列で入力しておき(参考p94−ポインタ配列)、ABC順に名前を並べ替える。 p137のソートプログラム参考 #include<stdio.h> #define N 8 Void main (void) /*基本選択法によるソート*/ { Static int a[]={100,55,65,33,211,66,31,90}; Int j,k,min,s,dumy; For (k=0;k<N−1;k++) { Min=a[k]; S=k; For (j=k+1;j<N;j++) { If (a[j]<min) { Min=a[j]; S=j; } } Dumy=a[k]; a[k]=a[s]; a[s]=dumy; } For (k=0;k<N;k++) Printf(“%5d”,a[k]); } 以上です。徹夜してもわからなかったのでお助けください。 よろしくお願いします。
86 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 09:04:24 ] >>85 6番だけやってみた。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8659.c
87 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 09:39:46 ] >>84 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8660.zip 5番目の問題にある「練習問題29」を提示してくれ。
88 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 09:57:35 ] >>84 何か勘違いしてた。 ↓5番の問題 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8661.c
89 名前:46 [2009/01/16(金) 11:54:16 ] 訂正します [1] 授業単元:ディジタル信号処理 [2] 問題文(含コード&リンク): 入力値は{1,1,1,1,0,0,0,0}で、出力が 0 4.000 0.000 4.000 1 1.000 -2.414 3.414 2 -0.000 -0.000 0.000 3 1.000 -0.414 1.082 4 0.000 -0.000 0.000 5 1.000 0.414 1.082 6 0.000 -0.000 0.000 7 0.999 2.414 2.613 になる8点FFTプログラムを作成せよ [3] 環境 [3.1] OS:windows vista [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C言語 [4] 期限:16日の17時 [5] その他の制限:なるべく簡単な記述で
90 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 11:59:27 ] >>89 何を訂正したのか知らないけど、 オマエが張ったBASICと思しきコードは一度も実行してないだろ
91 名前:46 [2009/01/16(金) 12:10:07 ] >>90 元のコードはテキストにあったものを打ち込んだだけなんです。。 講師にこのプログラムを参考にC言語で8点FFTを作成しろとだけ言われたもので実行はしてないです。すみません
92 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 12:19:02 ] . ./ \ / \ \ '''''' '''''':::::::::::::/ . |(●), 、(●)、.:| + | ,,ノ(、_, )ヽ、,, .::::| まピョーン☆ . | `-=ニ=- ' .:::::::| + \ `ニニ;‘ .:::::/ + ,,.....イ.ヽヽ、ニ__ ーーノ゙-、. : | '; \_____ ノ.| ヽ i | \/゙(__)\,| i | > ヽ. ハ | ||
93 名前:デフォルトの名無しさん [2009/01/16(金) 19:28:50 ] [1] 授業単元:Computer Prigramming II 第14回:木(ツリー)構造,再帰的関数と再帰的呼び出し [2] 問題文(含コード&リンク): 下の入出力例のように,適当な数字を入れると,1からその数までの和が計算過程とともに 表示されるプログラムを作りなさい。ループ(for)文を使うものと再帰的関数を使用するも のの2種類の解答を作ること。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8662.txt [3] 環境 [3.1] OS:Windows Vista / Linux [3.2] コンパイラ名とバージョン:Visual C++ 2008 Express Edition / gcc [3.3] 言語:C [4] 期限:2008年1月25日00:00まで [5] その他の制限:
94 名前:デフォルトの名無しさん [2009/01/16(金) 19:33:54 ] >>93 ヒント載せ忘れ: @ループ文とは例えば以下のようなものである。 int i, s=0; for(i=1;i<=n;i++) s += i; A再帰的関数の漸化式で表現したものとは例えば以下のようなものである。 int sum(int n){ if(n==1) return( 1 ); else return( n + sum( n-1 ) ); } int main(void){ scanf( "%d", &n); printf( "%d\n", sum( n ) ); return 0; }
95 名前:84 [2009/01/16(金) 19:51:24 ] >>86 >>88 ありがとうございます!!!!
96 名前:585 ◆i9Dvbn/Lf6 mailto:sage [2009/01/16(金) 20:58:38 ] お願いします。 [1] 授業単元:Cプログラミング [2] 問題文(含コード&リンク): 二重振り子を微小振動させるとして、厳密な数値解及び解析的な近似解を初期振れ角Θを起動時に指定して、 アニメーション表示させるプログラムを表示しなさい。 グラフィックはgnuplotでもEGGXでもどちらでもよい。 画像はこちらです(内容はzipと一緒です) upp.sakura.ne.jp/src/upp24055.png upp.sakura.ne.jp/src/upp24056.png upp.sakura.ne.jp/src/upp24057.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日まで] さっぱりわからないので少しだけでもお願いします >>42 さんのリンク先の内容でいいみたいです(はっきりとは答えてもらえませんでした) www.ne.jp/asahi/tokyo/nkgw/gakusyu/rikigaku/2zyufuriko/zyufuriko_kaisetu/zyufuriko_kaisetu.html
97 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 21:14:53 ] >>96 使用が固まらない限り、誰にも、どうにも出来ない。
98 名前:デフォルトの名無しさん [2009/01/16(金) 21:31:46 ] [1] 授業単元:C言語 [2] 問題文:2人の人の名前と年齢を入力し、同じ年なら「○○と××は同じ年」、 そうでなければ「○○は××より□歳年上」と表示するプログラムを作成せよ [3] 環境 [3.1] OS: Windows [3.2] [3.3] 言語: C言語 [4] 期限: 1月18日まで 誰か教えてください!!お願いします!!
99 名前:585 ◆i9Dvbn/Lf6 mailto:sage [2009/01/16(金) 21:43:36 ] >>97 仕様とは具体的にどういうことでしょうか?
100 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 21:54:01 ] >>99 >>42 のリンク先と3枚目の式があってないだろ
101 名前:585 ◆i9Dvbn/Lf6 mailto:sage [2009/01/16(金) 21:56:07 ] >>100 そこらへん先生がはっきり言ってくれなかったんですよね… 3枚目は無視してもらって>>42 のリンク先でやってもらうということはできないでしょうか?
102 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 21:56:24 ] [1] 授業単元:C言語 [2] 問題文:ファイル中の文字数,単語数,行数をカウントするプログラムを作成せよ。 単語の切れ目はアルファベット以外の文字、行の終わりは改行文字またはファイルの終端とします。 この課題のソースファイルで動作確認をしてください。 [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン:Visual C++ 2008 Express Edition [3.3] 言語:C言語 [4] 期限:1/18まで [5] その他の制限:特にありません。 よろしくお願いします。
103 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 21:57:37 ] >>101 作るものがわからないのに無理だろ
104 名前:585 ◆i9Dvbn/Lf6 mailto:sage [2009/01/16(金) 22:01:37 ] >>103 たぶんですが、>>42 のリンク先の一番下で >数値解析してシミュレーションしたのが〜 でいいと思うんですけど…
105 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 22:05:32 ] 1.10個の2桁で正の10進データをstaticデータとしてプログラム中にいれ、11個目の数をー999とする。ポインターを使って、この10個の数の合計と平均を求めるプログラムをつくる。 2.Sachiko, Emiko, Setuko, Rie, Mariko, Sara の6人の名前をポインター配列にし、頭文字がSで次の文字がaの名前を表示するプログラムを書け。 3.3つの数字をmain文でscanfで与える。そして、関数maxで3つの数の最大値を求めて、mainに帰り次のように出力する。(p102参照) 3つの数を入力してください? 55 86 32 最大値は86です。 4.do while文をつかって、1から100までの和を求めよ。 よろしくお願いします><
106 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 22:08:08 ] >>98 #include <stdio.h> int main(void) { char name1[32],name2[32]; int age1,age2; scanf("%s",&name1); scanf("%d",&age1); scanf("%s",&name2); scanf("%d",&age2); if(age1>age2) printf("%sは%sより%d歳年上",name1,name2,age1-age2); else if(age1<age2) printf("%sは%sより%d歳年上",name2,name1,age2-age1); else printf("%sと%sは同じ歳",name1,name2); return 0; }
107 名前:デフォルトの名無しさん [2009/01/16(金) 22:17:54 ] >>106 わざわざありがとうございます!助かりました!ありがとうございました!
108 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 23:02:12 ] >>104 www.ne.jp/asahi/tokyo/nkgw/gakusyu/rikigaku/2zyufuriko/zyufuriko.html 見てのとおり、1,2の比を固定してもパラメータが四つもあるぞ。 大体、振り子が二つあるのに初期振れ角が一個とか、どうなってんだ? 第八回の課題をコピペして、直し忘れたんじゃないのか? www-it.sci.waseda.ac.jp/CPR2/class7/
109 名前:585 ◆i9Dvbn/Lf6 mailto:sage [2009/01/16(金) 23:08:53 ] >>108 だとすると先生側のミスって事ですかね?
110 名前:585 ◆i9Dvbn/Lf6 mailto:sage [2009/01/16(金) 23:11:27 ] らちが明かないので諦めますね ありがとうございました
111 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 23:16:04 ] >>109 www-it.sci.waseda.ac.jp/CPR2/class7/cprogram08-12.pdf 付録と微小振動の式が違うんだから、絶対間違ってるだろ
112 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 23:35:54 ] >>585 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8663.c やっとできた頃にあきらめるとは… タイミング悪すぎやわ
113 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 23:58:51 ] 校名晒されて怖くなったんじゃねぇの
114 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 00:08:28 ] >>113 公開されてる問題文を書き込んでおいて今更なあ・・・
115 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 00:12:29 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク): <学籍番号(7カラム)><氏名(10カラム)><成績1(2カラム)><成績2(2カラム)> こういう行が100行あるファイルを読み込んで、 点数の平均・標準偏差・偏差値を求め、 その後点数順に表示・順位の項目を加えて表示する。 [3] 環境 [3.1] OS: ウィンドウズ [3.2] Visual C++ [3.3] 言語: C [4] 期限: 1月20日まで [5] その他の制限: 標準偏差と偏差値に関しては構造体を利用する。 よろしくお願いします
116 名前:デフォルトの名無しさん [2009/01/17(土) 00:31:00 ] [1] 授業単元:Cプログラミング [2] 問題文(含コード&リンク): www.k-php.com/lib/uploda/src/file132.jpg この問題をR=0、R=0.2のそれぞれの場合について求めろという課題です [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン:Visual C++ 2008 Express Edition [3.3] 言語:C言語 [4] 期限: 1月19日まで [5] その他の制限: 特にないです どなたかよろしくお願いします
117 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 01:24:17 ] 専門的な知識が必要な課題が増えてきたなあ。 そういう時期なんだろうなあ。 俺には無理。
118 名前:デフォルトの名無しさん [2009/01/17(土) 01:40:43 ] [1] プログラミング [2] 問題文(含コード&リンク): 画面に任意の次数の単位行列を表示するプログラムを作れ。 [3] 環境 [3.1] OS:Windows XP [3.2] g++ [3.3] C++ [4] 期限:1月19日まで [5] 特に制限はないです。 お願いします;;
119 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 01:49:52 ] >>115 成績1、成績2ってなんだ? 点数とはどう関係する? >>116 まずは、 v(t) = ... i(t) = ... まで手計算で解け
120 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 01:52:33 ] >>116 この辺を100ボルトにしてやれば、ナントカなるのだろうか? www.ele.kanagawa-it.ac.jp/~tachibana/H16_NumAnal_PDF/H16_NumAnl_chap2_list.pdf
121 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 01:55:06 ] >>118 表示の仕方が良く分からんけど #include<stdio.h> int main() { int i,j,k; printf("次数を入れてね:"); if((1!=scanf("%d",&k))||(k<2)) { printf("入力ミス"); return 0; } for(i=0;i<k;i++) { for(j=0;j<k;j++) { if(i==j) printf("1 "); else printf("0 "); } printf("\n"); } return 0; }
122 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 01:57:46 ] >>118 #include <iostream> using namespace std; int main(){ int N; cout << "Input N:"; cin >> N; for(int i=0;i<N;++i){ for(int j=0;j<N;++j) cout << ((i==j)?1:0) << " "; cout << endl; } }
123 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 02:49:00 ] >>109 大抵は生徒のミス。 先生がミスってると思うのであれば、解答しなくても点くれるよ。
124 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 03:17:08 ] >>116 以下はR=0.2Ωの場合。RESISTANCE_RがRなので、適当に変えてね。 #include<stdio.h> #define INDUCTANCE_L 0.5 // インダクタンスL [H] #define CAPACITANCE_C 0.5 // 容量C [F] #define VOLTAGE_E 100 // 電圧E [V] #define RESISTANCE_R 0.2 // 抵抗R [Ω] #define TIME_STEP 0.001 // 時間刻み [s] int main() { double current_i; // 電流i [A] double charge_c; // Cの電荷 [C] double voltage_r; // Rの電圧 [V] double voltage_l; // Lの電圧 [V] double voltage_c; // Cの電圧 [V] (=v) int i; current_i = 0; charge_c = 0; for (i = 0; i <= 30000; i ++) { voltage_c = charge_c / CAPACITANCE_C; voltage_r = current_i * RESISTANCE_R; voltage_l = VOLTAGE_E - voltage_r - voltage_c; if (i % 100 == 0) { printf("t=%3.3f[s], i=%3.2f[A], Q_C=%3.2f[C], V_R=%3.2f[V], V_L=%3.2f[V], V_C=%3.2f[V]\n", i*TIME_STEP, current_i, charge_c, voltage_r, voltage_l, voltage_c); } charge_c += current_i * TIME_STEP; current_i += voltage_l / INDUCTANCE_L * TIME_STEP; } return 0; }
125 名前:デフォルトの名無しさん [2009/01/17(土) 04:02:42 ] >>120 さん>>124 さん ありがとうございます。すごく参考になります。
126 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 06:32:16 ] 丸投げでなくてすみません。あと一歩で完成だと思うのですが、実行するとコンソールの途中で処理が止まってしまいます。 (MPI_SendとMPI_Recvのデッドロック?)どこかを少しいじれば完成なのですが、ご指摘頂けませんか? [1] 並列プログラミング [2] 問題文(含コード&リンク): 整数を昇順にソートするプログラムを並列プログラミングで作成せよ。 mpirun -np 3 ./a.out 9 のように実行すると、3つのプロセスがそれぞれ3要素の乱数配列を作成し、 プロセス内でバブルソートした後にマージ処理を行って全体での昇順に格納します。 例) proc0: array[0]=13, array[1]=7, array[2]=5 proc1: array[0]=9, array[1]=4, array[2]=2 proc2: array[0]=20, array[1]=12, array[2]=10 という乱数配列を生成した場合、まずプロセサ内でバブルソートして proc0: array[0]=5, array[1]=7, array[2]=13 proc1: array[0]=2, array[1]=4, array[2]=9 proc2: array[0]=10, array[1]=12, array[2]=20 とする。最後にマージする。このとき、各プロセス内にarrayと同一個数の メモリを使用してよいが、それ以上のメモリを使ってはならない。 (この例の場合各プロセスはそれぞれtemp_array[3]を使って良い。) proc0: array[0]=2, array[1]=4, array[2]=5 proc1: array[0]=7, array[1]=9, array[2]=10 proc2: array[0]=12, array[1]=13, array[2]=20 僕のプログラムの、74行目から102行目までのどこかがおかしいのだと思います。 www.dotup.org/uploda/www.dotup.org14059.c.html [3] 環境 [3.1] OS:MacOSX [3.2] gcc [3.3] C [4] 期限:1月17日まで
127 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 07:49:18 ] mpi.h
128 名前:126 mailto:sage [2009/01/17(土) 09:14:13 ] 原因が判明しました。各処理内で1回だけ処理させるべきところを全てのプロセスに処理させて しまっていたため、デッドロックになっていたみたいです。 で、そこは修正したのですが、肝心の結果がおかしく、ソートされていません。 理由が解る方いたら教えて下さい。宜しくお願いします。 www.dotup.org/uploda/www.dotup.org14111.c.html
129 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 10:15:45 ] ソースをもう少し整理してください。 57から59の時点でおかしい気がする。 同じアドレスに複数のCPUで同時にアクセスしたらやばいんじゃない? 並列化するなら分割統治法のソートを用いるべき。
130 名前:126 mailto:sage [2009/01/17(土) 10:27:06 ] >>129 レス有り難うございます。同じ配列名ですが、CPU個別で別の配列なのでそれぞれソートしてくれるような気がするのですが。。 (最初の乱数配列作成も同じ手順でやっています)とりあえず、57〜59行目を以下のように変更しましたが、ソートはされませんでした。 for(i=0; i<nprocs; i++) { if(mype==i) { bubblesort(array, nlocal); } MPI_Barrier(MPI_COMM_WORLD); }
131 名前:129 mailto:sage [2009/01/17(土) 10:36:36 ] なにー!?
132 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 10:45:33 ] >>130 これってどういう挙動のソート? for(p=0; p<nlocal; p++) { for(q=0; q<nlocal; q++) { if(array[p]>temp_array[q]) { array[p]=array[p]^array[q]; array[q]=array[p]^array[q]; array[p]=array[p]^array[q]; } } }
133 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 10:48:32 ] 全体見てないからわからないけど、まさか p == q のときにif文内実行したりはしないよな?
134 名前:126 mailto:sage [2009/01/17(土) 10:58:03 ] >>132 ごめんなさい。一部誤りがありました。以下のように修正させて下さい。(修正しても結果はソートされませんでしたが。。) for(p=0; p<nlocal; p++) { for(q=0; q<nlocal; q++) { if(array[p]>temp_array[q]) { array[p]=array[p]^temp_array[q]; //array[q]をtemp_array[q]に変更 array[q]=array[p]^temp_array[q]; //array[q]をtemp_array[q]に変更 array[p]=array[p]^temp_array[q]; //array[q]をtemp_array[q]に変更 } } } この意味するところは、 int dummy; for(p=0; p<nlocal; p++) { for(q=0; q<nlocal; q++) { if(array[p]>temp_array[q]) { dummy=array[p]; array[p]=temp_array[q]; temp_array[q]=dummy; } } } と同一のつもりです。使って良いメモリはプロセスあたりnlocal*2ですので。。 つまり、arrayとtemp_arrayの配列を比較し、arrayに小さい半分の(nlocal個の)整数を格納し、temp_arrayに大きい半分の(nlocal個の)整数を格納したつもりです。
135 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 11:13:23 ] 同一じゃなあああああああああああーい array[q]=array[p]^temp_array[q]; -> temp_array[q]=array[p]^temp_array[q];] ってことかな int dummy; for(p=0; p<nlocal; p++) { for(q=0; q<nlocal; q++) { if(array[p]>temp_array[q]) { dummy=array[p]; array[p]=temp_array[q]; temp_array[q]=dummy; } } } の結果はランダムになると考えてよいのか? それとも、ソート処理の一環と考えるべき?
136 名前:126 mailto:sage [2009/01/17(土) 11:19:02 ] >>133 p==qのときもif処理は実行するようにしています。 例えば、以下のようなケースの場合、 array[0]=2, array[1]=9, array[2]=17 temp_array[0]=1, temp_array[1]=3, temp_array[2]=20 まずarray[0]とtemp_array[0]を比較し、array[0]の方が大きいので交換。 array[0]=1, array[1]=9, array[2]=17 temp_array[0]=2, temp_array[1]=3, temp_array[2]=20 次にarray[0]とtemp_array[1]を比較し、array[0]の方が小さいので何もしない。 次にarray[0]とtemp_array[2]を比較し、array[0]の方が小さいので何もしない。 次にarray[1]とtemp_array[0]を比較し、array[0]の方が大きいので交換。 と続けて行くと、最終的に array[0]=1, array[1]=2, array[2]=3 temp_array[0]=17, temp_array[1]=9, temp_array[2]=20 となるようにするのが意図です。
137 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 11:23:32 ] >>136 いや array[p]=array[p]^array[q]; みたいにどっちもarrayだったらの話だから気にするな
138 名前:126 mailto:sage [2009/01/17(土) 11:35:23 ] あっ。。。出来たかもしれません。 最終確認して、正常動作したらアップ致します。
139 名前:デフォルトの名無しさん [2009/01/17(土) 11:56:52 ] >>121 >>122 無事表示されました!ありがとうございます♪
140 名前:デフォルトの名無しさん [2009/01/17(土) 12:07:09 ] 1] プログラミング [2] 問題文(含コード&リンク): キーボードから入力された0から1までの数字各々の個数をカウントし、表示するプログラムを作れ (例19003と打ち込めば、1・9・3は1、0が2、他は0) [3] 環境 [3.1] Windows xp [3.2] gcc [3.3] C++ [4] 1月20日 [5] 制限なし お願いします。
141 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 12:22:57 ] 0から1まで?
142 名前:デフォルトの名無しさん [2009/01/17(土) 12:31:26 ] あッ、間違えました 0から9までです。
143 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 12:39:23 ] >>140 #include <stdio.h> #include <string.h> int main() { char buf[256], *ptr; int cnt[10], i; fgets(buf, sizeof(buf), stdin); for(i = 0; i < 10; i++){ cnt[i] = 0; } for(ptr = buf; *ptr != '\0'; ptr++){ if('0' <= *ptr && *ptr <= '9'){ cnt[*ptr - '0']++; } } for(i = 0; i < 10; i++){ printf("%d: %d\n", i, cnt[i]); } return 0; }
144 名前:143 mailto:sage [2009/01/17(土) 12:41:00 ] #include <string.h> は余計だった。その行は消してくれ。
145 名前:デフォルトの名無しさん [2009/01/17(土) 13:11:56 ] 助かりました!
146 名前:126 mailto:sage [2009/01/17(土) 13:20:29 ] なんか軽くなりすましが入ったようですが、一応クラスタ環境でも 動作しましたのでソースアップしときます。各位コメント有り難う。 www.dotup.org/uploda/www.dotup.org14293.zip.html
147 名前:デフォルトの名無しさん [2009/01/17(土) 13:36:13 ] ASCIIコードのうち印字可能(空白含む)な文字を表示しなさい。 なお、その際、英数字以外の文字は [ ] で囲みなさい。 お願いします
148 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 13:40:08 ] #include <stdio.h> #include <ctype.h> int main(void) { int i; for(i=0; i<256; i++) { if(isprint(i)) { if(isalnum(i)) putchar(i); else printf("[%c]", i); } } return 0; }
149 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 13:41:29 ] >>147 #include <stdio.h> #include <ctype.h> int main() { int i; for(i = 0; i <= 0xFF; i++){ if(isprint(i)){ if(isalnum(i)){ printf("%c", i); } else { printf("[%c]", i); } } } return 0; }
150 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 14:25:18 ] >>148 >>149 非常にありがとうございます。
151 名前:デフォルトの名無しさん [2009/01/17(土) 15:02:48 ] [1] 授業単元:プログラミング1 [2] 問題文(含コード&リンク): int型配列“idata[]”に正の整数値が入っているときに、この配列を渡されて、 戻り値として整数値のうちの最大値を返す関数“idmax”および最小値を返す関数“idmin” を作りなさい。 最大値を返す関数:int idmax(int idata[]) 最小値を返す関数:int idmin(int idata[]) ただし、データの最後を識別するために、最終データの次の配列要素には、 「-1」(マイナス1)が入っているものとする。 また、動作を確認するためのmain関数として、キーボードから正の整数値を 1つずつ読み込み、-1を読み込んだのち、関数idmaxおよびidminを呼び出し、 下記のように、読み込んだ整数値、最大値および最小値をディスプレイに 表示するプログラムをつくりなさい。 読み込んだ整数値の個数は、最大でも10個までとして、main関数を作っても構わない。 _____ディスプレイ______ 読み込んだ整数値:○ △ ◇ □ 最大値:△ 最小値:○ _______________ [3] 環境 [3.1] OS: WindowsXP[3.2] Visual studio[3.3] C言語 [4] 期限: 2009年1月19日まで どなたか、分かる方どうぞよろしくお願いします!!!!
152 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 15:55:00 ] >>151 #include <stdio.h> int idmax(int idata[]) { int max = *idata; while(*++idata > 0) if(max < *idata) max = *idata; return max; } int idmin(int idata[]) { int min = *idata; while(*++idata > 0) if(min > *idata) min = *idata; return min; } int main(void) { int i, a[11]; for(i=0; i<10; i++) { scanf("%d", a + i); if(a[i] == -1) break;} if(i==10) a[10] = -1; printf("読み込んだ整数値:"); for(i=0; a[i]!=-1; i++) printf("%d ", a[i]); putchar('\n'); printf("最大値:%d\n", idmax(a)); printf("最小値:%d\n", idmin(a)); return 0; }
153 名前:デフォルトの名無しさん [2009/01/17(土) 16:32:55 ] 文字処理関数の使用例において、文字の入力に、「scanf("%c", &c);」を使うと is○○関数で上手く判定が出来ないのはなぜですか?
154 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 16:35:21 ] >>153 どうせ改行文字がバッファに残ってるせいなんだんだろうな
155 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 16:39:04 ] >153 標準入力からはいったん文字列で読み込むようにして sscanf(文字列, "%c", &c); ではどうだろうか?
156 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 16:43:06 ] >>153 scanf() で %c を指定すると、1バイトのデータしか入力しません。 'A' を入力すれば、0x41 です。 int型変数 c は、例えば宣言時に不定値が設定されていて 0xffff だったとすると、 それに 0x41 だけを入力するので、0xff41 になってしまいます。 これでは is○○関数では正しい判断は行えません。 回避策ですが、scanf を使わずに、getchar を使う(getchar関数は int型の文字を返却します)。 もしくは、宣言時に int c = 0; とし、0 で変数を初期化するかです。
157 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 16:46:19 ] cがintってどっから出てきた?
158 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 16:48:15 ] >int型変数 c は、例えば宣言時に不定値が設定されていて 0xffff だったとすると、 >それに 0x41 だけを入力するので、0xff41 になってしまいます。 >153 のどこにそんなことが書いてあるんだろう? >154 の推理もすごいけどw
159 名前:115 mailto:sage [2009/01/17(土) 17:07:19 ] >>115 に関して説明不足ですみません。 科目Aの成績と科目Bの成績があって、 それぞれの成績について平均、標準偏差、偏差値を求めるということです。 順位は科目A+Bの成績で出します。 ちなみに実際のファイルの中身はこんな感じ↓ 1234567●●●● 1042
160 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 17:33:03 ] ファイルアップしたほうがはやくね?
161 名前:デフォルトの名無しさん [2009/01/17(土) 17:33:57 ] [1] 授業単元:Computer Prigramming II 第14回:木(ツリー)構造,再帰的関数と再帰的呼び出し [2] 問題文(含コード&リンク): 下の入出力例のように,適当な数字を入れると,1からその数までの和が計算過程とともに 表示されるプログラムを作りなさい。ループ(for)文を使うものと再帰的関数を使用するも のの2種類の解答を作ること。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8662.txt [3] 環境 [3.1] OS:Windows Vista / Linux [3.2] コンパイラ名とバージョン:Visual C++ 2008 Express Edition / gcc [3.3] 言語:C [4] 期限:2008年1月25日00:00まで [5] その他の制限:
162 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 17:44:47 ] 【質問テンプレ】 [1] 授業単元:プログラミング言語 [2] 問題文(含コード&リンク): 問題3(戻り値がない場合の引数あり) 平行四辺形の底辺tと逆さhを入力して、平行四辺形の面積を求めるプログラムを作りなさい。 ただし、main関数で平行四辺形の底辺tと高さhの入力を行い、 平行四辺形の面積の計算と表示はmensekiという関数で行うこと。 問題4(戻り値がある場合の引数あり) 平行四辺形の底辺tと高さhを入力して、平行四辺形の面積を求めるプログラムを作りなさい。 ただしmain関数で平行四辺形の底辺tと高さhの入力と計算された円の面積の表示を行い、 平行四辺形の面積はmensekiという関数で計算するようにする。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:Borland C++ Compiler 5.5 [3.3] 言語:C言語 [4] 期限:2009年01月19日まで [5] その他の制限:習い始めて半年です、数学関数まで進みました。 よろしくお願いします。
163 名前:デフォルトの名無しさん [2009/01/17(土) 17:54:02 ] 文字処理関数の演習問題 16進数に変換可能な文字列(例えば "AB45")をキーボードから入力し、 10進数の数値に変換しなさい。 わかる方教えてください。。
164 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:07:44 ] >>162 問題3 #include <stdio.h> void menseki(double t, double h) { printf("平行四辺形の面積は%lfです\n", t * h); return; } int main() { double t, h; printf("底辺: "); scanf("%lf", &t); printf("高さ: "); scanf("%lf", &h); menseki(t, h); return 0; }
165 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:09:30 ] >>162 問題4 円の面積って何だ #include <stdio.h> double menseki(double t, double h) { return t*h; } int main() { double t, h; printf("底辺: "); scanf("%lf", &t); printf("高さ: "); scanf("%lf", &h); menseki(t, h); printf("平行四辺形の面積は%lfです\n", menseki(t, h)); return 0; }
166 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:13:41 ] >>161 入出力例を見ると和を入力しているが、入力するのは和なのか? 3を入力→1+2+3を求めるではなく、 3を入力→1+2=3まで計算、なのか?
167 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:20:56 ] >>163 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> int do_hex(char *str) { static const char hex[] = "0123456789abcdef"; static const int digit = sizeof(hex) - 1; int ch, ret = 0; char *p; while(*str != '\0'){ ch = tolower(*str); p = strchr(hex, ch); if(p == NULL){ fprintf(stderr, "卑猥な文字:%c\n", *str); exit(1); } ret = digit * ret + (int)(p - hex); str++; } return ret; } int main(void) { char buf[256]; scanf("%255s", buf); printf("%s(16) -> %d(10)\n", buf, do_hex(buf)); return 0; }
168 名前:デフォルトの名無しさん [2009/01/17(土) 18:25:34 ] >>167 もっと簡潔に書けるよ
169 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:30:10 ] >>168 こうか? #include <stdio.h> #include <stdlib.h> int main(void) { int ret, hex; ret = scanf("%x", &hex); if(ret != 1){ fprintf(stderr, "俺にも彼女ができる\n"); exit(1); } printf("%x(16) -> %d\n", hex, hex); return 0; }
170 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:35:02 ] >>159 フォーマットは各行に「学籍番号が7桁、名前が10文字、成績1が2桁、成績2が2桁」が隙間無く並んでいるってことでいいんだよね? kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8666.txt
171 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:36:58 ] みなさんcのコンパイラは 何をお使いでしょうか? おすすめや これは使えないというものはありますか??
172 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:42:56 ] >>171 スレ違いだから消えろ
173 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:43:13 ] >>171 スレチ。 pc11.2ch.net/test/read.cgi/tech/1231564903/
174 名前:162 mailto:sage [2009/01/17(土) 18:45:48 ] >>164-165 ありがとうございます!助かりました。 円の面積・・・意味不明ですね、気付きませんでした。 プリント見返してみましたけど円って書いてありますw 先生のミスかな。
175 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 19:22:28 ] >>172 >>173 wwwwwwwwwwwwwwwwww >>172 >>173 wwwwwwwwwwwwwwwwww >>172 >>173 wwwwwwwwwwwwwwwwww
176 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 19:52:09 ] gccかclでいいんじゃないかとおもうけど bccってどうなの?
177 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 19:57:30 ] >>176 Windowsでgccって微妙じゃね?
178 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 20:07:42 ] 悲しいかな、C関連で一番勢いの大きいスレッドなので、ウザイ自演も沸く・・・
179 名前:115 mailto:sage [2009/01/17(土) 22:08:32 ] >>170 そのとおりです、ありがとうございます。助かりました・・・。
180 名前:115 mailto:sage [2009/01/17(土) 22:53:18 ] 何度もすみませんorz >>170 のを実行してみたらエラーが出て実行できないんですがどこがおかしいんでしょうか・・・
181 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 22:55:45 ] >>180 >>1 ・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
182 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 23:09:26 ] 115.txtを探す旅
183 名前:115 mailto:sage [2009/01/17(土) 23:29:59 ] >>182 いくら自分が間抜けでプログラム苦手とはいえそれはさすがにないw 自力でどうにか出来そうな箇所を弄ったら102個あったエラーが30個にはなったんですが もうこれ以上は自力じゃ無理orz ここでひとつひとつコピペするのも難なので、全部まとめてコピペしてロダに上げておきます・・・。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8669.txt
184 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 23:46:46 ] >>183 手直ししたなら、そのプログラムも上げてくれ 多分 grade_t のどっかがおかしいんだと思う
185 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 23:50:18 ] >>180 > >>170 のを実行してみたらエラーが出て実行できないんですがどこがおかしいんでしょうか・・・ 先生!>>183 が実行時エラーじゃありません!!!
186 名前:170 mailto:sage [2009/01/18(日) 00:15:38 ] あー、VC++だと変数宣言を全部ブロックの先頭に書かないといけないんだっけ?
187 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 00:20:41 ] >>186 いや全く関係ないけど。
188 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 00:22:52 ] >>180 >>170 の const grade_t *x = a; const grade_t *y = b; を const grade_t *x = (const grade_t *)a; const grade_t *y = (const grade_t *)b; に書き換えてもダメか? (*.cppとしてコンパイルしていると想定)
189 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 00:24:12 ] const grade_t *x = (grade_t*)a; const grade_t *y = (grade_t*)b; に変えればとりあえず動くけどフォーマット指定したファイルも出してくれないと ファイル作るの面倒です^;^
190 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 00:57:16 ] &grades[i].numberという書き方はキライだな(個人的には) &(grades[i].number)と書きたい
191 名前:デフォルトの名無しさん [2009/01/18(日) 00:59:54 ] 宿題で関数strcpyを自分で作らなければいけません。 自分で作ってみたのですが、うまくいきませんでした。 char *my_strcpy(char *s1, char *s2){ int i = 0; while(s2[i] != '\0'){ s1[i] = *s2; i++; } *s1 = '\0'; return s1; } どこをどう直せばいいのか教えてください。 お願いします。
192 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 01:01:14 ] >>191 www.bohyoh.com/CandCPP/C/Library/strcpy.html
193 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 01:03:08 ] >>191 s1[i] = s2[i]; s1[i] = '\0';
194 名前:デフォルトの名無しさん [2009/01/18(日) 01:10:39 ] >>192 >>193 ありがとうございました。 本当に助かりました。
195 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 01:50:13 ] >>192 そんなの貼ると、代入式だってファビョられるぞw
196 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 02:19:03 ] >>195 言われるのはサイトの管理人だから、放っとけよ
197 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 02:28:10 ] JIS X 3010:2003の定義に従えば、条件式⊂代入式
198 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 11:21:05 ] >>102 #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <string.h> #define N 256 int main(void) { char b[N]; int c = 0, w = 0, l = 0; FILE *fp; fgets(b, N, stdin); *strchr(b, '\n') = '\0'; if (!(fp = fopen(b, "r"))) return 1; while (fgets(b, N, fp)) { int i = 0; while(b[i]) { c++; if (!isalpha(b[i++])) w++; } l++; } printf("%d character(s)\n%d word(s)\n%d line(s)\n", c, w, l); fclose(fp); return 0; }
199 名前:デフォルトの名無しさん [2009/01/18(日) 13:37:08 ] まったくできない。 こんな学部入らなければよかった・・
200 名前:デフォルトの名無しさん [2009/01/18(日) 13:45:29 ] 大学じゃ、Cの授業なんてなかったなぁ・・・ 独学で覚えて仕事にしてるが。
201 名前:デフォルトの名無しさん [2009/01/18(日) 15:50:18 ] >>93 >1からその数までの和 それなら、45を入力すると 1081 = 1 + 2 + ... + 45 になるはずなのだが。 問題が間違っているのか、出力例が間違っているのかを教えてくれ
202 名前:デフォルトの名無しさん [2009/01/18(日) 15:53:32 ] >>93 >1からその数までの和 それなら、45を入力すると 1081 = 1 + 2 + ... + 45 になるはずなのだが。 問題が間違っているのか、出力例が間違っているのかを教えてくれ
203 名前:201 [2009/01/18(日) 15:54:28 ] 連続スマソ
204 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 16:25:14 ] >>201 自分も、何か変だなとは思ったが、例えば36から45の間の数を入力したら どうするのかと考えたが、問題文を見ると、やはり1〜nまでの和なのかと・・・
205 名前:201 [2009/01/18(日) 16:33:34 ] 問題が正しいのならば↓ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8671.c 出力例が正しいのならば↓ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8670.c for文は苦手だから書かんかった。ごめん。 暇だったら書くかもしれん
206 名前:201 [2009/01/18(日) 16:48:21 ] 分かるとは思うけど205は >>93
207 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 17:00:54 ] [1] 授業単元:プログラミング演習 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8672.txt [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン: 不明 [3.3] 言語: C [4] 期限: 2009年01月19日 [5] その他の制限:このような形に表示されるよう求められています↓ www.dotup.org/uploda/www.dotup.org16591.jpg どうか宜しくお願いします
208 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 17:05:17 ] >>93 forでやった場合、問題に合わせたやつ。 出力例にあわせるのはめんどいからパス。 #include <stdio.h> int sum_n(int); int main() { int i, j, n; printf("Input any integer >"); scanf("%d", &n); for (i = 1; i <= n; i++) { printf("%d = ", sum_n(i)); for (j = 1; j <= i; j++) { printf(" %d %c", j, (j==i ? '\n': '+')); } } printf("Total: %d\n", sum_n(n)); return 0; } int sum_n(int n) { return n * (n + 1) / 2; }
209 名前:208 mailto:sage [2009/01/18(日) 17:20:35 ] もしかすると、sum_nの中身こっちのほうがいいかも。 int sum_n(int n) { int i; int sum = 0; for(i = 1; i <= n; i++) { sum += i; } return sum; }
210 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 17:28:56 ] もしかすると、うpロダ使って書き直すのも良いかも
211 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 17:51:03 ] >>207 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8673.c
212 名前:デフォルトの名無しさん [2009/01/18(日) 18:53:11 ] 一般ユーティリティ関数の演習問題 * をランダムな個数ずつ、10行画面に出力しなさい。 ただし、最大でも 1行(80個)を越えないこと。 お願いします。
213 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 19:00:34 ] #include <stdio.h> #include <stdlib.h> int main(void) { int i,j; for(i=0;i<10;i++){ for(j=0;j<rand()%80+1;j++)printf("*"); printf("\n"); } return 0; }
214 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 19:02:59 ] >>213 助かりました。ありがとうございます!!
215 名前:デフォルトの名無しさん [2009/01/18(日) 19:04:08 ] >>213 >j<rand()%80+1 これは思いつかんかったわww ちなみに俺は212ではない
216 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 19:06:57 ] >>213 j<rand()%80+1 これってループするたびに右辺の値が変わったりしないか? それでも要求仕様は満足するだろうけど
217 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 19:10:57 ] この場合、*の個数の分布はなんだろう?
218 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 19:15:19 ] 指数分布だろ近いのは
219 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 19:18:12 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク): 32以下の自然数nを入力し、nビットのグレイコードを出力せよ。 [3] 環境 [3.1] OS: Vista [3.2] コンパイラ名とバージョン: VC2008EE [3.3] 言語: C [4] 期限: 本日中 [5] その他の制限: 標準ライブラリの範囲内で。 よろしくお願いします。
220 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 19:34:47 ] >>217 やってみた kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8674.txt 当然だが後半ほとんどでないな
221 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 19:40:45 ] >>219 #include <stdio.h> int main(void) { int i,j,g[6],flg; unsigned int a; do { printf("input number(<=32): "); scanf("%d",&a); } while (a>32); for (i=0;i<6;i++) { g[5-i]=a%2; a>>=1; } for (i=0;i<6;i++) { if (g[i]) { for (j=i+1;j<6;j++) g[j]=(g[j]+1)%2; } } for (i=0,flg=0;i<6;i++) { if (g[i]) flg=1; if (flg) printf("%d",g[i]); } printf("\n"); return 0; }
222 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 20:30:38 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク): 天秤の左皿にだけ重さNの物体が載っている。(Nは自然数) 左右の皿に分銅を追加して、天秤が釣り合うようにする。 使える分銅は、重さが1, 3, 9, 27, ...というように 3のべき乗のものがそれぞれ1つずつである。 Nを入力し、分銅の載せ方を表示するプログラムを作成しなさい。 [3] 環境 [3.1] OS:Windows XP [3.2] コンパイラ名とバージョン: Visual C++ 2005 [3.3] 言語:C言語 [4] 期限:1/19 午前7時 [5] その他の制限:できるだけスマートな解法でお願いします。
223 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 20:47:46 ] 組み合わせが存在しない場合は?
224 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 20:58:55 ] >>223 左の皿に分銅を載せるのも考慮すればいかなる場合でもおk
225 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:23:56 ] [1] 授業単元:計算機プログラム [2] 問題文(含コード&リンク): 3つの数を引数としてとり、大きいほうの2つの数の和を繰り返す手続きを作成しなさい。 (例えば、最初に最小値を見つける。次に3つの数の和から最小値を引く) [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:不明 [3.3] 言語: C [4] 期限: 1月19日 [5] その他の制限:特にありません よろしくお願いします
226 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:27:26 ] >>225 すみません訂正します [2] 問題文(含コード&リンク): 3つの数を引数としてとり、大きいほうの2つの数の和を返す手続きを作成しなさい。 でした。繰り返すではなく返すでした。
227 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:32:39 ] >>221 それはn番目のグレイコードであって、nビットのグレイコードではないな。
228 名前:デフォルトの名無しさん [2009/01/18(日) 21:35:56 ] >>220 じゃあ>>213 は間違ってるってこと?
229 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:40:03 ] >>228 何をいっているんだ?
230 名前:デフォルトの名無しさん [2009/01/18(日) 21:41:29 ] >>227-229 不覚にも吹いたww
231 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:43:17 ] >>225 int addition(int a,int b,int c) { if(a<b){ if(a<c) return b+c; return a+b; } else { if(b<c) return a+c; return a+b; } return 0; }
232 名前:115 mailto:sage [2009/01/18(日) 21:43:29 ] >>115 です。 何度も煩わせてすみませんorz >>188 入れてみましたがエラーの数も内容も変化なしでした・・・ 問題の方を改めてロダに上げます。 もう何が間違ってるのか分からない・・・ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8675.txt
233 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:45:20 ] >>222 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8676.c スマートかどうかは知らん
234 名前:デフォルトの名無しさん [2009/01/18(日) 21:49:02 ] >>219 これで良いだろう #include <stdio.h> int main(void) { int i,j,g[6],flg; unsigned int a; do { printf("input number(<=32): "); scanf("%d",&a); } while (a>32); for (i=0;i<6;i++) { g[5-i]=a%2; a>>=1; } for (i=0;i<6;i++) { if (g[i]) { for (j=i+1;j<6;j++) g[j]=(g[j]+1)%2; } } for (i=0,flg=0;i<6;i++) printf("%d",g[i]); printf("\n"); return 0; }
235 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:51:08 ] >>230 不覚だな
236 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:51:08 ] >>213 っていうか、srandしてないから不味くね?
237 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:56:42 ] [1] 授業単元: プログラミング [2] 問題文(含コード&リンク): (1) キーボードから入力された0から9までの数字各々の個数をカウントし表示するプログラムを作れ (2) 画面に任意の次数の単位行列を表示するプログラムを作れ (3) 学生の数をまず入力した後、各自の試験成績(1課目)を順次入力した後、 最高点・最低点・平均点をそれぞれ求めて表示するプログラムを作れ [3] 環境 [3.1] OS:WindowsVista [3.2] コンパイラ名とバージョン:不明 [3.3] 言語:C++ [4] 期限:1月21日 [5]その他の制限:特にありません よろしくお願いします
238 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:58:13 ] >>232 だから>>170 をどういじったのかを言えと もしくは>>170 をコンパイルした時(いじる前)にどんなエラーが出たかを言ってくれ
239 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:59:46 ] >>237 (1) >>140 ,141,143 (2) >>118 ,121,122
240 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:11:01 ] >>237 (3) #include<iostream> #include<algorithm> #include<numeric> #include<vector> int main() { int num, score; std::cout << "Number of students = "; std::cin >> num; std::vector<int> scores; for (int i = 0; i < num; i ++) { std::cout << "Student" << 1+i << "'s score = "; std::cin >> score; scores.push_back(score); } std::cout << "-----\n"; std::cout << "The highest score is " << *std::max_element(scores.begin(), scores.end()) << ".\n"; std::cout << "The lowest score is " << *std::min_element(scores.begin(), scores.end()) << ".\n"; std::cout << "Average score is " << std::accumulate(scores.begin(), scores.end(), 0) / scores.size() << "." << std::endl; return 0; }
241 名前:201 [2009/01/18(日) 22:11:34 ] >>237 (1) 出力は勝手に考えた #include <stdio.h> int main(void) { int num[10] = {0,0,0,0,0,0,0,0,0,0}; int n = 0; int i = 0; while(1){ printf("input:"); scanf("%d",&n); if(n <= 10) num[n]++; for(i = 0;i < 10;i++)printf("%d:%d\n",i,num[i]); printf("\n"); } return 0; }
242 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:12:09 ] C++と聞くととたんにがんばる奴がいるなw
243 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:12:24 ] > int num[10] = {0,0,0,0,0,0,0,0,0,0}; フイタw
244 名前:デフォルトの名無しさん [2009/01/18(日) 22:13:21 ] [1] 授業単元:プログラミング [2] 問題文: あるゼミの各学生の名前、読み仮名、点数を入力し、最高点を取った学生の名前と 点数を表示せよ。今まで入力した中で何番目の学生が最高点かを記録するための 変数max_iを用意し、最高点が更新されるごとにmax_iを更新する。但し、max_iの 初期値は0とする。 [3] 環境 [3.1] OS:Windows [3.2] [3.3] 言語:C言語 [4] 期限:1月19日 [5] その他の制限: 全くわからないので誰か教えてください!!よろしくお願いします!!
245 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:13:31 ] >>243 int num[10] = {0}; でいいことぐらい分かってるよ
246 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:14:17 ] >>245 フイタw
247 名前:222 mailto:sage [2009/01/18(日) 22:16:31 ] >>233 ありがとうございました。
248 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:16:41 ] ちょっと細工しておくと検索しやすくなるんだよ 誰が検索するのかは秘密♥
249 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:22:21 ] >>241 正常に機能しなくてフイタw
250 名前:201 [2009/01/18(日) 22:24:24 ] 一応言っておくが、>>245 は俺ではない(汗) あと、 int num[10] = {0}; は知らんかった。 >>201 は中坊だというわけで許してくれw
251 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:25:23 ] なにがなんだか分からない・・・・・・・
252 名前:225 mailto:sage [2009/01/18(日) 22:25:28 ] >>231 ありがとうございました。
253 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:25:55 ] >>140
254 名前:201 [2009/01/18(日) 22:26:15 ] >>249 ん?俺の環境(bcc)では動作するぜよ
255 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:28:41 ] >>253 >>143
256 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:33:12 ] >>254 動作する、コンパイルできたからといって、問題通りの 実行結果が出る、機能しているとは限らない。
257 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:33:31 ] >>254 if(n <= 10) num[n]++; ↓ if(n>=0 && n<10) num[n]++;
258 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:34:30 ] >>256 問題文を読めよwww
259 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:45:36 ] >>241 int num[10] if(n <= 10) num[n]++; フイタw
260 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 23:17:51 ] >>232 だから、宣言文をブロックの先頭にしろって VCとか関係なくC89の仕様
261 名前:201 [2009/01/18(日) 23:42:37 ] >>257 >>259 べ、別に、ボーっとしてたわけじゃないんだからね!orz
262 名前:デフォルトの名無しさん [2009/01/19(月) 00:12:27 ] 昨日も書き込んで、アドバイスをもらったのですが、 ちょっとしたトラブルが発生したので、もう一度書き込みます。 #include<stdio.h> char *my_strcpy(char *s1, char *s2){ int i = 0; while(s2[i] != '\0'){ s1[i] = s2[i]; i++; } s1[i] = '\0'; return s1; } int main(){ char *s1 = "abc"; char *s2 = "wxyz"; my_strcpy(s1, s2); printf("s1:%s s2:%s \n", s1, s2); return 0; } s2の文字数がs1の文字数より大きいとき、 s2が表示されないのはなぜでしょう。 教えてください。 よろしくお願いします。
263 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 00:23:00 ] >>262 a←s1 b c \0 w←s2 x y z w my_strcpy後 w←s1 x y z \0←s2 x y z w あとは分かるな(ちなみにこの上書きは必ず起こるとは限らん) あと char *s2 = "wxyz"; という風に宣言した文字列リテラルを書き換えるのはNGだ うまく動かしたい場合は取り合えず char s1[10] = "abc"; char s2[10] = "wxyz"; とでもするがいい
264 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 00:24:03 ] おっと訂正 a←s1 b c \0 w←s2 x y z w \0 my_strcpy後 w←s1 x y z \0←s2 x y z
265 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 00:25:36 ] また間違えた、死のう a←s1 b c \0 w←s2 x y z \0 my_strcpy後 w←s1 x y z \0←s2 x y z \0
266 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 00:44:08 ] gcc4.1.2だとs1[i] = s2[i]を実行した瞬間に死ぬぜ。 vcはどうなってる?
267 名前:262 [2009/01/19(月) 01:11:21 ] どうすればよいのでしょうか。
268 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 01:14:22 ] >>267 取り敢えず、リテラルを書き換えないことと、 配列に確保した領域を超えて書き込まないことじゃね?
269 名前:102 mailto:sage [2009/01/19(月) 01:16:14 ] >>198 ありがとうございました。
270 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 01:18:40 ] >>267 #include <stdio.h> char *my_strcpy(char *s1, char *s2) { int i = 0; while (s1[i] != '\0' && s2[i] != '\0'){ s1[i] = s2[i]; i++; } s1[i] = '\0'; return s1; } int main() { char s1[] = "abc"; char s2[] = "wxyz"; my_strcpy(s1, s2); printf("s1:%s s2:%s \n", s1, s2); return 0; }
271 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 01:21:33 ] while ( s1[i] && s2[i] )
272 名前:262 [2009/01/19(月) 01:22:14 ] >>268 >>270 ありがとうございました。
273 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 01:24:17 ] while (s1[i] & s2[i])
274 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 01:24:51 ] >>273 窓から飛び降りて良し!
275 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 01:25:19 ] >>267 char *s1 = "abc"; char *s2 = "wxyz"; my_strcpy(s1, s2); を char *s2 = "wxyz"; char *s1 = "abc"; my_strcpy(s1, s2); でどう? ちなみにmy_strcpyには返り値が有る筈なんだが……
276 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 01:27:51 ] >>275 wwwwwwwwwwwwwwwwwwwwwwww
277 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 01:30:39 ] >>275 その発想はなかったわ
278 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 01:50:36 ] >>275 s1とs2の中身を換えたいの?それとも、引数の順番を換えたいの? 何がしたいの?死体としたいの?
279 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 02:03:51 ] ロシアではwxyzをabcにする、ガハハ!
280 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 02:05:47 ] >>110 お前がW大学のM田Cプロとってることはよくわかった ttp://www-it.sci.waseda.ac.jp/CPR2/class7/ の宿題3を解いてくださいと書けば早いだろうが
281 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 02:07:56 ] >>280 お前が他人の素性を探りたがっていることはよくわかった >>1 > 気に入らない質問やその他や発言はスルーの方向で。 答えたくなければ、こんなスレに来ないか、スルーすれば良いだろ
282 名前:201 [2009/01/19(月) 02:25:07 ] >>275 GJ!!ww >>278 メモリ上でs1、s2と並んでいるのをs2、s1の順番にするってこと。 s2の方がサイズが大きいから、s1をコピーしてもs1への影響がなくなる。
283 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 02:27:12 ] なんの冗談だよw
284 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 02:28:46 ] 実際の環境でどういう挙動になるかも大事だが、 そもそも文字列リテラルの書き換え自体が未定義だろ。やっちゃいけない。
285 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 02:42:41 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): ttp://sasa.cis.ibaraki.ac.jp/member/sasaki/ProEn2/kadai2.pdf [3] 環境 [3.1] OS:Windous Vista [3.2] コンパイラ名とバージョン:任意 [3.3] 言語: C [4] 期限: 1月21日 [5] その他の制限: 30件 ttp://sasa.cis.ibaraki.ac.jp/member/sasaki/ProEn2/namelist30.txt 100件 ttp://sasa.cis.ibaraki.ac.jp/member/sasaki/ProEn2/namelist100.txt 10万件 ttp://sasa.cis.ibaraki.ac.jp/member/sasaki/ProEn2/namelist100k.txt 必須課題1,2のみでいいのでよろしくお願いします。
286 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 03:05:51 ] >>282 意味がわかってねーだろ、お前?wwwwwwwww もう一度コードをよく見ろ。
287 名前:201 [2009/01/19(月) 03:13:02 ] >>286 いや、>>282 であってるけど。 違うと言うんならお前説明してみろw
288 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 03:16:31 ] >>275 >>275 >>275 >>275 >>275 >>275 >>275 s1とs2が何か?それでいて、my_strcpy(s1, s2); の順番が同じだが その中身のコードを書き換えたわけでもなく・・・201は同じ人物? だとしたら、かなり頭が悪いか、池沼レベルだな・・・口出ししない方が身の為だぞ。 墓穴を掘って、逆にバカにされるぞ、お前・・・もう学校ではアホ扱いされているだろうけどw
289 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 03:18:50 ] >>287 何を説明しろって言うんだよ・・・違うとかって話じゃないだろ。 お前が分かっているのか?って聞かれているんだが? >>282 は勝手に解釈したのか、>>275 のコードが理解できないのか、 視覚に問題のある障害者なのか・・・
290 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 03:20:16 ] >>275 char *s1 = "abc"; char *s2 = "wxyz"; char *s2 = "wxyz"; char *s1 = "abc"; ↑記述する順番を逆にしても、s1とs2の中身はどうよ?w my_strcpy(s1, s2); my_strcpy(s1, s2); ↑これも逆にしたわけでもないし・・・
291 名前:201 [2009/01/19(月) 03:31:07 ] >>280 >>290 一応アホと言っておく ちなみに俺は>>275 とは無関係 C(C++)では書いた順番によってメモリ配置が変わるんだよ。 これくらい知っとけ。 お前(達)は中坊以下か?
292 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 03:33:41 ] こんな時間に書き込み出来るのは無職・ニートだけ! 中学生以下は寝てますよ。
293 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 03:33:58 ] 自分が大学生の時にもいたけど、こっちが間違っていないのに 何か指摘すると、必死に言い返すバカって、本当に始末が悪くて 迷惑した。態度も悪いし。まさに201みたいな、自分が知能が低いくせに 食い下がる基地外みたいにな。少し黙ってろ、ド素人は。 あのコードを見て、何が違うかも説明できないお前が、勝手に 思い込んだだけだろ。
294 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 03:37:50 ] 201が必死必死必死必死w >>258 とか、>>275 らしき、もう一匹バカがいるようだが、日本語が読めないアホだろ?w
295 名前:201 [2009/01/19(月) 03:39:53 ] >>292 すまん。一応俺も無職ww >>293 お前の環境で実行してみたか? 分かってると思うけど、最適化施したら正常に機能しない可能性がある 俺の環境(Windows(bcc))だったらちゃんと機能した
296 名前:201 [2009/01/19(月) 03:42:17 ] >>294 自演必死だねwww 口調で分かる
297 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 03:42:48 ] ttp://www.bohyoh.com/CandCPP/C/Library/strcpy.html 答えは出てんだよw いつまで分かりきったことで、必死に 意味も無い、間違った持論を展開するんだね、君は?w まぁ、こんな場所に来ている人なんてごく一部だし。 そんな一部の人間にさえ、理解されない視野の狭い井の中の蛙w とりあえず、こんな時間に起きていて、不規則な生活が習慣になっているなら それを正した方が良いよ。早死にの原因だから。俺?不規則というのは 規則性がないことであって、この時間から明け方までが俺が起きている時間さ。 だって、俺は今、ジャポンのオーバーシーにいるから、時差でこっちは昼間なんだよw
298 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 03:46:33 ] 日本語でおk
299 名前:201 [2009/01/19(月) 03:47:58 ] >>297 人の話聞いてる? >>All スレ汚してスマンorz
300 名前:201 [2009/01/19(月) 03:53:41 ] >>296 ごめん。訂正。 こりゃ厳密には自演って言わないね。 頭が鈍ってきたw 寝るわ。
301 名前:デフォルトの名無しさん [2009/01/19(月) 03:55:01 ] 201は本当にバカだ。あれほどレスするなと言われても、必死になっていることを わざわざ露呈するなんて。今年一の、このスレの恥さらしだ!通報しますた!
302 名前:201 [2009/01/19(月) 03:56:36 ] >>301 つい熱くなってしまって・・・orz
303 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 03:57:27 ] そもそも話題のmy_strcpyがstrcpyの要件を満たしていない件
304 名前:デフォルトの名無しさん [2009/01/19(月) 04:01:29 ] んでさ、その大学生時代の、食い下がり野郎がさ、まともに使えもしない英語を使うんだわ。 I go to a bus とか言っちゃってさ。何?って聞いたら、風呂に入ってくるってさ、ぎゃははは(バンバン マジ受けるんですけどぉ〜?理系に進んだとは言え、英語の成績は良かった俺が take a bath って言ってやったんだけどさ、妙に食い下がる正確のせいか、辞書で調べたらしく have a bath とも言うんだよぉ〜とか言ってやんの。別にそう言わないとは、こっちは言ってないのに。 だったら最初から辞書を引けよってかーんじ。まぁ、それでも take a bath が一般的なんだけどね。 英語圏で生活してみろっちゅーのっw 俺?だからさ、さっきっから言っているだろ?ジャポンのオーバーシーだから、昼間だって。 まだ風呂に入る時間じゃないが、シャワーを浴びるしw
305 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 04:17:06 ] >>237 > キーボードから入力された0から9までの数字各々の個数をカウントし表示するプログラムを作れ ”各々の個数をカウント” 日本語が読めないのか、出題者が19003だったら1,3,9が1つ、0が2つといった書き方をすれば良かったのか にしても、201が書いたコードは、whileループを抜けないまま強制終了でもさせなきゃ駄目だし。 コンパイラに通って、実行できたからといっても、題意の通りに機能したわけでもないというのに・・・
306 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 04:23:12 ] >>305 寝ろ
307 名前:デフォルトの名無しさん [2009/01/19(月) 05:37:03 ] 誰かお願いします。 int型の変数numに初期値99を、char型の変数chに初期値'Z'を設定し、それを 表示するプログラムex6_2を作成せよ。 プログラムの作成にあたり、以下に従うこと。 ・int型の変数numとchar型の変数chはmain()関数内で宣言すること ・numとchへの初期値設定はinit_var()関数にて行うこと。 ------------------------------------------------------ void init_var(int *pnum, char *pch); 返り値:なし 引数 :pnum:数値格納変数へのポインタ pch :文字格納変数へのポインタ 処理 :数値格納変数に数値99を、文字格納変数に文字'Z' を格納する ------------------------------------------------------ ※main()関数内の変数に対して別関数init_var()にて値を書き込むため、 引数としてポインタを用いる 《実行例》 >ex6_2 num = 99, ch = Z ←変数の値を表示するだけ
308 名前:デフォルトの名無しさん [2009/01/19(月) 05:38:10 ] これも int型の変数3個(※配列で宣言する)に数値を入力し、その合計を求めて表示する プログラムex6_3を作成せよ。 プログラムの作成にあたり、以下に従うこと。 ・入力数値を格納するint型の配列はmain()関数内で宣言すること ・指定された個数の数値の合計を求める関数getsum()を自作して使うこと。 getsum()関数の仕様は以下の通り。 ----- getsum() ---------------------------------------------------- int getsum(int *pnum, int numcnt); 引数 :pnum :数値を格納している配列の先頭アドレス numcnt :和を求める変数の個数 返却値:算出した和 処理 :指定された個数の変数の和を求める ------------------------------------------------------------------- ※getsum()は、「int getsum(int *, const int);」としてもよい 《実行例》 >ex6_3 Enter number(1) : 10 Enter number(2) : 23 Enter number(3) : 41 Sum = 74
309 名前:デフォルトの名無しさん [2009/01/19(月) 07:18:52 ] なんだかなぁ・・・
310 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 12:12:22 ] 最近テンプレを読む能力もないお馬鹿さんが増えてるよね >>307 #include <stdio.h> void init_var(int *pnum, char *pch) { *pnum = 99; *pch = 'Z'; } int main(void) { int num; char ch; init_var(&num, &ch); printf("num = %d, ch = %c\n", num, ch); return 0; }
311 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 12:16:05 ] >>308 #include <stdio.h> int getsum(int *pnum, int numcnt) { int sum, i; for (i = sum = 0; i < numcnt; ++i) sum += pnum[i]; return sum; } int main(void) { int pnum[3], i; for (i = 0; i < 3; ++i) { printf("Enter number(%d) : ", i + 1); scanf("%d", &pnum[i]); } printf("Sum = %d\n", getsum(pnum, 3)); return 0; }
312 名前:デフォルトの名無しさん [2009/01/19(月) 14:53:05 ] ねむい
313 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 15:46:48 ] [1] Cプログラミング基礎 [2] kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8677.txt [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン:VC++2003 [3.3] 言語:C++ [4] 期限: 1月21日(水曜日) [5] その他の制限: クラスの定義辺りまで習いました 参考プログラムを軽く修正すればいいだけだとは思うのですが うまくいきません。よろしくお願いします。
314 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 15:52:15 ] >>313 課題は原文を貼ってくれないと 素人の考えた文言は意味不明で読み解けない。
315 名前:313 mailto:sage [2009/01/19(月) 18:03:57 ] >>314 一応これが原文なのです・・・。 丁寧すぎるというか、確かに読み解きにくいですね・・・。 うーん困った・・・。
316 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 18:25:54 ] >>315 >3つのchar型のメンバー変数(ポインタ) とか、専門家が考えた文言とは思えない。
317 名前:デフォルトの名無しさん [2009/01/19(月) 18:58:42 ] 厨房に負けてるお前らワロスwwww