1 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 03:01:54 ] あなたが解けない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++の宿題を片付けます 99代目 pc11.2ch.net/test/read.cgi/tech/1194262698/
16 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 15:37:38 ] [1] 授業単元:C言語プログラミング [2] 問題文(含コード&リンク): 5人分の身長から、平均と最高と最低を求めるプログラムを作りなさい キーボードから5人分の身長を入力する。 平均、最高、最低を表示する。 平均は、小数点第1位まで表示する。 入力処理途中で「-1」が入力されたら処理を中断し、それまでの入力済みデータを元にして以降の処理を行う。 <実行例> 身長を入力してください。 1人目は?: 165 2人目は?: 143 3人目は?: 149 4人目は?: -1 − 結果 − 平均: 152.3 cm 最高: 165 cm 最低: 143 cm [3] 環境 [3.1] OS:Windows [3.3] 言語:C言語 [4] 期限:2007年11月26日13:00まで [5] その他の制限: テキスト「新訂 新C言語入門(ビギナー編)」の第8章(ポインタ)までやりました。 @ 5人分の身長を格納する配列を利用すること 例) int sinchou[5]; A 次の3つのユーザ関数を作成し、利用すること ・平均を求める関数 ・最高を求める関数 ・最低を求める関数
17 名前:16 mailto:sage [2007/11/22(木) 15:42:17 ] 自分でやったプログラムはこれなんですが #include<stdio.h> double ave (int x[],int y); void max (int x[],int y); void min (int x[],int y); int main (void) { int i,sinchou[5]; double avdt; printf ("身長を入力してください。\n"); for (i=0;i<5;i++){ printf("%d人目は?:",i+1); scanf("%d",&sinchou[i]); if (sinchou[i] == -1) break; } avdt = ave (sinchou,i+1); printf("平均:%.1fcm\n",avdt); max (sinchou,i+1); min (sinchou,i+1); return 0; }
18 名前:16 mailto:sage [2007/11/22(木) 15:42:48 ] double ave (int x[],int y) { int i; int a=0; for (i=0;i<y;i++){ a += x[y]; } return a/y; } void max (int x[],int y) { int i,max=x[0]; for (i=0;i<y;i++){ if (max<x[i]){ max=x[i]; } } printf("最高:%d点\n",max); return; } void min (int x[],int y) { int i,min=x[0]; for (i=0;i<y;i++){ if (min>x[i]){ min=x[i]; } } printf("最低:%d点\n",min); return; }
19 名前:16 mailto:sage [2007/11/22(木) 15:45:06 ] コンパイルはできたんですが、実行すると NTVDM CPU は不正命令を検出しました。 と出てしまいます。 どうかお願いします。
20 名前:>>16 [2007/11/22(木) 16:41:46 ] #include<stdio.h> double ave (int x[],int y); void max (int x[],int y); void min (int x[],int y); int main (void) { int i,sinchou[5]; double avdt; printf ("身長を入力してください。\n"); for (i=0;i<5;i++){ printf("%d人目は?:",i+1); scanf("%d",&sinchou[i]); if (sinchou[i] == -1) break; } avdt = ave (sinchou,i); printf("平均:%.1fcm\n",avdt); max (sinchou,i); min (sinchou,i); return 0; }
21 名前:>>16 [2007/11/22(木) 16:44:48 ] double ave (int x[],int y) { int i; int a=0; for (i=0;i<y;i++){ a += x[i]; } return a/y; } void max (int x[],int y) { int i,max=*x; for (i=0;i<y;i++){ if (max<x[i]){ max=x[i]; } } printf("最高:%d点\n",max); } void min (int x[],int y) { int i,min=x[0]; for (i=0;i<y;i++){ if (min>x[i]){ min=x[i]; } } printf("最低:%d点\n",min); }
22 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 17:18:59 ] >>15 #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int i; srand(time(NULL)); for(i =0; i<10; i++) printf("%d\n", (int)(rand * 100)); }
23 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 17:19:11 ] [1] 授業単元:アルゴリズム演習 [2] 問題文(含コード&リンク): 各節点がkey,leftchild,rightchildの値とポインタを保持する二分木において、 根のポインタを受け取り、全ての節点のkeyを表示するプログラムを作れ。節点の数はnとする 再帰を使う事、同じ節点のkeyを2回表示する事、定数個以上のメモリを使う事を禁止する また、その実行時間はnの定数倍で抑えられなければならない [3] 環境 [3.1] OS: win [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:無期限 [5] その他の制限: なし お願いします
24 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 17:45:34 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク): 各教科名と点数を入力し、点数の大きい順に教科名と点数をソートして表示させなさい。 #include<stdio.h> void main(){ char kyouka[20][10]; int tensu[20],aa,m,n,k; printf("教科の数:"); scanf("%d",&n); for(k=0;k<n;k++){ printf("科目名:"); scanf("%s",&kyouka[k]); printf("点数:"); scanf("%d",&tensu[k]); } for(k=0;k<n;k++){ tensu[k]=0; } for(m=n;m>1;m--){ for(k=0;k<m;k++){ if(tensu[k]<tensu[k+1]){ aa=tensu[k]; tensu[k]=tensu[k+1]; tensu[k+1]=aa; } } } [3] 環境 [3.1] OS: Windows [3.3] 言語: C++ [4] 期限: 2007年11月23日 文字配列のソートがわかりません。初心者ですがよろしくおねがいします
25 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 21:31:08 ] >>24 Cだけど kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5304.txt 前スレと同じ授業のやつか?
26 名前:デフォルトの名無しさん [2007/11/22(木) 23:26:38 ] [1] 授業単元: プログラミング [2] 問題文(含コード&リンク):最大20桁の整数を5つ入力させ、int型配列にそれぞれ格納。入力終了後 5つの数値の和を求め出力する。なお、20桁までを有効とし21桁以降は無視。負の数、整数以外 改行のみの場合はそれぞれエラー表示をし、終了する。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: BCC [3.3] 言語: C [4] 期限: 11月23日09:00まで 前スレでも質問させていただきましたが、ご回答がなかったので改めて質問させて いただきます。参考書を読んでも自力で出来ないので、わかる方はご回答よろしくお願いします。
27 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 23:32:32 ] >>25 すいません。記入し忘れましたが前スレと同じです。 CはまったくわからないのでC++でおねがいできませんか?
28 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 23:55:41 ] >>27 >>24 の例がC++じゃなくてCなんだけれど。
29 名前:デフォルトの名無しさん [2007/11/23(金) 00:49:59 ] [1] 授業単元: システム解析 [2] 問題文(含コード&リンク):2変数非線形連立方程式の解を求めるnewton-rapson法のプログラムを作成し以下の問題を解け @x^2+y^2-8=0 と x+y=0 で初期点(x(x0),y(y0))∈[-4,-4]×[4,4]を10000個とり、初期点に対する収束値の関係を2次元で図示する。 収束値の関係の座標を出すこと。 Ax^3-3xy^2-8=0 と x^3-3x^2y=0 で初期点(x(x0),y(y0))∈[-1/2,-1/2]×[1/2,1/2]を10000個以上(百万個程度を推奨する)とり、初期点に対する収束値の関係を2次元で図示する。 収束値の関係の座標を出すこと。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: ([2007年11月25日23:00まで] [5]その他:^は累乗を示します。たとえば、x*x=x^2です。 2問ありますが、一問だけでもといていただけると助かります。2変数ということで手も足もでません、、、 よろしくお願いします。
30 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 00:51:12 ] C++が理解できてCが理解できないってどういう事だ? 演算子をオーバーロードしてるからその辺の関数を理解できないって事?
31 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 02:48:28 ] >>26 を作ってみたけど、 >わかる方は と書いてあるから、わからないながらも色々試行錯誤して作った俺は回答する資格無いな。
32 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 03:27:36 ] >>27 ってか基本的に、CであればC++でもある。 C++でコンパイルすればいいじゃん。
33 名前:デフォルトの名無しさん mailto:age [2007/11/23(金) 03:38:20 ]
34 名前:デフォルトの名無しさん mailto:age [2007/11/23(金) 04:05:20 ] >>26 #include <stdio.h> #include <stdlib.h> int main(void) { int i , j , k; int ans[21],tasusuji[5][20],tmp; int ketasu[5],saidaiketa=0; char input[50];
35 名前:デフォルトの名無しさん mailto:age [2007/11/23(金) 04:06:53 ] for(i=0;i<21;i++){ans[i]=0;} for(i=0;i<5;i++){ printf("%dつ目の数字入力>",i+1); scanf("%s",input); for(j=1;;j++){ if(input[j]=='\0'){ ketasu[i]=j; if(j>20){ketasu[i]=20;} //20ケタ以降切り捨て処理 if(ketasu[i]>saidaiketa){saidaiketa=ketasu[i];} for(k=19,j=j-1;k>=20-ketasu[i];k--,j--){ if(input[j]<48 || input[j]>58){ printf("Error\n"); printf("\n\n何かキーを押してください\n"); scanf("%s",input); return 1; } tasusuji[i][k]=(int)input[j]-48; } break; } } }
36 名前:デフォルトの名無しさん mailto:age [2007/11/23(金) 04:07:42 ] for(i=0;i<5;i++){ for(j=19;j>=20-ketasu[i];j--){ans[j+1]+=tasusuji[i][j];} for(j=19;j>=20-saidaiketa;j--){ //繰り上げ処理 if(ans[j+1]>9){ tmp=ans[j+1]; ans[j+1]=tmp%10; ans[j]=tmp/10+ans[j]; } } } printf("\n"); for(i=0;i<5;i++){ if(i==4){ printf("+)"); } for(j=0;j<25-ketasu[i];j++){ if(i==4 && j==0){j+=4;} printf(" "); } for(k=20-ketasu[i];k<20;k++){ printf("%d",tasusuji[i][k]); } printf("\n"); } printf(" ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\n");
37 名前:デフォルトの名無しさん mailto:age [2007/11/23(金) 04:08:49 ] for(i=0;i<24-saidaiketa;i++){printf(" "); } if(ans[20-saidaiketa]==0){printf(" ");} for(i=20-saidaiketa;i<21;i++){ if(i==20-saidaiketa && ans[i]==0){i++;} printf("%d",ans[i]); } printf("\n\n何かキーを押してください\n"); scanf("%s",input); return 0; }
38 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 04:53:44 ] [1] 授業単元:C++実習 前スレで出させてもらったのですがスルーされましたのでもう一度お願いします。 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5291.txt [3] 環境 [3.1] OS: XP [3.2] コンパイラ名とバージョン: visual studio 2005 [3.3] 言語: C++ [4] 期限: 11/25 〜10:00 [5] その他の制限: 特になし よろしくお願いします。
39 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 12:38:02 ] >>38 なんつーか問題に不備がたくさんあってやりにくいんだよね。 いちいち指摘するのも面倒なくらいに細かなところが不明瞭。 本当にこんな問題が出てるのなら、教官を捨てていいと思う。
40 名前:デフォルトの名無しさん [2007/11/23(金) 12:38:28 ] 1] 授業単元プログラミング2 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5307.txt [3] 環境 [3.1] OS: XP [3.2] コンパイラ名とバージョン: visual studio 2005 [3.3] 言語: C言語 [4] 期限: 11/25 [5] その他の制限: 特になし
41 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 12:44:33 ] >>38 FletzHikariクラスはFletzAdslクラスを継承するような図に見えるんだけど クラスの概要って所ではProviderクラスを継承するような文書に読めるし どっちなんだろ?
42 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 12:55:55 ] >>40 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5318.c
43 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 13:12:19 ] >>23 メモリの制約が、かなり厳しいね。 二分木を格納するために O(n) が必要だから 「定数個以上のメモリ」という制限は、普通は達成不能。 木以外の空間が O(1) と解釈しても普通は無理で、 再帰を使うと再帰の深さが木の深さと同じくらいになるから スタック上に O(木の深さ) くらいの空間が必要になる。 俺は、この二分木の表現では O(1) の空間は不可能だと思う。
44 名前:43 mailto:sage [2007/11/23(金) 13:17:17 ] ごめん日本語読み間違えた。再帰を使うことも禁止なんだね。 それでもスタック長が普通は O(木の深さ) になるから、普通は無理。
45 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 13:33:37 ] [1] 授業単元: プログラム演習 [2] 問題文(含コード&リンク): 文字列 s[0], s[1], ..., s[n-1] が与えられる。 これらをすべて含むような最短の文字列を一つ求めよ。 例:s[0] = "abc", s[1] = "bcd" → "abcd" s[0] = "abc", s[1] = "ac" → "abcac" s[0] = "abc", s[1] = "cab" → "cabc" [3] 環境 [3.1] OS:Windows (Cygwin) [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C/C++ どちらでもよし [4] 期限: 2007/11/25 まで [5] その他の制限:とくになし
46 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 13:41:59 ] >>43 すみません、二分木の表現のメモリは無視して構いません。 宿題でなく研究レベルの問題だと言われて出されたんですが、手も足も出ない状態です メモリ使用量をO(lgn)で抑えることはできるんですが・・・
47 名前:デフォルトの名無しさん [2007/11/23(金) 13:49:42 ] [1] 授業単元: プログラミング演習 [2] 問題文(含コード&リンク): ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5320.txt [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: Borland C++ Compiler5.5 [3.3] 言語: C++ [4] 期限: 11/25 24時 [5] その他の制限: 僕には難しいので誰かよろしくお願いします。
48 名前:デフォルトの名無しさん [2007/11/23(金) 14:07:50 ] [1] 授業単元プログラミング2 [2] 問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5319.txt [3] 環境 [3.1] OS: XP [3.2] コンパイラ名とバージョン: visual studio 2005 [3.3] 言語: C [4] 期限: 11/27 [5] その他の制限: 特になし
49 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 14:35:02 ] >>46 表示順序や二分木表現を書き換えてはいけない、という制限が 無いので木を O(1) 空間でリストに変形すればいい。 void show(node *root) { node *tail = root; while (root) { printf("%d ", root->key); while (tail->leftchild) tail = tail->leftchild; tail->leftchild = root->rightchild; root = root->leftchild; } }
50 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 14:44:51 ] >>48 #define USER 50 /* 登録可能ユーザ数 */ #define NAME 100 /* ユーザ名の最大長 */ int main() { int users; /* 登録されたユーザ数 */ char *user_list[USER]; /* ユーザ名のリスト */ /* ここにプログラムを書く */ char work1[NAME], work2[NAME]; int i; printf("何名登録しますか?"); scanf("%d", &users); for (i = 0; i < users; ++i) { printf("ユーザNo.%d 苗字:"); user_list[i] = (char *)malloc(NAME*sizeof(char)); scanf("%s", work1); printf("ユーザNo.%d 名前:"); scanf("%s", work2); sprintf(user_list[i], "%s %s", work1, work2); } printf("登録された内容を表示します。\n"); /* ここまで */ for(i = 0; i < users; i++) printf("ユーザ[%d]:<%s>\n", i, user_list[i]); }
51 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 14:46:58 ] 木を壊したままでも良いのか。 何とか復元してからリターンしようとして頭をひねってた。
52 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 14:48:24 ] >>47 内容はともかく、日本語が難しくて解読に疲れた。
53 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 14:50:15 ] 木を変形するのはありなのか?確かに制限には書かれてないが 多分出題者の意図からは外れてるだろうな
54 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 14:53:46 ] ポインタの値が常に偶数だという仮定を置ければ復元もできそうだ。 どっちにしても一時的に木を変形する必要はあるけど。
55 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 14:57:41 ] 削除の変わりに最下位ビットを立てるとかだね。 あと十分大きな値を足しておくとかでも大丈夫。 まあ計算モデルを仮定しなきゃいけないから綺麗じゃないが。
56 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 15:18:39 ] >>38 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5321.cpp C++を勉強中の俺がためしに書いてみた ツッコミ歓迎
57 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 15:26:59 ] Providerクラスが抽象クラスになってなくね?
58 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 15:27:14 ] >>56 いつのC++を使ってるの?VC6かい? newは失敗するとnothrowバージョンでない限りstd::bad_alloc例外を 返し、NULLとか0は返しません。14882:2003
59 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 16:38:03 ] >>56 そのコードでは、派生クラスのデスクトラクタが実行されないよ
60 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 17:48:39 ] >>47 生産管理のアルゴリズムって、5つくらい前のスレにあったやつじゃダメなのか?
61 名前:56 mailto:sage [2007/11/23(金) 18:09:02 ] いまここで 抽象クラスの定義方法知った。 newとmallocの違いを知った。 デストラクタをちゃんと記述しないといけないことを知った。 ・・・まだまだ勉強が足りないようで ツッコミありがとう
62 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 18:43:13 ] >>56 , 61 全くもって技術的な話ではないが virtual double cale(double a){} は綴りが微妙
63 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 18:51:23 ] >>23 親頂点に帰れるポインタがあれば、直前にいたポインタと比較することで定数メモリで木を周回できるはずだけど。 直前に親頂点にいたら、左の子供頂点に行く。 直前に左の子供頂点にいたら、自分の key を表示して、右の子供頂点に行く。 直前に右の子供頂点にいたら、親頂点に行く。 あとは親頂点親頂点に戻る方法を考えればいいんだけど。 毎回根から今の頂点を探すってできない気がするんだけど、どうなんだろう?
64 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 19:14:40 ] ポインタの付け替え(pointer reversalっていうらしい)を使えば巡回自体はできるんだけど、 そのままだと各節点を3回ずつ表示してしまう。
65 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 19:36:42 ] そりゃ単にやり方が悪いだけだ
66 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 19:50:42 ] [1]授業単元:Cプログラミング入門 [2]問題文:π(=3.14159265)を用いて入力された数値εに対して 次の不等式を満たす最小の自然数Nを求めるプログラム をつくりなさい。 |(π^2/6)-{(k=1 N)1/k^2}|<ε [3]環境 [3.1]OS:Unix [3.2]コンパイラ名とバージョン:gcc [3.3]言語:C [4]期限11/24まで [5]その他の制限 ・配列、数学関数は使ってはいけない ・表示は以下のようにする εの値が: 最小のNは . まったくわからないのでどうかお願いいたします。
67 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 19:51:15 ] >>65 じゃあどうすれば良い?
68 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 21:24:59 ] >>23 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5322.c 貼ってから気付いたけど、なぜか<malloc.h>をincludeしてるので無視してくれ。 ポインタの付け替えで一時的に木を変形する。子が両方ともNULLであるノードを 一時領域として使う。 10万件のランダムテストに合格したから多分合ってる。
69 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 21:58:13 ] >>61 >>59 だが >デストラクタをちゃんと記述しないといけないことを知った。 ~Provider(){} //デストラクタは書いてますやん 俺が言いたかったのは、その書き方が間違いだってことだよ 「知った」ではなくなぜそうなのか理解できてないと、後で苦しむよ Effective C++ 第3版の7項にきちんと、俺が指摘した理由が説明されている。 図書館で借りるか、本屋で立ち読みしてごらん。 さすがメイヤー先生、初学者が犯しやすい間違いをズバリ書いているので びっくりした。 偉そうにかいてごめんね、ガンガッテ
70 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 22:06:45 ] >>61 大ヒント : 仮想関数を持つならばデストラクタは仮想にすべき
71 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 22:08:49 ] >>70 Javaの @Override アノテーションとかあればいいのにな
72 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 22:33:15 ] >>66 ttp://pc11.2ch.net/test/read.cgi/tech/1194262698/962 ttp://pc11.2ch.net/test/read.cgi/tech/1194262698/971
73 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 22:34:37 ] うざいわ。 baseクラスのデストラクタはvirtualにしとけ、でいいじゃん。
74 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 22:41:55 ] C++にはその名のとおりの必殺技 "死のダイヤモンド" が存在するからなぁ……
75 名前: ◆S2Crp49aOM [2007/11/23(金) 22:52:04 ] [1] 授業単元:プログラミング1 [2] 問題文(含コード&リンク): 1〜10000の範囲の乱数値を持つ要素数10000の配列から、キーボードで入力した1〜10000値を探索し、 同じ値をもつ配列要素の数を表示するプログラムを二分探索を用いて作成せよ。 [3] 環境 [3.1] O:Linux [3.3] 言語:C [4] 期限: 2007年11月24日01:30まで [5] その他の制限:
76 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 23:00:03 ] >>75 あと二時間半www
77 名前:デフォルトの名無しさん [2007/11/23(金) 23:15:25 ] [1] 授業単元:明解C++ [2] 問題文(含コード&リンク):演習10-2 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:.net 2003 [3.3] 言語:C++ [4] 期限:無期限 [5] その他の制限:明解C++で独学しています。単純なクラス作成まで終了。最後の演習問題でつまずいています。
78 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 23:15:31 ] >>73 こういう鵜呑みにしているヤツに限って肝心な箇所があやふやなんだよなぁ オレの職場にもこういうヤツが一人いたよ
79 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 23:17:04 ] >>77 「明解C++」の演習10-2だと思われる。 でも、その本を持っていない人間には問題すら分からない。
80 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 23:19:40 ] >>78 お前のようなうざい奴はどこにでもいるけどな
81 名前: ◆S2Crp49aOM mailto:sage [2007/11/23(金) 23:23:32 ] >>75 [4] 期限: 2007年11月24日11:30まで 打ち間違えました。 申し訳ないです。
82 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 23:24:25 ] 80=73 図星なので○け犬の遠吠え
83 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 23:28:06 ] うざい上に粘着質
84 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 23:28:09 ] その本に答えないの?
85 名前:77 mailto:sage [2007/11/23(金) 23:32:00 ] >>84 ありません。
86 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 23:34:46 ] >>85 問題書く気はないの?
87 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 23:35:50 ] 問題を書くのは著作権的にどうよ?
88 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 23:37:58 ] 学校で先生が出題する問題にも著作権は発生するんだが……。
89 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 23:38:19 ] つーか、宿題じゃないでしょ、それ。
90 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 23:40:27 ] 教科書に市販品使うなんて珍しくもない
91 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 23:40:55 ] >>88 著者人格権はあるけど学校の課題なんだkら複製権くらいあるだろ
92 名前:デフォルトの名無しさん [2007/11/23(金) 23:42:16 ] >>79 クラスDate第2版に抽出子を追加せよ。 問題の意味もいまいちわからなくて考えられることは 1.抽出子の定義(演算子>>の多重定義)を使用してDateオブジェクトを作成する。 2.抽出子の定義(演算子>>の多重定義)を使用してDateオブジェクトの内容を変更する。 だと思います。 しかし、わたしにはどちらであっても解答がわかりません。 クラスDate第2版ソース kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5323.txt
93 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 23:42:50 ] 著作権=COPY RIGHT=複製権
94 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 23:44:05 ] イコールじゃないよ
95 名前:77 [2007/11/23(金) 23:44:13 ] >>86 >>92 に問題を書きました。 よろしくお願いします。
96 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 00:48:36 ] >>91 学校の課題なら特別扱いされるという根拠は?
97 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 00:52:40 ] >>96 先生=著者
98 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 00:58:29 ] 2
99 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 00:59:03 ] 1
100 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 00:59:42 ] お前ら著作権法くらい読めよ プログラミングに関係の深い法律だぞ
101 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 00:59:43 ] ▃▅▆▇██▇▅▃ █ ████████▆ █ ████████ ▃▂ ▓▓▓▓▓▓▓▓▓ ▀██▇███████████▇▅ ▼▀█▀██▀▀▀▀■█■▀ ▍ ▋ ▲▃ ▀▅▃▌ ▌▌ ▐◣ ▐▂▅▀ ▀▅▃▀█ ▍▍ ▐▃▀▂▃◢◤ ◥◣▃▂▌ ▎▌ ◥▋ ▐◥▃▆◤ ◥▃▆◤▍ ▋ ▊ ▐◣ ◢▌ ▼ ◢▀▌▀◣ ▆▅ ▃▲ ▋ ▼ ▀▇◣▃◢▇▀ ▼ ▂▃◢◤▀ ▃▅▃▅▃▅ ▐▲▃ ▅▀ ▌▌ ▀█ ◢████▅▀▅▀▋▐▅▀▼ ▅█████ ▊ ▊ ▌
102 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 01:00:30 ] >>97 先生が著作者だから実質的な問題は発生しないと言いたいわけか 複製権関係ねぇ
103 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 01:08:01 ] >>72 同志がいたのか・・。 参考にさせていただきます。 ありがとうございました。
104 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 01:39:30 ] つうか教育目的の場合、著作権は無視されるんじゃなかったか?
105 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 01:47:47 ] 三十五条のことか?
106 名前:デフォルトの名無しさん [2007/11/24(土) 01:56:19 ] >>75 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5324.c
107 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 01:59:13 ] >>104 小学校の教科書だか教材に使われてた詩が、著作権者がクレームつけて使えなくなったって話は聞いたことがあるけど。
108 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 02:12:50 ] >>104 それは三十三条のことか?
109 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 03:00:43 ] ここって教育の場なん?
110 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 03:03:26 ] うん
111 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 03:26:56 ] 丸投げスレも出世したもんだな
112 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 04:05:52 ] でしょ
113 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 11:12:58 ] >>77 >>95 少し、もちつけ コードだけ貼って、問題が全然ナイジャマイカ モマイの貼った↓ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5323.txt これを、どうしろというんだ? エスパー君だったら分かるのかな? 漏れには全然理解できん
114 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 13:43:11 ] >>77 エスパー ostream& operator<<(ostream& s, const Date& x); を ostream& operator<<(ostream& s, const Date& x){s << x.Year() << x.Month() << x.Day();return s;} こう?
115 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 14:52:56 ] 1] 授業単元:コンピュータプログラミング1 [2] 問題文:CD−Rは1枚〜10枚で1枚が100円、11枚から100枚で1枚が90円、101枚以上で1枚が70円とする。 枚数nに対する金額を計算するプログラムを作成しなさい。終了時にはCtrl+Z(Enter)と入力する。 [3] 環境 [3.1] OS: XP [3.2] コンパイラ名とバージョン:Fujitsu Fortran & C [3.3] 言語: C [4] 期限: 11/24 [5] その他の制限: なし どうかよろしくお願いします。
116 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 15:07:13 ] [1] 授業単元: システム解析 [2] 問題文(含コード&リンク):2変数非線形連立方程式の解を求めるnewton-rapson法のプログラムを作成し以下の問題を解け @x^2+y^2-8=0 と x+y=0 で初期点(x(x0),y(y0))∈[-4,-4]×[4,4]を10000個とり、初期点に対する収束値の関係を2次元で図示する。 収束値の関係の座標を出すこと。 Ax^3-3xy^2-8=0 と x^3-3x^2y=0 で初期点(x(x0),y(y0))∈[-1/2,-1/2]×[1/2,1/2]を10000個以上(百万個程度を推奨する)とり、初期点に対する収束値の関係を2次元で図示する。 収束値の関係の座標を出すこと。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: ([2007年11月25日23:00まで] [5]その他:^は累乗を示します。たとえば、x*x=x^2です。 2問ありますが、一問だけでもといていただけると助かります。2変数ということで手も足もでません、、、 よろしくお願いします。