1 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 22:55:25 ] あなたが解けない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++の宿題を片付けます 102代目 pc11.2ch.net/test/read.cgi/tech/1197132472/
863 名前:デフォルトの名無しさん [2008/02/01(金) 23:01:55 ] >>858 unsigned long combination(int n, int k) { int i, j; unsigned long a[17]; if (n - k < k) k = n - k; if (k == 0) return 1; if (k == 1) return n; if (k > 17) return 0; /* error */ for (i = 1; i < k; i++) a[i] = i + 2; for (i = 3; i <= n - k + 1; i++) { a[0] = i; for (j = 1; j < k; j++) a[j] += a[j - 1]; } return a[k - 1]; }
864 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 23:07:33 ] >>863 ワロタ
865 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 23:40:39 ] >>858 #include<stdio.h> #include<stdlib.h> void get_combination(int num, int chosenCnt); int *numary; int n, c; int main(int argc, char *argv[]){ if(argc != 3) return 1; n = atoi(argv[1])-1; c = atoi(argv[2]); if((numary = (int*)calloc(sizeof(int), c)) == NULL) return 1; get_combination(0, 1); free(numary); return 0; } void get_combination(int num, int chosenCnt){ int i; if(chosenCnt > c){ for(i=0; i < c; i++) printf(" %d", numary[i]); putchar('\n'); return; } for(i=num; i <= n; i++){ numary[chosenCnt-1] = i; get_combination(i+1, chosenCnt+1); } }
866 名前:858 [2008/02/01(金) 23:54:04 ] >>863 返答ありがとうございます。 コンパイル通るのですが、どうやったら表示できるかが分からず、 いろいろ試してみましたが出来ませんでした。orz... >>865 返答ありがとうございます。 ばっちり動きました。ありがとうございます。 助かりました。 後でプログラムをじっくり解読してみます。 本当にありがとうございました。
867 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 23:54:10 ] >>856 さま IPv4でもIPv6でも動きました! 本当にありがとうございました!
868 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 23:55:44 ] >>866 本気で何も分かってないな。まあ丸投げスレだからいいんだけど
869 名前:デフォルトの名無しさん [2008/02/02(土) 00:01:53 ] >>862 >>857 です。返事ありがとうございます! 今帰ってきたので、後で参考にさせてもらいます(o´・ω・)´-ω-)ペコリ
870 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 00:14:39 ] >>849 当方で確認した環境は WindowsXP, 処理系は cygwin(gcc 3.4.4) です。 >> 853 さんにならって、私がこの方面にのめりこむきっかけとなったソースを、そのままあげておきます。 なお、宿題の題意にあうように手直しはしていますが、小数点の処理は手抜きです。オリジナルを損ねたくなかったわけで、すみません。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5961.txt >>853 まったく頭のいい人はすごいですね。
871 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 00:27:55 ] 【時間切れ】 (2/1) >787 【未解決問題】 >>581 2月頭 残:課題2、3 >>798 2/5 残:課題1 >79 無期限 >144 無期限 問題文>148
872 名前:ハム [2008/02/02(土) 00:52:07 ] >>854 さん ありがとうございます! 熟読して、勉強させていただきます! 本当にありがとうございます!!
873 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 02:04:47 ] >>870 小数に対応できるようにfactor()の中身を>>870 が書き換えたんだよね? '('が来た後の exp0() を int で受けてるままだから このままだと丸まっちゃうよ
874 名前:870 mailto:sage [2008/02/02(土) 02:23:48 ] >>873 感謝です。訂正したものをあげておきます。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5963.txt
875 名前:853 [2008/02/02(土) 02:50:50 ] karetta.jp/book-node/cpuzzle-recursion/002797 こーいうページもあるけどね これをdoubleでやりとりするように変えた kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5964.txt をあげとこう
876 名前:デフォルトの名無しさん [2008/02/02(土) 02:54:00 ] >>874 早いねw もっというと現状のソースはちょっと精神分裂気味に見えるから double number(void) 作って↓みたいにしたほうが元のBNF通りかねえ? 他人の宿題だからどうでもいいかもだけど。 double factor(void){ if(isdigit(nextc){ /* F -> Num */ return number(); } else if(match('(')) { /* F -> (E) */ double v = exp0(); if(match(')')) return v; else error(); } else { error(); } }
877 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 10:06:19 ] >>876 そうすると、1桁しかあつかえないのでは? いや、現状が精神分裂気味なのはまったく同意です。オリジナルの美しい構造を残したいものです。
878 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 10:31:53 ] >>875 なるほど,ブランク読み飛ばし、単項のマイナスにも対応してますね。 ただし、このBNF はLL(1)文法であり、たかだか**1文字**先読みすればdeterministicにtop-downに解析できるわけで、その精神をソースにもりこみたいな、という意志がありまして...。
879 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 11:22:33 ] 83代目の575は評価されるべき
880 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 17:33:37 ] >>751 が叩かれてて質問者でもないし聞きづらかったんだけど、期限も切れているようだし>>751 を聞いていいかな?
881 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 17:41:13 ] いいとも!
882 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 19:12:13 ] [1] 授業単元:プログラミング初級 [2] 問題文(含コード&リンク): 1〜24まで穴埋め問題です ip.tosp.co.jp/i.asp?I=cgenger [3] 環境 [3.1] OS : windows [3.2] コンパイラ名とバージョン: Visual C++ 2005 [3.3] 言語: C言語 [4] 期限:2月4日
883 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 20:18:58 ] >>882 とりあえず22まで。間違ってても謝罪や賠償はしない。 1. int * 2. char * 3. char * 4. int ** 5. char ** 6. char ** 7. &cnt 8. &ch 9. &ch 10. pc 11. *pc 12. &ch 13. pch 14. *pch 15. argv[1] 16. pa 17. *(argv[2]) 18. *pa 19. &pc 20. &pch 21. **ppc 22. **pch
884 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 20:36:22 ] 23と24も。 最近C言語でプログラム書いていないんで、argvの仕様を調べなおしてた。 あと、実行時の引数の順序がわからんから、適当に書き換えてくれ。 23. *(pp+3) 24. **(pp+4)
885 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 21:22:32 ] >>883 ありがとう御座います
886 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 21:28:44 ] ttp://www.raw-paradise.com/
887 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 21:48:01 ] >>879 再掲載お願いできますでしょうか?
888 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 00:06:55 ] 結局751の画像は何を対象にしてたんだぜ?
889 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 00:38:36 ] >>581 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5968.c
890 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 01:29:14 ] 【時間切れ】 (2/2) なし 【未解決問題】 >>798 2/5 残:課題1 >>79 無期限 >>144 無期限 問題文>>148
891 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 02:44:30 ] [1] 授業単元: プログラミング [2] 問題文(含コード&リンク): input8500.txtには4桁の整数が8500個書かれている。 これら8500個の整数のうち、相異なる整数は何種類あるか求めなさい。 input8500.txt: kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5969.txt [3] 環境 [3.1] OS: Windows XP [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 2008年2月4日12:00まで [5] その他の制限: 制限は特にありません。宜しくお願いいたします。
892 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 03:30:01 ] >>891 #include <stdlib.h> #include <stdio.h> #include <string.h> int main(void){ int *table=(int*)calloc(sizeof(int), 10000, 0), i, x; FILE *in=fopen("input8500.txt","r"); for(i=0; i<8500; i++){ fscanf(in, "%d", &x); table[x]++; } for(i=x=0; i<10000; x+=table[i]?1:0, i++); printf("%d種類\n", x); } コンパイラ無いので,試してないけど動くんじゃね?
893 名前:デフォルトの名無しさん mailto:sage575さんゴメンナサイ [2008/02/03(日) 08:25:55 ] >>887 575 デフォルトの名無しさん sage 2007/02/22(木) 19:31:21 >>574 ほい。 #include<stdio.h> #include<stdlib.h> char buf[100],*src=buf; double atm(void); double mul(double r){return*src=='*'?++src,mul(r*atm()):*src=='/'?++src,mul(r/atm()):r;} double add(double r){return*src=='+'?++src,add(r+mul(atm())):*src=='-'?++src,add(r-mul(atm())):r;} double atm(void){ double r; while(isspace(*src))++src; if(*src == '(')++src,r = add(mul(atm())),++src; else r = strtod(src,&src); while(isspace(*src))++src; return r; } int main(){gets(src);printf("%f\n",add(mul(atm())));}
894 名前:デフォルトの名無しさん [2008/02/03(日) 17:42:29 ] [1] 授業単元:プログラミング演習 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5973.txt [3] 環境 [3.1] OS:UNIX [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限:2月12日(火)16時20分まで [5] その他の制限:特になし。 よろしくお願いします。
895 名前:891 mailto:sage [2008/02/03(日) 18:08:31 ] >>892 ありがとうございます。コンパイルしてみたところ 5行目に、too many arguments to function `calloc' とエラーが出ました。calloc関数は使用したことがないため、 どこを直せばいいのか分かりません。 教えていただけないでしょうか。
896 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 18:11:24 ] それくらい仕様を見れば分かるだろ。
897 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 18:12:20 ] >>895 calloc(10000, sizeof(int))
898 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 18:45:29 ] >>894 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5974.c
899 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 20:53:57 ] [1] 授業単元:プログラミング実習 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5975.txt [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン:Visual Studio 2005 [3.3] 言語: C [4] 期限:2月5日 [5] その他の制限:特になし お願いします。
900 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 21:35:45 ] [1] 授業単元:課題3 [2] 問題文(含コード&リンク):月日を入力するとその日の星座を表示するプログラムを作成せよ。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: ? [3.3] 言語: C [4] 期限: 2008/2/6 [5] その他の制限: 特にありまさん
901 名前:891 mailto:sage [2008/02/03(日) 22:02:09 ] >>896 >>897 コンパイル通りました。ありがとうございました! 仕様良く読みます。
902 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:09:06 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク): 直径1長さ1の円柱がある。体積をモンテカルロ法で計算せよ。 一辺が1の立方体を考え、3個の乱数で立方体内の点のxyz座標を発生させ,その点が物体の内部 に落ちるかどうかを判定する。内部に落ちる確率が体積に比例することから体積が見積もれる。 [3] 環境 [3.1] OS:windows [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2/4 [5] その他の制限: 以前このスレで質問した問題なんですがコンパイルできなかったのでもう一度 おしえてもらえないでしょうか。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5976.txt printf("Vの真の値 = %f\n", M_PI * 0.5 * 0.5); のM_PIでエラーがでて しまいます。
903 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:22:43 ] >>900 #include <stdio.h> #include <stdlib.h> int main() { static const struct {int n; const char *s;} c[] = { {120, "みずがめ"}, {219, "うお"}, {321, "おひつじ"}, {420, "おうし"}, {521, "ふたご"}, {622, "かに"}, {723, "しし"}, {823, "おとめ"}, {923, "てんびん"}, {1024, "さそり"}, {1122, "いて"}, {1222, "やぎ"}, }; int i, m, d; char buf[256]; do { printf("月/日: "); if (fgets(buf, sizeof buf, stdin) == 0) return EXIT_FAILURE; } while (sscanf(buf, "%d / %d", &m, &d) != 2); for (i = 0; i < 12 && m * 100 + d >= c[i].n; i++) ; if (--i < 0) i = 11; printf("%s座\n", c[i].s); return EXIT_SUCCESS; }
904 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:27:41 ] >>902 上の方に #define M_PI 3.141592653589793238 とか書いときゃいいんじゃね?
905 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:30:10 ] >>902 printf("Vの真の値 = %f\n", M_PI * 0.5 * 0.5);のまえにでも #ifndef M_PI #define M_PI 3.14159265358979323846 #endif とでもしとけ てか、CygwinでもMinGWでもコンパイルは通るんだが
906 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:35:19 ] >>902 私の方でもコンパイル・実行しましたが、問題はありませんでした。 環境は WindowsXP/cygwin(gcc 3.4.4) です。 #include <math.h> の記述がありますから、M_PI には円周率が定義されているはずなのですが...。 gcc のインストールはどうやってしましたか?
907 名前:906 mailto:sage [2008/02/03(日) 22:40:29 ] >>902 そうそう、アップローダのソースは空白が全角になってました。これを半角に直してみてください。
908 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:41:48 ] VCとかでは定義されてなかったような気がする。関係ないけど バージョンによってはgccでも載ってなかったりするのか?
909 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:54:59 ] >>899 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5977.c
910 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:58:44 ] >>908 M_PI は、手元の gcc 2.6.3 for GO32/PC9801 の math.h には定義されていましたね。 bcc 5.5 でも OK, VC 6.0 の math.h にはありませんでした。
911 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 23:09:50 ] VC(7以上)なら #define _USE_MATH_DEFINES で使えたはずだが
912 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 23:10:52 ] >>900 #include<stdio.h> int main(void){ char *a[]={"いて","やぎ","みずがめ","うお","おひつじ","おうし","ふたご","かに","しし","おとめ","てんびん","さそり"}; unsigned int m,d; printf("月,日="); scanf("%d,%d",&m,&d); printf("%s座\n",a[(m+d*2/",*&*(,*0...,"[m%12])%12]); return 0; }
913 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 00:16:06 ] 3.141592653592
914 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 02:21:34 ] >>798 課題1。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5978.txt
915 名前:581 mailto:sage [2008/02/04(月) 03:47:38 ] >>889 さん ありがとうございますm(_ _)m さっきgccでコンパイル通そうとおもったら通らなかったのですが、どうすれば良いでしょうか??orz
916 名前:デフォルトの名無しさん [2008/02/04(月) 08:45:59 ] [1] 授業単元: プログラミング入門 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5980.txt [3] 環境 [3.1] OS:UNIX [3.2] gcc 3.4 [3.3] 言語: C [4] 期限:2月6日 [5] その他の制限: よろしくお願いします。
917 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 09:10:09 ] >>915 どんなエラーメッセージが出ていますか。
918 名前:デフォルトの名無しさん [2008/02/04(月) 09:34:59 ] [1] 授業単元:アルゴリズム [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5982.txt [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: どちらでも可 [4] 期限: 2008年02月04日12:00まで [5] その他の制限:
919 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 10:44:49 ] >>916 ( ´∀`)つttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5983.c
920 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 10:47:51 ] >>918 ( ´∀`) yamaguchi.txt が落とせないんです。
921 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 10:54:17 ] >>916 ごめん。行頭に空白があったり、空行があったらバグっちゃう。 パッチ書きました。 ( ´∀`)つttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5984.txt
922 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 11:03:33 ] >>916 ごめん。add_word() の処理が冗長だった。 もう一回パッチあててくり。 ( ´∀`)つ ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5985.txt
923 名前:899 mailto:sage [2008/02/04(月) 11:06:04 ] >>909 ありがとうございました。
924 名前:デフォルトの名無しさん [2008/02/04(月) 11:07:56 ] >>920 yamaguchi.txtです kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5986.txt
925 名前:915 mailto:sage [2008/02/04(月) 11:26:36 ] >>917 さん コンパイル失敗時に出てきたエラーメッセージを直接コピペします。長いかも・・・。 2ch.c:6: parse error before `&' 2ch.c:17: parse error before `}' 2ch.c: In function `read_wave_file': 2ch.c:47: storage size of `chunk' isn't known 2ch.c:54: stray '\' in program 2ch.c:54: parse error before `)' 2ch.c:56: stray '\' in program 2ch.c:56: parse error before `)' 2ch.c:62: stray '\' in program 2ch.c:62: parse error before `!' 2ch.c:68: parse error before `else' 2ch.c:68: stray '\' in program 2ch.c: At top level: 2ch.c:76: parse error before `if' 2ch.c:78: parse error before `+' 2ch.c:78: warning: data definition has no type or storage class 2ch.c:81: warning: parameter names (without types) in function declaration 2ch.c:81: warning: data definition has no type or storage class 2ch.c:83: parse error before `if' 2ch.c: In function `write_wave_file': 2ch.c:92: storage size of `chunk' isn't known 2ch.c:98: stray '\' in program 2ch.c:98: parse error before `;' 2ch.c:102: stray '\' in program 2ch.c:102: parse error before `;' 2ch.c:105: stray '\' in program 2ch.c:105: parse error before `;' 2ch.c:110: stray '\' in program 2ch.c:110: parse error before `;'
926 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 11:39:00 ] >>925 5行目の最後(改行の直前)の'\'が消えてないか?
927 名前:デフォルトの名無しさん [2008/02/04(月) 12:35:58 ] >>922 ありがとうございました。
928 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 13:55:09 ] >>925 まさかとは思うが、改行コードが\r\nのままLinuxでコンパイルしていないか? 5行目末のバックスラッシュが\rをエスケープしてしまい、その後の\nをエスケープできなくなるぞ。
929 名前:デフォルトの名無しさん [2008/02/04(月) 14:43:27 ] [1] 授業単元: プログラミング入門 [2] 問題文(含コード&リンク):@0〜99の数字から異なる30個を選び、配列COM1[30]に格納せよ (時間で初期化,乱数を使用) A次に6個の異なる数を入力し配列COM2[6]に格納せよ B次にCOM1、COM2の数を小さい順に並び変えよ C次にCOM1とCOM2の両方に含まれる数の個数を求めよ D最後にCOM1とCOM2の全数字とCの個数を出力させよ [3] 環境 [3.1] OS:UNIX [3.2] gcc 3.4 [3.3] 言語: C [4] 期限:2月7日 [5] その他の制限: 宜しくお願いします。
930 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 14:59:57 ] >>929 >>788
931 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 15:24:53 ] >>929 ( ´∀`)つttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5990.c
932 名前:デフォルトの名無しさん [2008/02/04(月) 15:33:49 ] >>931 make_com1()は>>929 の@の『0〜99の数字から異なる30個を選び』を 満たしてないような・・・(重複するんじゃないの?) 通りがかりで失礼
933 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 16:57:58 ] >>929 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5992.txt 初心者だけどやってみた、一応ちゃんと動いた。 変数の名前とかだいぶ適当だけど勘弁。
934 名前:デフォルトの名無しさん [2008/02/04(月) 17:17:44 ] [1] 授業単元:C言語入門 [2] 問題文:キーボードから学籍番号を入力すると、 その学生の eメールアドレスを出力するプログラムを作成しなさい。 ただし、学籍番号は7桁の自然数とし、これ以外の文字列が打ち込まれた時には 「学籍番号は7桁の数字で入力して下さい」と出力して、終了するプログラムとすること。 例 学籍番号を入力して下さい:0032113 0032113@yahoo....など。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: visual studio [3.3] 言語: C++ [4] 期限: 2月4日 [5] その他の制限: 期限ギリギリで申し訳ないですが、お願いします。
935 名前:デフォルトの名無しさん [2008/02/04(月) 19:00:43 ] >>929 俺も作ってみた kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5993.txt
936 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 20:45:00 ] 100回入れ替えなくても30回で十分なやり方あるだろ……と思ってよく見たらその交換の仕方はダメだ
937 名前:935 [2008/02/04(月) 20:46:34 ] あぁ・・・VCで作ったから_tmainのままになってら・・・
938 名前:デフォルトの名無しさん [2008/02/04(月) 20:49:52 ] >>936 後学の為にダメな理由を詳しく教えてくれると嬉しい。
939 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 20:57:16 ] for( i = 0 ; i < sizeof(hoge)/sizeof(*hoge) ; i++ ) { // i番目の要素と乱数(0~99)番目の要素を交換 int rnd = rand() % 100 ; int tmp = 0 ; tmp = hoge[i] ; hoge[i] = hoge[rnd] ; hoge[rnd] = tmp ; } これだと数値が偏るから
940 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 20:58:56 ] [1] 授業単元:プログラミング [2] 問題文 input.txtの各行には100点満点の数学の試験の点数が書かれている。 これを0点台,10点台…,90点台,100点の11の階級に分け、どの階級に何人 が属するかを人数分の"*"で表すプログラムを書きなさい。出力の細かな形式は問わない。 input.txt: kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5988.txt [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:Visual C [3.3] 言語:C [4] 期限:2月6日 [5] その他の制限: よろしくお願いします。
941 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 20:59:28 ] >>934 学籍番号とメールアドレスの関連はどうなってるんだ? それだけじゃ、苗字を入力して、下の名前を出力するプログラムって言うぐらい、意味不明だぞ。 どうやって作ったらいいのかサッパリ分からん。 学籍番号@yahoo.co.jpでいいのか?
942 名前:デフォルトの名無しさん [2008/02/04(月) 21:03:06 ] >>939 どう偏るの?
943 名前:934 [2008/02/04(月) 21:06:39 ] >>941 入力された学籍番号@yahoo.co.jp と、出力されるプログラムです。 ただし、学籍番号は7桁の自然数とし、これ以外の文字列が打ち込まれた時には 「学籍番号は7桁の数字で入力して下さい」と出力して、終了するプログラムとすること。 ↑ここがどのようにプログラムしたらいいのか分からないのです。
944 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 21:10:33 ] >>940 #include <stdio.h> int main(void) { FILE *fp; int i, j, a[11] = {0}, n; if((fp=fopen("input.txt", "r"))==NULL) return 1; while(fscanf(fp, "%d", &n)!=EOF) a[n/10]++; for(i=0; i<11; i++) { printf("%3d点台:", i*10); for(j=0; j<a[i]; j++) putchar('*'); putchar('\n'); } fclose(fp); return 0; }
945 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 21:11:47 ] >>942 ttp://pc11.2ch.net/test/read.cgi/tech/1187944110/513 ttp://pc11.2ch.net/test/read.cgi/tech/1187944110/532 ttp://pc11.2ch.net/test/read.cgi/tech/1187944110/534
946 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 21:18:28 ] >>940 ( ´∀`)つttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5994.c
947 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 21:26:44 ] >>942 単純化してhogeが3要素の場合を考えてみろ この場合、rand()%3が三回計算されるから、これが完全な乱数だと近似すれば、27通りが均等な確率で出る 一方、3要素を並べ換える方法の数は3!=6通りで、27は6の倍数じゃないから、6通りが公平に出ることはありえない
948 名前:デフォルトの名無しさん [2008/02/04(月) 21:41:46 ] >>945 ,>>947 ご丁寧な引用&説明ありがとう。
949 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 22:26:19 ] >>944 >>946 こんなに早くありがとうございました。
950 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 22:34:51 ] >>943 #include<iostream> using namespace std; int main(void){ string s; cout << "学生番号 : "; cin >> s; if(s.length() != 7){ cout << "7文字いれろぼけ" << endl; return 1; } for(string::iterator si = s.begin(); si != s.end(); si++){ if(!isdigit(*si)){ cout << "数字以外いれんなぼけ" << endl; return 1; } } cout << s.c_str() << "@yahoo.co.jp" << endl; return 0; }
951 名前:934 [2008/02/04(月) 22:56:17 ] >>950 ありがとうございます!
952 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 23:32:47 ] ちょっと早いけど次スレ立てました C/C++の宿題を片付けます 104代目 pc11.2ch.net/test/read.cgi/tech/1202135539/
953 名前:798 mailto:sage [2008/02/05(火) 01:09:34 ] >>914 さん 解説もつけていただき、ありがとうございました(^-^)/
954 名前:デフォルトの名無しさん [2008/02/05(火) 12:22:57 ] 文字列がランダムに入ったchar moji[i][255]があります moji[0〜i]で何種類の文字列があるか数える方法教えてください 例えばi=5だとして moji[0]="abc" moji[1]="bbb" moji[2]="abcdbbb" moji[3]="bbb" moji[4]="abc" なら答えは3種類です
955 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 12:39:17 ] >>954 ここは宿題スレ。よって、スレ違い。
956 名前:売国まるはん [2008/02/05(火) 13:11:47 ] パチンコスレで遠隔、ホルコン、サクラ、マネーロンダリングなどについて書き込むと渋谷マルハン社員やマルハンに依頼された ネット工作会社がスレ荒らしをしてスレが機能停止します。 ↓↓工作員の荒らしのやり方↓↓ 2008/01/10(木)ID:iA54nBU50 ■■■■マルハン総合スレッド 9■■■■money6.2ch.net/test/read.cgi/pachij/1187021165/783-784 【宮崎県都城市】パチ事情そのAmoney6.2ch.net/test/read.cgi/pachij/1187189246/658-659 【山と川】宮崎県児湯付近PART1【自然イパーイ】money6.2ch.net/test/read.cgi/pachij/1188235164/471-472 【基地外が大暴れ4】エスパス日拓総合スレ【18発目】money6.2ch.net/test/read.cgi/pachij/1188885488/401-410 2008/01/13(日)ID:1HLcWzUK0 【基地外が大暴れ4】エスパス日拓総合スレ【18発目】money6.2ch.net/test/read.cgi/pachij/1188885488/461-462 ■■■■マルハン総合スレッド 9■■■■money6.2ch.net/test/read.cgi/pachij/1187021165/809-810 【香川】パーラーグランドのスレ2【徳島】money6.2ch.net/test/read.cgi/pachij/1188315438/324 【延岡】宮崎県北情報PART3【日向】money6.2ch.net/test/read.cgi/pachij/1196865970/186 工作員に荒らされ機能停止したスレ ■■■■マルハン総合スレッド 9■■■■money6.2ch.net/test/read.cgi/pachij/1187021165/ 【山崎】MPT渋谷パート9【シャネル】money6.2ch.net/test/read.cgi/pachij/1197771701 【基地外が大暴れ4】エスパス日拓総合スレ【18発目】money6.2ch.net/test/read.cgi/pachij/1188885488 MPT渋谷はマルハン・パチンコ・タワー渋谷の略です。 パチンコ産業は荒らすことでレスとレスの間を空けて読む気をなくさせたり マネーロンダリング、さくら、ホルコン、遠隔、などの風評被害を最小限に抑えようとしてる。 新スレ→○○○マルハンパチンコタワー渋谷パート10○○○ ★★★★★このスレの解説★★★★★を読んでみるとよく判る。 money6.2ch.net/test/read.cgi/pachij/1201304777/52-54
957 名前:デフォルトの名無しさん [2008/02/05(火) 15:11:26 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク):与えられたデータに対して季節調整を行うプログラムを作成しなさい。 <調整法> i年目、j月のデータを aij とする。 月平均 Mj 月平均の平均 M 調整のための指数 Sj = Mj / M 調整結果 aij / Sj <input.text> 40.0 37.7 51.8 45.9 45.2 45.4 62.0 40.8 42.1 49.1 51.5 93.4 42.6 39.5 53.4 47.6 47.0 47.5 63.5 42.2 42.9 51.1 51.8 94.7 43.3 39.8 53.6 48.5 48.3 47.5 65.9 42.8 43.7 53.2 52.9 97.0 44.9 42.3 55.0 50.7 48.6 48.9 68.8 43.3 46.2 54.2 54.6 100.5 47.5 42.8 57.7 52.6 51.0 50.9 71.4 45.0 47.3 56.8 56.7 102.7 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン: Visual Studio 2005 [3.3] 言語:C++ [4] 期限:2月7日 [5] その他の制限: 結果は、画面に表示してください。 よろしくお願いします!
958 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:17:10 ] >>957 pc11.2ch.net/test/read.cgi/tech/1180856695/796-
959 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:22:47 ] [1]授業単元 C言語 [2]問題文 整数yを入力すると、y×yの正方形を描くプログラム ex)y=4のとき ・・・・ ・ ・ ・ ・ ・・・・ y=1のときは ・ y=2のときは ・・ ・・ でOK [3]環境 Windows、C [4]期限 2/6 9:30まで。なるべく早めにお願いします。
960 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:32:04 ] // >>959 2バイト文字にするのは自分でやってくれ。 #include <stdio.h> int main() { int y; scanf("%d", & y); if (y >= 1) { for (int xc = 0; xc < y; ++xc) { printf("."); } printf("\n"); } for (int yc = 0; yc < y - 2; ++yc) { printf("."); for (int xc = 0; xc < y - 2; ++xc) { printf(" "); } printf(".\n"); } if (y >= 2) { for (int xc = 0; xc < y; ++xc) { printf("."); } printf("\n"); } return 0; }
961 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:42:01 ] /* こんでいいじゃんw */ #include <stdio.h> int main() { int y, xc, yc; scanf("%d", & y); for (yc = 0; yc < y; ++yc) { for (xc = 0; xc < y; ++xc) { printf("%s", yc == 0 || yc == y - 1 || xc == 0 || xc == y - 1 ? "・" : " "); } putchar('\n'); } return 0; }
962 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 17:56:42 ] >>960-961 ありがとうございました。
963 名前:デフォルトの名無しさん [2008/02/05(火) 18:21:06 ] [1] 授業単元: プログラミング [2] 問題文(含コード&リンク): ・時計の長針と短針がなす角を求めるプログラム 時刻 h時 m分 (24時間制、mは整数)において、時計の長針と短針がなす角θ(0°≦θ≦180°) を計算するプログラムを書きなさい。 ただし、h、mを入力する部分、及びなす角θを計算する部分をそれぞれ関数化しなさい。 結果の出力はh、m、θが表示されていれば細かい様式は問わない。 ヒント:時計の長針は1時間で一周するということは、1分間あたり何度動くか。 同様に、時計の短針は12時間で一周するということは1時間当たり何度動くか。 また1分間あたり何度動くか。時計の長針は短針に比べて1分間にどれだけ多く動くか。 実行例 >clock.exe input h:22 input m:0 22:00 (60.0°) [3] 環境 [3.1] OS: Windows XP [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 2008年2月6日12:00まで [5] その他の制限: 制限は特にありません。よろしくお願い致します