1 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 06:56:18 ] あなたが解けない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++の宿題を片付けます 112代目 pc11.2ch.net/test/read.cgi/tech/1215439445/
307 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 00:08:04 ] >>264 スペースないからdecomposite関数だけ。 void decomposite(char *str) { int a, b, c, ab, bc, ca; char *p, *q, *r, temp[256]; for(p=str,ab=0; ab<=65535*2; p++) { ab = ab * 10 + *p - '0'; for(q=p+1,bc=0; bc<=65535*2; q++) { bc = bc * 10 + *q - '0'; for(r=q+1,ca=0; ca<=ab + bc; r++) { ca = ca * 10 + *r - '0'; a = (ab + ca - bc) / 2; b = ab - a; c = ca - a; if(a<0||b<0||c<0||a+b!=ab||b+c!=bc||c+a!=ca) continue; sprintf(temp, "%d%d%d%d%d%d%d%d%d",a,b,c,abs(a-b),abs(b-c),abs(c-a),a*b,b*c,c*a); if(strcmp(r+1, temp)==0) printf("a=%d b=%d c=%d\n", a, b, c); } } } }
308 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 00:13:29 ] >>159 一つ目 #include<stdio.h> #include<stdlib.h> struct bunsuu{ int bunsi, bunbo; }; int gcd(int a, int b){ int c; while((c=a%b)) a=b,b=c; return b; } struct bunsuu bunsuu_set(int bunsi, int bunbo){ struct bunsuu ret={0, 1}; if(bunsi==0 || bunbo==0) return ret; if(bunbo<0) bunsi=-bunsi, bunbo=-bunbo; ret.bunsi=bunsi/gcd(abs(bunsi), bunbo); ret.bunbo=bunbo/gcd(abs(bunsi), bunbo); return ret; } struct bunsuu bunsuu_add(struct bunsuu a, struct bunsuu b){ return bunsuu_set(a.bunsi*b.bunbo+b.bunsi*a.bunbo, a.bunbo*b.bunbo); } struct bunsuu bunsuu_sub(struct bunsuu a, struct bunsuu b){ return bunsuu_set(a.bunsi*b.bunbo-b.bunsi*a.bunbo, a.bunbo*b.bunbo); } struct bunsuu bunsuu_mul(struct bunsuu a, struct bunsuu b){ return bunsuu_set(a.bunsi*b.bunsi, a.bunbo*b.bunbo); } struct bunsuu bunsuu_div(struct bunsuu a, struct bunsuu b){ return bunsuu_set(a.bunsi*b.bunbo, a.bunbo*b.bunsi); } void bunsuu_print(struct bunsuu x){ printf(x.bunbo==1?"%d\n":"%d / %d\n", x.bunsi, x.bunbo); } int main(void){ struct bunsuu a={1,2}, b={2,3}; printf("input bunsuu ( ex. 1 / 2 ) :"); scanf("%d/%d", &a.bunsi, &a.bunbo); printf("input bunsuu ( ex. 2 / 3 ) :"); scanf("%d/%d", &b.bunsi, &b.bunbo); bunsuu_print(bunsuu_add(a, b)); bunsuu_print(bunsuu_sub(a, b)); bunsuu_print(bunsuu_mul(a, b)); bunsuu_print(bunsuu_div(a, b)); return 0; }
309 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 00:15:10 ] >>296 助かります、ありがとうございました。
310 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 00:17:19 ] またすいません。 2問ありますがお願いします。 [1] 授業単元:C言語 [2] 問題文: kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7407.txt [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:visual stdio 2005 [3.3] 言語: (C言語) [4] 期限:今週 [5] その他の制限:ポインタを使用すること。
311 名前:45 [2008/07/17(木) 00:23:15 ] >>172 遅れましたが、ありがとうございます。
312 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 00:23:32 ] [1] 授業単元:プログラム実習 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7408.txt [3] 環境 [3.1] OS:windowsXP [3.2] コンパイラ名とバージョン:VC6.0 [3.3] 言語: C++ [4] 期限:(2008年7月18日17:00まで [5] その他の制限: 一次元関数の問題です。期限が…
313 名前:300 mailto:sage [2008/07/17(木) 00:28:05 ] >>304 うまく行きました ありがとうございます
314 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 00:29:39 ] [1] 授業単元: [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7409.txt [3] 環境 [3.1] OS:windowsXP [3.2] コンパイラ名とバージョン:VC6.0 [3.3] 言語: (C++) [4] 期限: [5] その他の制限:クラスを変更して動作させよというものです 宜しくお願いします
315 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 00:35:37 ] すみません。>>273 をどなたがお願いできないでしょうか? 期限は明日までになりそうです。
316 名前: ◆r8ev9T1A36 mailto:sage [2008/07/17(木) 00:37:13 ] [1] 授業単元: c言語演習 [2] 問題文(含コード&リンク): c言語を用いて制作すること ・入力は、整数n≥1 ・出力は、nのパリティ(偶パリティor奇パリティ) [3] 環境 [3.1] OS:windowsXP [3.2] コンパイラ名とバージョン:bcc [3.3] 言語: c [4] 期限: 2008年7月19日 [5] その他の制限: よろしくお願いします。
317 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 00:43:18 ] >>264 >>307 氏とは少しアプローチのちがうやつを kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7410.txt 長くてすまん さっきからループでまわして見てるが一意に解が出ないパターンに出くわさないな
318 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 01:01:18 ] [1] 授業単元:プログラミング演習 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7411.txt [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限: 2008年07月17日18:00まで
319 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 02:56:22 ] >>312 そのうち>>231やるかも line 18 // int calendar[rsize][csize]; int *calendar = new int[rsize * csize]; line 23 // calendar[i][j] = 0; calendar[i*csize + j] = 0; line 50 // calendar[i][j] = day; calendar[i*csize + j] = day; line 62: // const int day = calendar[i][j]; const int day = calendar[i*csize + j];
320 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 03:22:30 ] >>318 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7412.c kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7413.c
321 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 03:23:46 ] >>231 >>319 delete[] calendar; retrun 0; 忘れてた。 line 17 // int calendar[rsize][csize]; int **calendar = new int*[rsize]; line 20 for (int i = 0; i < rsize; ++i) { calendar[i] = new int[csize]; line 83 for (int i = 0; i < rsize; ++i) delete[] calendar[i]; delete[] calendar; return 0;
322 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 03:36:06 ] すみません>>58 助けてください・・・
323 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 03:46:09 ] >>322 期限を過ぎてるじゃん
324 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 03:59:15 ] 期限過ぎても提出しないと全部ボツになるんです
325 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 05:09:45 ] 期限が過ぎていたからって、機嫌を悪くしないでね。
326 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 09:31:42 ] >>320 >以下の雛形プログラムの指定部分のみを変更すること. <ctype.h>のインクルードは題意に反する。
327 名前:デフォルトの名無しさん [2008/07/17(木) 09:48:43 ] >>318 //1 #include <stdio.h> #define N 128 /* プロトタイプ宣言 */ void printCapitals(char *s); int main(void){ char str[N]; fgets(str, N, stdin); printCapitals(str); return 0; } void printCapitals(char *s) { int i; for(i=0;s[i];i++) if('A' <= s[i] && s[i] <= 'Z') putchar(s[i]); } for(i=0;s[i],i++) if('A' <= s[i] && }
328 名前:デフォルトの名無しさん [2008/07/17(木) 10:18:39 ] >>318 #include <stdio.h> //2 unsigned CommaSeparatedValueSum(FILE *fp) { unsigned csv[5] = {0}; unsigned sum = 0; unsigned i; while(!feof(fp)){ fscanf(fp,"%u,%u,%u,%u,%u",&csv[0],&csv[1],&csv[2],&csv[3],&csv[4]); for(i = 0; i < 5; i++) sum += csv[i]; } return sum; } int main() { FILE *fop = fopen("data3.csv","r"); unsigned sum = CommaSeparatedValueSum(fop); printf("CSV DATA SUM %u \n",sum); return 0; }
329 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 10:28:21 ] >>281 private: void strset(char *str){ p = new char[strlen(str)+1]; strcpy(p,str); } public: strtype(char* str=""){ strset(str); } strtype(strtype &st){ strset(st.p); }
330 名前:デフォルトの名無しさん [2008/07/17(木) 10:40:34 ] [1] 授業単元: C言語プログラミング [2] 分数の四則演算を計算するプログラムを作成する [3] 環境 [3.1] OS: Windows [3.2]Microsoft Visual Studio [3.3] 言語・C++ [4] 期限: ([2008年7月21日14:00まで [5]条件 分数を、 1|3 のように、| (縦棒)という記号で分子・分母を区別する。/ (スラッシュ)だと除算記号と混同してしまうから。 計算規則 a|b + c|d = (a*d + b*c) | (b*d) a|b - c|d = (a*d - b*c) | (b*d) a|b * c|d = (a*c) | (b*d) a|b / c|d = (a*d) | (b*c) 計算結果については,分母が1の時には分子のみの表示にする。分数が0(ゼロ)の時には 0(ゼロ)のみを表示する。また,最終の計算結果を既約分数にする。 1.分母がゼロの入力エラーに対しては、再入力するよう促す。 2.除算において、除数がゼロの入力エラーに対しては、再入力するように促す。 3.以下範囲の整数(分子、分母にかかわらず)に対して、正しく計算できるようにすること。 -2147483648 〜 2147483647 Visual Studioでお願いします
331 名前:100 mailto:sage [2008/07/17(木) 10:40:56 ] >>180 遅れましたがありがとうございます。
332 名前:デフォルトの名無しさん [2008/07/17(木) 10:53:02 ] >>310 問題文をもっと詳しく書かないと 意味がわからない
333 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 11:10:10 ] >>310 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7416.txt これであってるか?
334 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 11:25:25 ] >>234 をお願いしますm(__)m
335 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 11:53:44 ] >>335 C言語の宿題じゃなくて数学の宿題ね
336 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 11:57:56 ] >>334 自分で微分方程式解いたら、それ持って又来て。
337 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 11:59:46 ] >>235 そだね
338 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 12:10:20 ] >>236 違ってる
339 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 12:17:28 ] >>273 をどうかよろしくお願いします。 セマフォを用いたプロセス間通信をするプログラムです。 期限は明日の12:00までになりました。 どうか、よろしくお願いします。
340 名前:デフォルトの名無しさん [2008/07/17(木) 12:49:47 ] >>330 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7419.txt kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7420.txt kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7421.txt こんなんで良いのかな
341 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 13:17:46 ] >>234 >>334 ttp://pc-physics.com/rk1.html ttp://www.damp.tottori-u.ac.jp/~ooshida/edu/ode/ この辺を参考にしてみたら?