- 1 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 22:18:31 ]
- あなたが解けない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++の宿題を片付けます 106代目 pc11.2ch.net/test/read.cgi/tech/1209810861/
- 528 名前:512 mailto:sage [2008/06/03(火) 14:47:01 ]
- 問題文抜けてました。
・1896年の第1回大会以来、4 年に1 度開催されている。 ・1916年の第6回大会,1940年の第12回大会,1944年の第13回大会は 世界大戦の影響で中止された。ただし中止の場合も回数は数える。 ・1906年には,近代オリンピック制定10周年記念大会が開催された。 ただし特別大会のため,回数には数えない。 ・次回は2012年、第30回大会がロンドンで開催予定。
- 529 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 14:55:42 ]
- ttp://ja.wikipedia.org/wiki/%E5%A4%8F%E5%AD%A3%E3%82%AA%E3%83%AA%E3%83%B3%E3%83%94%E3%83%83%E3%82%AF
ttp://ja.wikipedia.org/wiki/%E5%86%AC%E5%AD%A3%E3%82%AA%E3%83%AA%E3%83%B3%E3%83%94%E3%83%83%E3%82%AF
- 530 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 15:13:40 ]
- 2008年は中止ですね?
- 531 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 15:18:14 ]
- >>528
switch(year) { case 1896: printf("第1回大会開催\n"); break; case 1900: printf("第2回大会開催\n"); break; case 1904: printf("第3回大会開催\n"); break; case 1908: printf("第4回大会開催\n"); break; case 1912: printf("第5回大会開催\n"); break; case 1916: printf("第6回大会中止\n"); break; // 略 case 2004: printf("第28回大会開催\n"); break; case 2008: printf("第29回大会開催予定\n"); break; case 2012: printf("第30回大会開催予定\n"); break; default: printf("%d年には開催(開催予定)されていない\n", year); break; }
- 532 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 15:27:18 ]
- 開催、中止はこういうの作って判断すればいい
bool isKaisai( int year ) { int n[] = { 1916,1940,1944 }; for( int i = 0; i < 3; ++i ){ if( n[i] == year ) return true; } return false; }
- 533 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 15:55:19 ]
- #include <stdio.h>
void main() { int year, month, day, weekday; for (year = 2001; year <= 2100; year++){ for (month = 1; month <= 12; month++){ weekday = ((year + year/4 - year/100 + year/400 + (13*month+8)/5 + 13) % 7)+8; if (weekday == 13) printf("%4d年 %2d月 %2d日\n",year, month, weekday); } } } この実行結果の13日の金曜日の個数はどうやって求めればいいですか?
- 534 名前:デフォルトの名無しさん [2008/06/03(火) 15:59:33 ]
- [1] 授業単元:C言語入門
[2] 問題文(含コード&リンク):21世紀(2001年〜2100年)の100年の間に、「13日の金曜日」は何回出現するだろうか。 <考え方> 2001〜2100 の間を for文 で繰り返す。 さらに、それぞれの年に1〜12月の間を for文 で繰り返す。つまり、2重ループにする。 for (year = 2001; year <= 2100; year++) { for (month = 1; month <= 12; month++) { } } 2重ループの中では、その月の13日が金曜日であるかどうかを、ツェラー公式を使って判定する。金曜であれば、それをカウントしておく。 最後に、カウントした数を表示する。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: Visual Studio 2003 [3.3] 言語: C++ [4] 期限: 2008年06月10日14:40まで
- 535 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 16:10:03 ]
- >>534
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6788.cpp
- 536 名前:デフォルトの名無しさん [2008/06/03(火) 19:32:54 ]
- [1] 授業単元:C言語プログラミング
[2] 問題文(含コード&リンク): 例題7-2 に以下の事項を加えたプログラムを作成せよ。 @キーボードから与えられた整数データX を順序リストから削除する関数DeleteCell(int x)。 但し、削除したセルが使用していたメモリを解放するようDeleteCell 関数内にfree 関数を用 いること。 A整数データの入力に先立って、リストの操作メニューとして以下の操作メニューを表示する。 ・キーボードより i が入力された場合 ⇒ データを挿入 ・キーボードより d が入力された場合 ⇒ データを削除、但し該当するデータが存在しない場 合には『そのような数字はありません』と表示 ・キーボードより p が入力された場合 ⇒ その時点でのリストを表示 ・キーボードより x が入力された場合 ⇒ プログラム終了 ・その他のキーが入力された場合 ⇒ 警告を表示 例題7-2 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6789.txt [3] 環境 [3.1] OS:Vista [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限:明後日の朝まで [5] よろしくお願いします。
- 537 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 20:10:05 ]
- いろんな学校が結託してるかのように同じ問題がバンバン出て来るんだが、
このスレを見つけた少数の学校の生徒が続々と来てるだけかも?とおもった。
- 538 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 20:20:47 ]
- 非常勤講師でーす^^
- 539 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 20:28:38 ]
- 実は講師もまざってて自分の生徒用の問題をここで作らせてたりしてなw
- 540 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 20:31:30 ]
- 頻出問題をまとめたら割とまとまりそうだよね
過去の回答群も載っけて好きなの使え的な
- 541 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 20:33:02 ]
- それこそwikiでも立ち上げて貼っておけばいいかもな。
- 542 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 20:37:00 ]
- [1]授業単言:C言語
[2]問題文 要素数noであるint型の配列vcの要素の最小値を返す関数 int min_of(const int vc[],int no)の作成の仕方 [3-1] windows [3-2] gcc [3-3] C言語 [4] 明日までです よろしくお願いします。
- 543 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 20:46:42 ]
- int min_of(const int vc[],int no){
int i; int a=vc[0]; for(i=1;i<no;i++) if(vc[i]<a) a=vc[i]; return a; }
- 544 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:00:12 ]
- [1] 授業単元:C言語入門
[2] 問題文(含コード&リンク):成績表のプログラムを可変長配列を用いて作成しなさい 詳細は↓ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6790.txt [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン:VC 6.0 [3.3] 言語: どちらでも可 のいずれか [4] 期限: 2008年6月3日 [5] その他の制限: 特にないです。
- 545 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:00:31 ]
- >>542ですが、メイン文の方も書き方がわからないので教えていただけませんか?
- 546 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:02:09 ]
- ↑間違えました。>>543の者です。
- 547 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:03:34 ]
- #include <stdio.h>
#define array_no(a) sizeof(a)/sizeof(a[0]) int min_of(const int vc[], int no); int main() { int vc[] = {78, 82, 32, 48, 63, 99, 105, 45, 67, 20, 862, 714, 60, 19, 52}; //適当な配列 printf("最小値:%d\n", min_of(vc, array_no(vc))); return 0; } int min_of(const int vc[], int no) { int min = vc[0]; int i; for (i = 0; i < no; ++i) if (min > vc[i]) min = vc[i]; return min; }
- 548 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:11:31 ]
- >>541
>>1 もうWikiあるwww そこへのアンカーでガンガン済ませるのも手か
- 549 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:31:30 ]
- そろそろ、というかもう前々から言っているでおじゃるが
定石、ありきたりのパターンをまとめたサイトを作らないかでおじゃる?
- 550 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:32:49 ]
- [1]授業単言:C言語
[2]問題文 要素数noであるint型の配列vc2の並びを逆順にしたものを配列vc1に格納する関数 void intary_rcpy(int vc1[],const int v2[],int no)の作成 [3-1]os windows [3-2]gcc [3-3]C言語 どなたか教えてもらえませんか?
- 551 名前:443 mailto:sage [2008/06/03(火) 21:47:27 ]
- 昨日の443です。
とりあえず、ソースを作成してみました。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6791.txt こちらが問題文 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6776.txt まだまだ初心者で型やらもうしっちゃかめっちゃかだし、色々と突っ込みどころ満載です。 必要な分だけメモリを取れと言われているのにこのまま作ったら内部変数でドカッと持ってくやり方になっちゃうし・・・。 宜しくお願いします。
- 552 名前:側近中の側近 ◆0351148456 [2008/06/03(火) 21:49:34 ]
- >>550
(っ´▽`)っ void intary_rcpy(int vc1[],const int v2[],int no) { int i; for(i = 0; i < no; i++){ vc1[i] = v2[no - i - 1]; } return; }
- 553 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:51:28 ]
- void intary_rcpy(int vc1[],const int vc2[],int no){
int i; for(i=0;i<no;i++) vc1[i]=vc2[no-i-1]; }
- 554 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:55:53 ]
- >>551
問題からは共通部分がtypeとidだけのように思ってたんだけど、 unitというよくわからないものに4バイト取ってるのはなぜ?
- 555 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:09:55 ]
- >>551
ユニット長ってのがあってタイプ毎のサイズが書かれたものがあったので構造体の中に入れたんですけど 多分それいらないみたいなんでないこととして考えても大丈夫だと思います。 消し忘れてました、すいません。
- 556 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:16:46 ]
- >>446で、人によって違うのができそうだなあといったのは
まさにこの構造体をどう作るかだったんだけど。 もしかしてload時に読み込むファイルのサンプルが提示されてたりします?
- 557 名前:536 mailto:sage [2008/06/03(火) 22:27:55 ]
- Deleteの部分だけでも自分で作って見ましたが、エラーがでてしまいます…
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6792.txt
- 558 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:28:09 ]
- >>556
いえ、サンプルはないです。 loadした場合、以前にこのプログラムで打ち込んだファイルを呼び出してまた足していくことが出来る、 ゲームのコンテニューみたいなものだと思ってくれると分かりやすいとは思います。
- 559 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:45:22 ]
- >>549
>>1にあるwikiは誰でも編集できるぞ つかここ1年くらいまとめサイトなんて 話題にした記憶が無いんだが 前々って何年前だよ
- 560 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:50:25 ]
- >>559
おじゃるが言うくらいだから平安頃からじゃない?
- 561 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:51:20 ]
- ttp://www23.atwiki.jp/homework/pages/11.html#id_fc5becfb
> strcpy(s, " (^ω^ ) ピザキメェおwww "); 誰だよw
- 562 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 23:05:30 ]
- リスト、単方向、双方向、ノードも誰か追加してくれYO!
- 563 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 23:06:55 ]
- >>562
このスレか1個前くらいに線形リストあったと思うから追加すれば?
- 564 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 23:12:34 ]
- [1] 授業単元:物質科学実験(パソコンによる計測制御入門)
[2] 問題文(含コード&リンク): @bとcを1バイトの変数としたとき、 b = (b & 0x07) << 4; c = (c & 0x8F) | b; というプログラムがどの様なことをやっているか説明せよ。 この式に現れる<<という演算子は、2進数で表示された数値(ビット)を 左にシフトさせる働きをする。(例えば、b=(00000001)bとすると、b<<1は 左に1だけシフトした(00000010)bを表す。) また、&と|という演算子はそれぞれ「ビット AND」「ビット OR」と呼ばれ、 2つの数値のビット毎のAND(各ビットのどちらかが0なら結果も0になる) 及びOR(各ビットのどちらかが1なら結果も1になる)を得るために用いる。 Abを16ビットの変数とする。その最下位ビットから3番目と6番目をクリアする (0にする)プログラム(ルーチン)を、@に従って書け。 [3] 環境 C言語 [4] 期限:今週中 [5] その他の制限:ないと思います。
- 565 名前:347 [2008/06/03(火) 23:30:47 ]
- エラーメッセージが多すぎてだるい(';')
開発環境なんて、自宅にあっても使わない(';') プログラマーもう嫌wwwwwwwwwwwwwwwwww
- 566 名前:デフォルトの名無しさん [2008/06/04(水) 00:31:23 ]
- ここの問題をまじめにやったら、かなり勉強になるだろう。。。。
回答もあるし(ないのもあるみたいだが・・・)
- 567 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 01:23:18 ]
- 質問テンプレ】
[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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) 半径rの円に内接および外接する正n角形の面積を求めよ
- 568 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 01:28:57 ]
- >>567
テンプレの使い方が違うよwww
- 569 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 01:30:16 ]
- >:()
この顔文字可愛いな
- 570 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 01:32:21 ]
- 567です間違えて途中で送信してしまいました
rは実数nは整数sは実数で表してください 明日いっぱいですcでお願いします
- 571 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 01:38:24 ]
- 明日いっぱいってことは6/5いっぱいってことでいいのか?
- 572 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 01:46:27 ]
- 567ですこの課題は初心者用だと思うのでどちらでも問題ではないと思いますお願いします
- 573 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 01:47:12 ]
- #include <stdio.h>
#include <math.h> double circumscribe(double r, int n) { return r * r * tan(M_PI / n) * n; } double inscribe(double r, int n) { return r * r * sin(M_PI*2/n) * n / 2; } int main(void) { int n; double r; printf("nを入力してください:"); scanf("%d", &n); printf("rを入力してください:"); scanf("%lf", &r); printf("半径%fの円に外接する正%d角形の面積は%f\n", r, n, circumscribe(r, n)); printf("半径%fの円に内接する正%d角形の面積は%f\n", r, n, inscribe(r, n)); return 0; }
- 574 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 02:05:51 ]
- 567です職人さんありがとうございました
- 575 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 02:06:40 ]
- 質問です
巡回セールスマン問題において、Nearest Neighbor法を用いた2-opt法は他の方法と比べて メリットってありますか? 他の方法というのは、焼きなまし法やタブーサーチなどのことです。 λ-opt法を更に改良したのがタブーサーチなどの方法なのでただの2-opt法にメリットなど無いと 考えているのですが、教授に2-opt法が他の方法より優れている点を考えてこいと言われて困っています。
- 576 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 02:11:14 ]
- >>575
スレ違い 宿題だと言い張るなら>>1読んで書き直し
- 577 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 02:15:41 ]
- >>575
数学板の方がふさわしいかと
- 578 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 02:48:31 ]
- >>557 適当に加筆修正
void DeleteCell(int x) { CELL *p,*q; p=q=&head; if(p==NULL){ printf("データがありません.\n"); return; } if(p->data==x){ p=p->next; free(q); return; } for(;p->next!=NULL;q=p,p=p->next){ if(p->data==x){ q->next=p->next; free(p); return; } } printf("%d:ありません\n",x); }
- 579 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 03:14:46 ]
- :< :( :) :l :@ :* :8
- 580 名前:デフォルトの名無しさん [2008/06/04(水) 04:42:33 ]
- つまんねwww
- 581 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 06:51:54 ]
- """
- 582 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 06:54:18 ]
- ";:
- 583 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 06:58:09 ]
- ::.
- 584 名前:デフォルトの名無しさん [2008/06/04(水) 08:39:31 ]
- [1] 授業単元:プログラミング
[2] 問題文(含コード&リンク): main関数の引数として小数あるいは整数を入力すると、 それらの平均値を計算して、小数点以下第2位まで表示するようなプログラムを作成せよ. [3] 環境 [3.1] OS: Windows xp [3.2] コンパイラ名とバージョン:cl Windws visual studio [3.3] 言語:C 言語 [4] 期限: 2008年6月4日19:00まで] [5] その他の制限: 特にありません。 ご解答よろしくお願いします。
- 585 名前:584 [2008/06/04(水) 08:41:43 ]
- その他の制限に追加があります。
提出するソースファイルのファイル名を、自分の名字(アルファベット)に拡張子cをつけたものにすること。 よろしくお願いします。
- 586 名前:デフォルトの名無しさん [2008/06/04(水) 08:48:51 ]
- >>526をどうかお願いしますm(__)m
- 587 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 09:20:55 ]
- >>584
#include <stdio.h> int main(int argc, char *argv[]){ int i; double n, sum=0; for(i=1; i<argc; i++){ sscanf(argv[i],"%lf",&n); sum += n; } printf("%-10.2f\n",sum/(argc-1)); return 0; } 実行例: ./a.out 3 5.6 8.912 5.84
- 588 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 10:13:41 ]
- >>586
課題の意味がよくわかんないす。観測とか。 情報利得というのはこれかなあと思うけど確信がもてない。 www.center.nitech.ac.jp/~nakano/%BE%F0%CA%F3%CD%F8%C6%C0.html なんもついてないΣってどうやって計算するの? てことでもすこし詳しく書けば回答できるかも。
- 589 名前:378 mailto:sage [2008/06/04(水) 10:23:16 ]
- >>380>>381
回答ありがとうございました。 リンク先によると、要素数はTopポインタとBottomポインタの差をセルバイト幅で 割ると取得できるとありますが、用途について制限かけるときとは具体的にどのような ときでしょうか。よろしくお願いします。
- 590 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 11:20:01 ]
- >>589
リスト構造では先頭と末尾のポインタの差を出してもどうにもならないよね。 用途は制限かけたいときに使えるとかじゃないの? ↓ 用途は深さを制限したいときに使えるとかじゃないの?
- 591 名前:デフォルトの名無しさん [2008/06/04(水) 12:22:29 ]
- >>587様
ありがとうございます!!!!!!!
- 592 名前: ◆DuoCt8/SKk [2008/06/04(水) 15:54:16 ]
- [1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6793.txt [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:Visual C++ 6.0 [3.3] 言語:C [4] 期限:6/5 [5] その他の制限:ポインタ,構造体を使用して簡略化. よろしくお願いします!!
- 593 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 16:06:56 ]
- 切符の子か。
ちょっと変えりゃすむだろ、と思わんでもないけどね。 今回は<おもな道筋>がないようなので柔軟な仕組みにしたほうが いいんだろうけど、>>132のスタイルはだめなんしょ?
- 594 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 16:08:55 ]
- と思ったら道筋あったー!
だめぽ。
- 595 名前: ◆DuoCt8/SKk [2008/06/04(水) 16:41:06 ]
- >>593
できるだけ柔軟な仕組みの方がいいです. >>132は少々複雑すぎてしまい・・・読んでも理解できないんです(泣) 再びよろしくお願いします!
- 596 名前:536 mailto:sage [2008/06/04(水) 16:42:09 ]
- Deleteの部分は教えてもらって分かりましたが
続きがどうしても分かりません どなたかお願いできないでしょうか?
- 597 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 16:42:20 ]
- [1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク) 凸包の構成 ttp://www.ccad.sist.chukyo-u.ac.jp/~mito/ss/program/C/DialogBase/algo/Graham/index.htm [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:emacs [3.3] 言語:C [4] 期限:6/14 [5] その他の制限:なし やり方自体の指定はありません。参考URLの感じのものをCで作るそうです。よろしくお願いします。
- 598 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 16:44:52 ]
- >>595
道筋ベースでやるよりもコマンドベースでやるほうが柔軟なわけで ミルク増やして氷無しにして、やっぱりミルク減らす、とかの時に コマンドに応じた関数を呼び出して状態を保持しておくのが楽なんだ。 道筋ベースだとユーザがやりたいことをやりたいときに行えない 仕組みになるしょ。
- 599 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 16:48:44 ]
- 複雑で分からない、と言う前にどこが分からないか言ってみるとかは?
前回のに手を加えた結果があるだろうからそれ載せてみると どう成長したかも見えるだろうし。 ってそれはそれで相談スレの役割のような気もしだしたorz
- 600 名前: ◆DuoCt8/SKk [2008/06/04(水) 16:50:10 ]
- >>598
とりあえず道筋はもらったプリントのまま書いたのですが,やはり そこまでは求められていないということなのでしょうか? 僕も>>598さんのいう意見に賛成なので,是非コマンドベースでお願いします.
- 601 名前:586 mailto:sage [2008/06/04(水) 16:53:01 ]
- >>588
@が平均情報量を求めるプログラムをつくる 平均情報量= -(c1/c1+c2)*{log2(c1/ c1+c2)} -(c2/c1+c2)*{log2(c2/ c1+c2)} Aが情報利得を求めるプログラムをつくる 情報利得= -(c1/c1+c2)*{log2(c1/ c1+c2)} -(c2/c1+c2)*{log2(c2/ c1+c2)} +(c1/c1+c2)*(c1/c1+c2)*{log2(c1/ c1+c2)} +(c2/c1+c2)* (c2/c1+c2)*{log2(c2/ c1+c2)} おそらくこれを求めるプログラムをつくればいいと思います。 どうか@だけでも至急お願いしますm(_ _)m わかりにくくてすいません。
- 602 名前: ◆DuoCt8/SKk [2008/06/04(水) 16:54:59 ]
- >>599
具体的にはどのように表示すればいいのかが分からないということなのでしょうか・・・ 先生も何か例を書いて下さればわかりやすいのに・・・とも思っています. 例を書かないということはそれぞれ工夫してプログラムを組むのを期待しているのでしょうか? 正直同級生も>>132のレベルにはまだ一部の人たちしか達していないと思われます.
- 603 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 17:13:30 ]
- >>601
ん?ってことなら、 #include <math.h> double info(int c1, int c2) { double _c1 = c1; double _c2 = c2; return -(_c1/_c1+_c2)*log(_c1/_c1+_c2) - (_c2/_c1+_c2)*log(_c2/_c1+_c2); } でいいんでないの?
- 604 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 18:58:16 ]
- >>602
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6794.txt とりあえずお釣りの計算だけ
- 605 名前:604 mailto:sage [2008/06/04(水) 19:01:55 ]
- よく見たらつり銭切れのときにお金がどんどん減ってしまうな
元の値をコピーしておかないとだめだ
- 606 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 19:33:11 ]
- [1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): 全部で3つなのですが 1. 以下のプログラムを作成 • 以下の数列を0〜20まで表示 • 数列は以下の通りとする • a[0] = 0.01, a[1] = 0.1, a[2] = 1.0 • a[n+1] = a[n] + a[n-1] + a[n-2] • プログラムを実行するとa[0]〜a[20]までの値が改 行区切りで表示されること 2. 以下のプログラムを作成 • キーボードから整数値を読み込み、入力された整数 値が素数であるか判定する • 以下のとおり表示する • 入力値が素数の場合”prime number” • 入力値が素数以外の場合”not prime number” 3.以下のプログラムを作成 • 3x3マスのマルバツゲームのボードを作成 • ○側と×側が交互に2次元座標上の位置を入力 • 入力後、毎回ボードを表示する • たて、よこ、斜めのいずれかに○か×が3つ並んだ 時点でプログラムを終了 • マスが埋まった場合もプログラムを終了 [3] 環境 [3.1] OS: Windows [3.2] MINGW32 [3.3] 言語:C [4] 期限: 6月13日 [5] その他の制限: なし 回答のほど、よろしくお願いしますm(_ _)m
- 607 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 19:34:53 ]
- >>606が読みにくくてすみません
改行ができませんでした・・・
- 608 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 19:51:21 ]
- [1] 授業単元: アルゴリズム
[2] 問題文(含コード&リンク):() 10マスx10マスの迷路のスタートからゴールまでの最短経路を出力するプログラムを作れ。 ※1.迷路は10行のテキストファイルで提供され,Sがスタート,Gがゴール,*が壁,@が通路で記録されている。 ※2.進み方は上下左右1コマずつとし,斜めには進めない。 ※3.迷路はかならずしもゴールできるとは限らない。 [3] 環境 [3.1] OS: linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C言語 [4] 期限: 6月18日 [5] その他の制限: 前の授業で再帰的な関数というのを習ったので、 それを使って解くのが求められている回答だと思います よろしくお願いします
- 609 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 20:07:13 ]
- >>606
すみませんコンパイラは gccでした
- 610 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 20:21:28 ]
- >>606
(1) int print_20(){ int i; double a[21]={0.01, 0.1, 1.0}; for(i=3; i<=20; i++){ a[i] = a[i-1] + a[i-2] + a[i-3]; } for(i=0; i<=20; i++){ printf("%f\n",a[i]); } return 0; } (2) int prime_check(){ int i=2, n; printf("prime check for no>>"); scanf("%d",&n); while(i*i<n){ if(!(n%i)){break;} i++; } printf("%s\n",(i*i>n)?"prime number":"not prime number"); return 0; }
- 611 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 20:25:06 ]
- >>606
1. #include<stdio.h> int main(void){ double a[21]={0.01, 0.1, 1.0}; int n; for(n=2;n<20;n++) a[n+1]=a[n]+a[n-1]+a[n-2]; for(n=0;n<=20;n++) printf("%f\n", a[n]); return 0; }
- 612 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 20:56:55 ]
- >>603
ありがとうございます! C1、C2の入力値を入れるようにしたいのですが後これにどう付け加えればよいのでしょうか?
- 613 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 21:26:02 ]
- >>606
> 3x3マスのマルバツゲームのボードを作成 unsigned short intの16ビット中、下9ビットを連ありか否かの 判定に使えばいいと思うんだが、面倒なので誰か頼む。
- 614 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 22:11:16 ]
- [1]プログラミング
[2]問題文 要素数がnoであるint型の配列vcの並びを逆順にする関数 void rev_intary(int vc[],int no)をメイン文も含め作成せよ。 [3-1]windows [3-2]gcc [3-3]C言語 [4]明日の昼まで お願いいたします。
- 615 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 22:11:49 ]
- デジモンみたいなドライブクリーナーがほしい。
データ食べて育つみたいな。リアルにデジタルモンスター育てたい( 基地外サーセン。。どうしても漏らしたかった・・・。
- 616 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 22:31:21 ]
- >>614
#include<stdio.h> void rev_intary(int vc[], int no) { int t, i; for(i = 0; i < no-1-i; i++) { t = vc[i]; vc[i] = vc[no-1-i]; vc[no-1-i] = t; } } int main() { int a[5] = {1,2,3,4,5}, i; rev_intary(a, 5); for(i = 0; i < 5; i ++) printf("%d\n", a[i]); return 0; }
- 617 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 22:32:49 ]
- >>614
>>550 >>552 この辺でどうにかならんかね。
- 618 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 23:04:08 ]
- >>610氏、>>611氏、>>613氏
返答ありがとうございます おかげさまで助かります
- 619 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 23:14:30 ]
- >>618
○×は素直に3*3の配列つかいな
- 620 名前:デフォルトの名無しさん [2008/06/04(水) 23:18:31 ]
- >>619
わかりました ちょっと探しに行ってきます
- 621 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 23:19:26 ]
- すみませんsageを
入れ忘れていました(汗
- 622 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 23:25:58 ]
- >>606の3
前々スレで作ったやつ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6537.txt
- 623 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 23:28:49 ]
- おお!!
>>622氏、ありがとうございます ほかを巡回しながらもこまめに ここをチェックしていたのですが 大変助かります
- 624 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 00:25:24 ]
- >>564をお願いします…
- 625 名前:デフォルトの名無しさん [2008/06/05(木) 00:31:43 ]
- [1] 授業単元:プログラミング演習1
[2] 問題文(含コード&リンク): m ×m 行列を入力し和と積を求め、結果を行列の形で表示させる プログラムの作成。但し、入力した行列も表示。 <表示例> 1 2 3 4 [3] 環境 [3.1] OS:WinXP/linux [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等):VC++/gcc [3.3] 言語:C言語 [4] 期限:2008/06/06 [5] その他の制限: stdio.h、入力はscanf関数、出力はprintf関数、配列で プログラムの冒頭ですが、これで配列可変になるんでしょうか…? int m,i,j;/*要素、カウント用変数宣言*/ printf("行列数を入力"); scanf("%d",&m); int a[m]=0; int b[m]=0; [m]=0を[%d]=0,mにしたほうが良いのでしょうか………
- 626 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 00:45:56 ]
- >>564
@ 0, b2, b1, (b0|c4), c3, c2, c1, c0 という8ビットをcに格納している。 ここでb2とは、変数bのビット2という意味で表記している。 b0|c4とは、b0とc4の論理和という意味で表記している。 というかこの問題、b=(b&0x07)<<5; が正しいのではないか? そうすると、 b2, b1, b0, c4, c3, c2, c1, c0 という8ビットをcに格納することになり、キレイ。 A b &= ~(1<<2); /*ビット2(最下位から3番目)をクリア*/ b &= ~(1<<5); /*ビット5(最下位から6番目)をクリア*/ ~を使いたくなければ、 b &= 0xfffb; b &= 0xffdf;
- 627 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 00:46:32 ]
- >>624
1. ここにいる人なら大抵@はわかります。 が、残念スレ違いです。 2. 本当に問題文そのままですか?
- 628 名前:626 mailto:sage [2008/06/05(木) 00:51:30 ]
- すまん間違えた。
@は c7, b2, b1, b0, c3, c2, c1, c0 だ。
|

|