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/
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] その他の制限: 制限は特にありません。よろしくお願い致します
964 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 19:04:08 ] [1] 授業単元:プログラミング応用 [2] 問題文(含コード&リンク):ip.tosp.co.jp/i.asp?I=cgenger [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン: Visual Studio 2005 [3.3] 言語:C++ [4] 期限:2月9日 [5] その他の制限: 宜しくお願いします
965 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 20:04:22 ] >>963 #include<stdio.h> #include<math.h> double calc_theta(int hour, int minute){ double degree_hour, degree_minute, theta; degree_hour=(hour+minute/60.0)*30.0; degree_minute=minute*6.0; theta=fmod(degree_hour-degree_minute, 360.0); if(theta<0.0) theta+=360.0; if(theta>180.0) theta=360.0-theta; return theta; } void get_value(int *pvalue, const char *message){ printf("%s", message); scanf("%d", pvalue); } void get_hour(int *phour){ get_value(phour, "input h:"); } void get_minute(int *pminute){ get_value(pminute, "input m:"); } int main(void){ int hour, minute; get_hour(&hour); get_minute(&minute); printf("\n%02d:%02d (%.1f°)\n", hour, minute, calc_theta(hour, minute)); return 0; }
966 名前:963 mailto:sage [2008/02/05(火) 20:50:26 ] >>965 さん 宿題でこれだけがどうしても分からなかったので、 本当に助かりました。 コードを見て理解することができました。 ありがとうございました!
967 名前:デフォルトの名無しさん [2008/02/05(火) 21:51:10 ] 【質問テンプレ】 [1] 授業単元: プログラミング [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6002.txt このプログラムにより1つのxに対して100個の誤差を含んだyが求められるので それぞれのxについて分散S=(1/100)*((yの平均値)-(yの値))を求めて fprintf(fp2,"%lf\t%lf\n",x,S);を使ってtxtファイルに書き出す [3] 環境 [3.1] Windows [3.2] Visual Studio 2005 [3.3] 言語:C [4] 期限:2月6日正午 問題文のプログラムに付け加える形でやってもらえるとありがたいです 時間短いですがどうかよろしくお願いします
968 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 22:54:27 ] 2乗が足りないな
969 名前:967 mailto:sage [2008/02/05(火) 23:10:36 ] あ、ほんとだ S=(1/100)*((yの平均値)-(yの値))^2 ですね
970 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 23:31:18 ] >>967 void main() { double X[2]; int flag=0; srand( (unsigned)time( NULL ) ); int i; long double x,y, sum_y, sum_y2, s; x=0; FILE *fp1, *fp2; fp1=fopen("file1.txt","w"); fp2 = fopen("file2.txt", "w"); for(x=0;x<=10;x++) { i=0; sum_y = sum_y2 = 0; while(i<100){ i=i+1; y=x*x+AddError(&flag,X)*0.05; sum_y+=y; sum_y2 += pow(y, (long double)2.0); fprintf(fp1,"%lf\t%lf\n",x,y); } s = -pow(sum_y, (long double)2.0)/10000 + sum_y2/100; fprintf(fp2, "%lf\t%lf\n", x, s); } fclose(fp1); fclose(fp2); }
971 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 23:37:07 ] >>954 std::set<std::string>(moji,moji+sizeof(moji)/sizeof(*moji)).size()
972 名前:デフォルトの名無しさん [2008/02/06(水) 00:14:18 ] [1] 授業単元: プログラミング [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6003.txt [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: Visual Studio [3.3] 言語: C [4] 期限: 2月7日 [5] その他の制限: おねがいします。
973 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 06:51:28 ] >>972 またその問題かいな。
974 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 07:31:03 ] >>973 !! もう誰かが質問してたってことですか! ぐへえ
975 名前:デフォルトの名無しさん [2008/02/06(水) 09:25:24 ] 【質問テンプレ】 [1] 授業単元:C++ [2] 問題文 テトラナッチ数列の問題で。 初項と第2項は0、第3項は1の値となるが第n項(n>3)び値Tnは以下の式で あらわせられる。 Tn=Tn-1+Tn-2+Tn-3 再起を利用した関数int tetra(int n)を作成しn=1から n=30までに各値を表示 させたい。以下の質問に答えよ @関数tetraを以下に記述せよ Amain関数を以下に記述せよ [3] 環境 [3.1] OS: (Windows) [3.2] コンパイラ名とバージョン: (borand5.5) [3.3] 言語: (/C++/) [4] 期限: 今日中
976 名前:975 [2008/02/06(水) 09:29:17 ] 追記で。 上記プログラムを何回実行したかを確認したいときどこをどのように変更したらよいか答えなさい。
977 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 09:53:54 ] >>975 #include <stdio.h> int tetra(int n) { if (n < 2) return 0; else if (n == 3) return 1; else return tetra(n - 4) + tetra(n - 3) + tetra(n - 2) + tetra(n - 1); } int main() { for (int i = 0; i <= 30; i++) printf("T%d : %d\n", i, tetra(i)); return 0; }
978 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 12:08:07 ] >>977 一個増えてるwww
979 名前:967 [2008/02/06(水) 13:14:45 ] >>970 こうじゃなくて、 ひとつのxについて 100個でてくるyの平均を出す ↓ 100個のyについてそれぞれ平均との差を出して二乗をとる ↓ それを100個分足してΣが出るので、それを100で割って分散を求める っていうのをそれぞれ1〜10について求めたいんですけれど・・・
980 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 13:49:32 ] (E[y] - y)^2=((E[y])^2-2E[y]y+y^2) 1/100*Σ((E[y]^2-2E[y]y+y^2)=E[y]^2-2E[y](1/100)Σy+(1/100)Σ(y^2) E[y]=(1/100)Σyだから ((1/100)Σy)^2-2((1/100)Σy)^2+(1/100)Σ(y^2) =-((1/100)Σy)^2+(1/100)Σ(y^2) だと思ったんだが,違ったのか
981 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 16:54:14 ] 間違ってるようでいて、合ってる。 N回分お得。
982 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 17:46:13 ] [1] 授業単元: プログラミング演習 [2] 問題文(含コード&リンク):課題作成 簡単なすごろく 20でゴール [3] 環境 [3.1] OS: (WindowsXP) [3.2] Visual studio 2005 8 [3.3] 言語: (C++) [4] 期限: 2月12日 最終課題ですごろくを作れと言われたのですが、基礎の基礎しか習ってないのでよくわかりません。 過去ログにあったプログラム例も試してみたのですが無理でした。 どなたかお願いします。
983 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 17:49:22 ] >>982 GUI付き?
984 名前:982 mailto:sage [2008/02/06(水) 21:02:41 ] GUIはないと思います・・多分。
985 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:15:05 ] すいません、詰まっています。教えてください。 「第6回 万年カレンダー(2) キーボードから年と月を入力し、その月のカレンダーを表示する。 」 #include <stdio.h> int is_bissextile(int year) { /* 閏年かどうか判定する関数 閏年なら1,そうでなければ0を返す */ int bis; if((year % 400) == 0 || ((year % 4) == 0 && (year % 100) != 0)){ bis = 1; } else { bis = 0; } /* 下のような書き方も可能 bis = ( year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)); */ 1日の曜日を計算する)
986 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:16:35 ] 2008年2月のカレンダーを表示する 2月1日が金曜日であることがわかっているものとする (課題では,前回のプログラムを使って1日の曜日を計算する) */ int year = 2008; int month = 2; int first_dow = 5; /* 1日は金曜日 */ int i; int days[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; if(is_bissextile(year)) { /* 閏年なら,2月を29日までにする */ days[1] = 29; } printf(" %d年%2d月\n", year, month); printf("日 月 火 水 木 金 土\n");
987 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:26:58 ] for(i=0; i<first_dow; i++){ printf(" "); /* 最初の曜日の,1日の前の空白 */ } for(i=1; i<days[month-1]+1; i++){ printf("%2d ", i); /* 数字二桁と,二つの空白 */ if((first_dow + i) % 7 == 0){ printf("\n"); /* 土曜日になったら,改行 */ } } /* 最終日が土曜日以外だったら,最後に改行を入れる 土曜日の場合は,既に入っているので入れない */ if((first_dow + i)%7!=1) printf("\n"); }
988 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:52:24 ] >>985-987 わかりづれーなww >>985 と>>986 の間に return bis; } int main(void){ を追加すればいいだけじゃないのか?
989 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 10:56:35 ] [1] 授業単元: プログラミング [2] 問題文(含コード&リンク):課題1:キーボードから文字列を入力し、その内容をファイルに保存するプログラムを作成しなさい。 なお、文字列の最大長は256バイトとし、プログラムの終了条件は、文字データの入力がないときとする。 課題2:課題1で作成されたファイルを読み込み、画面に表示するプログラムを作成しなさい。 [3] 環境 [3.1] OS: (WindowsXP) [3.2] Visual studio 2005 [3.3] 言語:C [4] 期限: 2月14日 課題が2つもありますがどうかよろしくお願いします
990 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 10:59:20 ] 連続投稿すみません。課題1の最後の分に「すなわち、次の入力とする「C:\>Enter」」を追加します。
991 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 11:41:11 ] >>988 ごめんなさいちょっとミスしましたw えっと、この日本語を全てプログラムにしないとダメなのですが、分からないんです jbbs.livedoor.jp/bbs/read.cgi/game/33978/1163833286/313n- 問題こちらです、よろしくお願いします。
992 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 11:42:11 ] >>991 特定したwwwwww
993 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 11:43:37 ] え、ちょ、何がですか?怖いです
994 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 12:00:44 ] >>989 初心者ですが作ってみました。 //課題1 #include <stdio.h> #include <string.h> #define CHARMAX 256 int main(void) { int i=0; char str[CHARMAX]; FILE *fp=fopen("data.txt","w"); if(!fp) return 1; do{ fgets(str, CHARMAX, stdin); i += int(strlen(str)); if(i > CHARMAX){ printf("入力文字数オーバー"); break; } fputs(str, fp); }while(str[0]!='\n'); return 0; }
995 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 12:01:04 ] //課題2 #include <stdio.h> #define CHARMAX 256 int main(void) { char str[256]; FILE *fp=fopen("data.txt", "r"); if(!fp) return 1; while(!feof(fp)){ fgets(str, CHARMAX, fp); printf("%s", str); } return 0; }
996 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 13:14:20 ] >>982 こんなんでいいんでしょうか。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6014.txt
997 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 13:34:05 ] >>994 問題の解釈違いかも知れんが、入力制限はトータルではなくて毎回個別でいいんじゃないか? それなら、fgets()任せで済むことだし。
998 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 13:39:15 ] >>997 ああ、確かに文字列一個当たりの最大値っぽいですね。 指摘ありがとうございます。 //課題1 #include <stdio.h> #define CHARMAX 256 int main(void) { char str[CHARMAX]; FILE *fp=fopen("data.txt","w"); if(!fp) return 1; do{ fgets(str, CHARMAX, stdin); fputs(str, fp); }while(str[0]!='\n'); return 0; } 課題2は同じで大丈夫ぽいかな。
999 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 13:47:22 ] う
1000 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 13:48:02 ] め
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。