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/
672 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 22:51:04 ] >>664 ,669 礼儀も知らんのかボケ
673 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 22:55:17 ] >>671 タイミングさえ合えばちゃんとした回答者がいるスレだよ
674 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:00:16 ] >>672 なんで回答者でもないあなたが偉そうなの?
675 名前:654 mailto:sage [2008/06/05(木) 23:00:26 ] ちょw 669は自分じゃない。
676 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:01:30 ] >>674 っつか、マジで態度が悪いぞ、お前。社会じゃそれじゃやっていけねーよ 失せろクズガキ
677 名前:デフォルトの名無しさん [2008/06/05(木) 23:01:57 ] >>534 をお願いしますm(_ _)m
678 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:04:23 ] >>535
679 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:05:35 ] >>674 会社の同僚と何かあった時に上司から何か言われても 「同僚との問題なのになんであなたがそんな事言うの?」 とか言うんか? 消えろ
680 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:07:03 ] >>674 っつか、偉いとかって話じゃないだろ。完全にお前が態度が悪い ただそれだけ。何で自分が指摘されたのか、分からないのか? だとしたら相当痛いぞ、お前。反論する前に自分が起こしている行動 発言を自覚しろ。干されんぞ。人間社会はお前一人の都合や 思う通りには動いてないからw
681 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:09:21 ] >>667 お願いしますm(__)m
682 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:11:22 ] なんか>>674 の人気に嫉妬しつつ、本当に>>672 は回答者ではないのだろうか?
683 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:11:27 ] #include <sys/param.h> #include <stdio.h> int z(int y, int m, int d) { int a = y / 100, b = y % 100; return ((int) (m * 2.6 - 0.2) + d + b + (int) b / 4 + (int) a / 4 + 5 * a) % 7; } int zeller(int y, int m, int d) { return m < 3 ? z(y - 1, m + 10, d) : z(y, m - 2, d); } int main(int argc, char *argv[]) { int year, month, nf13 = 0; for (year = 2001; year <= 2100; year++) { for (month = 1; month <= 12; month++) { if (zeller(year, month, 13) == 5) { nf13++; } } } printf("%d\n", nf13); return 0; }
684 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:12:26 ] >>681 はやる気持ちは分からんでもないけど、もうちょっとまとう。 ギリギリまで宿題やらなかったのもちょっと悪いとおもうお
685 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:14:01 ] >>667 問題ってほんとにこれだけ? 制限とかかいとかないと 「それなんですか?分からないのでもっと簡単なものを。。。」 というハメになっちゃうかもだよー
686 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:14:18 ] #include <stdio.h> int main(void) { int i, j, data[3][5] ={0}, max[3]; double ave[3]; char *kamoku[3] = {"国語","数学","英語"}; for(i=0; i<3; i++) { ave[i] = max[i] = data[i][0]; for(j=1; j<5; j++) { ave[i] += data[i][j]; if(max[i] < data[i][j]) max[i] = data[i][j]; } ave[i] /= 5; } for(i=0; i<3; i++) printf("%s 最高点:%d 平均点%.2f\n", kamoku[i], max[i], ave[i]); return 0; }
687 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:14:25 ] 多次元配列を利用 int point[5][3]={{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}};
688 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:16:32 ] わざわざ多次元って言ってるんだから、二次元程度じゃ許されない。
689 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:17:45 ] >>682 人気じゃなくて一人がファビョってるだけにしか見えねーよw
690 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:18:10 ] 多次元っていったってどう考えても2次元で十分だろ。
691 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:18:48 ] >>688 口だけじゃなくてソースplz
692 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:19:48 ] せいぜい平均と最高点をまとめて もひとつ2次元配列にするくらいかな
693 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:25:58 ] 679はこのスレの上司だそうですw
694 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:26:48 ] こんなところで宿題丸投げする学生?相手に語ってるほうもどうかとw
695 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:26:50 ] >>689 = >>691 = >>674 必死だなぁ・・・IDが無いからって、他人のふりしようとか 白々しいぞお前。やたらと口出しする一言居士って、友達のいない構ってちゃんだろ?
696 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:26:56 ] IDが出ないと一人芝居が楽でいいよな
697 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:27:57 ] >>693 = >>689 = >>691 = >>674 しつけぇ・・・お前、このスレに何の用があって来てんだ? 無駄口叩く奴って、口先だけで役に立たない上に 自分が否定されるとファビョるからうぜぇ。
698 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:28:17 ] なんだこれ
699 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:30:05 ] ケフィア、、でしょうか?
700 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:31:23 ] なんで691まで一緒にされてるのかわからんw
701 名前:デフォルトの名無しさん [2008/06/05(木) 23:33:12 ] 二つの整数値を読み込んで、 小さい方の数以上で大きい方の数以下の整数を全て加えた値を 表示するプログラム。 コンパイラ gcc OS Windows 言語 C お願いします。
702 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:34:33 ] 何度か書いてるが、Windows + gccってのはほんとにそういう環境なのかなあ。
703 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:35:20 ] >二つの整数値を読み込んで、 標準入力でOK?
704 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:36:07 ] >>702 Cygwin + gcc かもね
705 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:36:54 ] a < b ((1+b) * b - (1 + a) * a ) / 2
706 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:37:44 ] >>626 わかりました。ありがとうございます。
707 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:37:54 ] >>701 #include <stdio.h> int main(void) { int a, b; scanf("%d%d", &a, &b); printf("%d", a > b ? (a + b) * (a - b + 1) / 2 : (a + b) * (b - a + 1) / 2); return 0; }
708 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:39:12 ] >>703 標準かどうかはよくわかりませんが、scanfで読み取る形です。
709 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:42:00 ] >>707 すいません!書き忘れました。 Do文を使って最後にWhile文を追加する形でした。
710 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:44:04 ] >>704 cygwin + gcc だとして、実行環境はWindows?cygwin?というのも あるし、Xかもしれない。 といったところで実行環境に依存するような宿題については そのような曖昧な環境記述は無かったような気もするし、、、 気にしないほうがいいのかなあ?
711 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:45:04 ] なんだそりゃw #include <stdio.h> int main(void) { int a, b, sum = 0; scanf("%d%d", &a, &b); if(a < b) do { sum += a++; } while(a<=b); else do { sum += b++; } while(b<=a); printf("%d", sum); return 0; }
712 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:45:10 ] >>1 より。 > ・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。 きをつけてね
713 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:45:33 ] >>707 初心者向けにしましょうw
714 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:45:38 ] >>701 #include<stdio.h> #include<stdlib.h> int main() { int a, b; scanf("%d%d", &a, &b); printf("%d\n", (a+b)*(abs(a-b)+1)/2 ); return 0; }
715 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:49:32 ] >>713 初心者の定義は何?自分が理解できる=初心者向け? 理解できない=初心者じゃない?とか?
716 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:51:02 ] パッと見であっさり理解できるか ちょっと見てみてあぁなるほどと思えるか の差じゃない?
717 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:51:48 ] >>711 ++はどういう意味なんでしょうか?
718 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:52:21 ] >>715 いちいち絡むなよw
719 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:54:13 ] >>717 a++ は a = a + 1
720 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:55:29 ] >>717 a++ = a = a + 1
721 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:58:06 ] その=の使い方には問題があるぞ
722 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:58:49 ] ではsum+=とは何なのでしょうか? 初心者ですいません
723 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:00:32 ] sum += a は sum = sum + a
724 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:00:50 ] sum = sum + 1
725 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:01:27 ] つまり sum += a++; は sum = sum + a; a = a + 1;
726 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:05:30 ] >>725 cのとっつき難さはそこなんだろうな。
727 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:06:39 ] A += B A -= B A *= B A /= B A = A 演算子(+-*/) B
728 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:06:45 ] レスをくれた方々ありがとうございます。 色々勉強になりました。 ちょっと複雑に考えすぎていたようです。
729 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:09:36 ] プログラムは単純に考えよう。 プログラムを書くこときも、トリッキーなことをせずに簡単に書こう。 って、先輩にならったな。
730 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:10:02 ] >>725 逆も上げとくわ sum += ++a;は a = a + 1; sum = sum + a;
731 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:11:29 ] >>729 sum += a++ が一番簡単で単純だろ?
732 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:12:13 ] 直感的ではないよ
733 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:15:09 ] >>731 そうだな。 こっちのPart28終わりからPart29の頭にかけてa++関連の未定義問題で論争があったくらいだ。 C言語なら俺に聞け(入門篇) Part 29 pc11.2ch.net/test/read.cgi/tech/1212329099/
734 名前:733 mailto:sage [2008/06/06(金) 00:15:52 ] >>733 は>>731 への同意ではなく>>732 への同意だ。
735 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:17:36 ] インクリメントを禁止してるプロジェクトに関わった事があったな。。。。。 ちょっと新鮮だった。
736 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:21:07 ] 実際のところたとえば a = a + 1; sum = sum + a; を sum += ++a; としたところでコンパイル後のバイナリレベルでどのくらいクロックやメモリ を稼げるものなんだ? それと引き換えに新人が保守するかも知れないリスクとの天秤にかけた場合の コストも。
737 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:23:16 ] まだ学生だからわからんのだけど仕事でやってて、それに引っかかる人いるの?
738 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:24:10 ] 万人にわかるようにするんだよ。
739 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:25:54 ] そんなのもわからないやつにソース触らせんなよw
740 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:27:30 ] しるかよw そういう規約をつくってるんだからw あ、デクリメントも禁止されてたよ。
741 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:28:09 ] >>737 ソースって案外長生きなんだよ。 COBOLとかあれだけクラサバ登場で無くなるといわれたのに 今だに残ってる。 webの発達でc出来る人口が減ってるのに、新人にわざわざ 今の程度の説明で時間取られたくないだろ?
742 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:29:04 ] >>736 最適化がかかればクロックやメモリは同等になるはず 好きな方を選べばいいだけ
743 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:29:54 ] インクリメントすら理解できないなら他の部分が大丈夫なわきゃないと思うんだが。
744 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:31:37 ] 前に、++aとa++って、何が違うんですかって、聞かれたことがあった。
745 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:35:52 ] それだけが1行にあれば機能は同じだけど、 条件判定の中にあったりすると面倒だし この間論争になったのは if (xxxxxx) printf("%d",(a++)*(a++)); こんな感じの結果の違いでもめてたし。
746 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:36:21 ] それ論争以前の未定義だから
747 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:37:33 ] >>746 新人がインクリメント覚えて使い出してこんなの書かれると また教える羽目になるでしょ。 だったら素直にインクリメントなどは使うなとしたほうがいい。
748 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:39:46 ] なんていうか、C言語の省略した記述って メモリやCPUなんかのハード資源が極端に 少なかったころのゲーム開発と似てて みみっちいという気がする。
749 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:40:29 ] それを論争とか言っちゃう人間が何を教えんの?
750 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:49:14 ] なんでいまさら宿題スレでインクリメントが問題視されるのかわからん
751 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 01:32:20 ] とても難しい問題が来ました しかし馬鹿な私と違って非常に優秀な諸兄にはわけないでしょう [1] 授業単元:C言語研修 [2] 問題文(含コード&リンク): 1から45の数(合計値)は1から9の数(要素)の和で作ることができる。(要素に同じ数を使わない) 例えば合計値6は最大3つ(要素数)の要素の和でつくることができ、要素数1であれば6、要素数2で あれば1+5と2+4の2通り、要素数3であれば1+2+3でつくる。この組み合わせで全てである。 合計値と要素数から要素の和の組み合わせ全てを計算する再帰関数を作れ。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: Microsoft Visual C++ 6.0 [3.3] 言語: C言語 [4] 期限: 起源はありませんが優秀な貴方方の手に掛かれば瞬殺でしょう [5] 制限はありません。貴方方の持っている全ての知識を注ぎ込んじゃって構いません
752 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 01:36:25 ] >しかし馬鹿な私と違って非常に優秀な諸兄にはわけないでしょう こういっておけば馬鹿が調子こいてやってくれるよwプゲラ という主の顔が浮かぶ
753 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 01:54:21 ] >>751 #include<stdio.h> int resolve_sub(int total, int num, int min) { static int ans[9], anslen = 0; int i, j; if(!num) return !total; for(i = min; i <= 9 && i <= total; i ++) { ans[anslen ++] = i; if(resolve_sub(total - i, num - 1, i + 1)) { for(j = 0; j < anslen ; j ++) printf("%d ", ans[j]); printf("\n"); } anslen --; } return 0; } void resolve(int total, int num) { resolve_sub(total, num, 1); } int main() { resolve(30, 6); /* (例)30を6個の和に分ける */ return 0; }
754 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 02:25:34 ] #include <stdio.h> void f(int size, int n, int *p) { static int pos = 0, start = 1; int i; if(pos==size-1) { p[pos] = n; for(i=0; i<size; i++) printf("%d ", p[i]); putchar('\n'); return; } for(i=start; i*2<n; i++) { start = i + 1; p[pos++] = i; f(size, n-i, p); pos--; } } int main(void) { int num, amount, *p; printf("要素数を入力して下さい:"); scanf("%d", &num); printf("合計数を入力して下さい:"); scanf("%d", &amount); p = malloc(sizeof(int) * num); f(num, amount, p); return 0; }
755 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 02:34:17 ] 問題読み違えた。 1から45まで限定で1から9しか使っちゃダメなのか。
756 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 02:50:08 ] >>751 #include<stdio.h> int O00O(int OOO0){ if(OOO0%2) return OOO0/2*(OOO0+1); return (OOO0+1)/2*OOO0; } void OOOO(int O0OO[], int OOO0, int OO0O, int OO00, int O0000){ int O, O000; if(OO00<=1){ O0OO[OO00]=OOO0; for(O=1;O<OO0O;O++) printf("%d+", O0OO[O]); printf("%d\n", O0OO[OO0O]); return; } O000=(OOO0-O00O(OO00-1)-1)/OO00; for(O=O0000;O<=O000;O++){ O0OO[OO00]=O; OOOO(O0OO, OOO0-O, OO0O, OO00-1, O+1); } } void O0O0(int OOO0, int OO0O){ int O0OO[1000]; if(OO0O>=sizeof(O0OO)/sizeof(O0OO[0])) return; OOOO(O0OO, OOO0, OO0O, OO0O, 1); } int main(void){ O0O0(100, 10); return 0; }
757 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 03:11:13 ] >>756 難読化乙
758 名前:デフォルトの名無しさん [2008/06/06(金) 11:37:44 ] #include <stdio.h> #include <float.h> int main(void) { float f; double x; long double ld; printf("\nTesting the precision of float, double, and long double : \n"); f = 1.0f + 1.0e-7; printf(" 1.0 + 1.0e-7 = %.10f\n", f); f = 1.0f + 1.0e-8; printf(" 1.0 + 1.0e-8 = %.10f\n", f); x = 1.0l + 1.0e-15; printf(" 1.0 + 1.0e-15 = %.20lf\n", x); x = 1.0l + 1.0e-16; printf(" 1.0 + 1.0e-16 = %.20lf\n", x); ld = 1.0L + 1.0e-19; printf(" 1.0 + 1.0e-19 = %.30Lf\n", ld); ld = 1.0L + 1.0e-20; printf(" 1.0 + 1.0e-20 = %.30Lf\n", ld); printf("\nThe experiment above is explained by constants from float.h :\n"); printf(" precision of float : %e\n", FLT_EPSILON); printf(" precision of double : %.15le\n", DBL_EPSILON); printf(" precision of long double : %.30Le\n", LDBL_EPSILON); return 0; } 表示された結果のうち、 1.0 + 1.0e-7 が 1.0000001 にならず、同様に 1.0 + 1.0e-15 が 1.000000000000001 にならず、 1.0 + 1.0e-19 が 1.0000000000000000001 という、きれいな数にならない理由を、FLT_EPSILON, DBL_EPSILON, LDBL_EPSILON との関係から説明してもらえないでしょうか。 よろしくお願いします。
759 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 11:43:55 ] >>758 単純な話管理できる桁があるので小数点側の切捨てが行われてるだけかと。 たとえば 1.0 + 1.0e-7 を 0.1 + 1.0e-7 や 0.01 + 1.0e-7 とした場合 おそらく.0000001は保持されると思われ。
760 名前:デフォルトの名無しさん [2008/06/06(金) 12:01:07 ] >>759 それをFLT_EPSILON, DBL_EPSILON, LDBL_EPSILON との関係から考察しなきゃならないんですけどいまいちわからなくて・・・
761 名前:759 mailto:sage [2008/06/06(金) 12:05:21 ] >>760 www.asahi-net.or.jp/~UC3K-YMD/Lesson/Section03/section03_13.html ここがいいかも イプシロン(誤差幅)だそうです。
762 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 12:06:34 ] ググったら直ぐ出てきたんだが…怒
763 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 12:32:01 ] >>758 質問と関係ないが printfの %l は整数にしか使えないと思うんだ
764 名前:デフォルトの名無しさん [2008/06/06(金) 12:41:53 ] 複素数を求めるプログラムなのですけど、 #include <stdio.h> #include <math.h> typedef struct { double rel; double imp; } complex; double mulcompl(complex x, complex y); /* 関数の戻り値の型を定義 */ int main(void){ complex c1, c2, c3; c1.rel = 3.2; c1.imp = 2.7; c2.rel = 2.5; c2.imp = 1.8; c3 = mulcompl( c1 , c2 ); /* complex変数c1,c2を仮引数としてmulcompl関数を呼び出す */ printf("複素数の積 \n"); printf("( %.2f + i %.2f ) * ", c1.rel, c1.imp); printf("( %.2f + i %.2f ) = ", c2.rel, c2.imp); printf("( %.2f + i %.2f )\n", c3.rel, c3.imp); return 0; } double mulcompl(complex x, complex y) /* 関数の戻り値の型を定義 */ { complex z; /* 仮引数x,yを使って複素数の掛け算を計算する */ z.rel = x.rel * y.rel - x.imp * y.imp; z.imp = x.rel * y.imp + x.imp * y.rel; return z; } それでどうしてエラーが取れないのですがどこが間違っているのか分かりません。 どなたかお願いします。
765 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 12:42:42 ] [1] 授業単元:オペレーティングシステム [2] 問題文(含コード&リンク):forkによる子プロセスの生成 子プロセスを2つ生成して、それぞれに、fork1, fork2 のプログ ラムを実行させるようなプログラムを作成しなさい。 ///fork1.c/// kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6800.txt ///fork2.c/// kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6801.txt [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:6月11日 前回は本当にありがとうございました。よろしくお願いします。
766 名前:ロベ mailto:sage [2008/06/06(金) 12:43:46 ] >>646 お願いします!!!!
767 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 12:58:20 ] いまどきこれはないだろ。VC++が無料で使えるってのに。 > [3.2] コンパイラ名とバージョン:Borland C++ 5.5.1 for Win32
768 名前:ロベ mailto:sage [2008/06/06(金) 13:00:53 ] VC++は家でつかってますb
769 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 13:07:42 ] >>764 double mulcompl(complex x, complex y) → complex mulcompl(complex x, complex y)
770 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 13:11:37 ] >>766 wikipediaみたらOS/2 2.xのヘッダ構造書いてなかったんでやる気無くした。
771 名前:ロベ mailto:sage [2008/06/06(金) 13:14:11 ] >>770 いちようBMPのヘッダについて書いてあるページは見つけたけど プログラムの技術がないからできなくて;; www.kk.iij4u.or.jp/~kondo/bmp/
772 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 13:31:33 ] とあるゲーム機のSS取るのに使った構造体 typedef struct { // char bfType[2]; unsigned long bfSize; unsigned short bfReserved1; unsigned short bfReserved2; unsigned long bfOffBits; } BmpFileHed; typedef struct { unsigned long bcSize; short bcWidth; short bcHeight; unsigned short bcPlanes; unsigned short bcBitCount; } BmpFileInfoOS2; typedef struct { unsigned long biSize; long biWidth; long biHeight; unsigned short biPlanes; unsigned short biBitCount; unsigned long biCompression; unsigned long biSizeImage; long biXPixPerMeter; long biYPixPerMeter; unsigned long biClrUsed; unsigned long biClrImporant; } BmpFileInfoWindows;