- 1 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 01:08: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++の宿題片付けます 130代目 pc12.2ch.net/test/read.cgi/tech/1250204272/
- 545 名前:509 mailto:sage [2009/11/03(火) 20:30:17 ]
- >533=539=544
返事が遅くなり申し訳ございません。 残念ながら動作しませんでした。 コンパイルは出来たでですが、実行すると 何も入力する前に、 「問題が発生したため、muda.exe を終了します。 ご不便をおかけして申し訳ありません。」 と出て終了してしまいました。 新しくコードを書いて頂いたようで、申し訳ございません。 しかし、一度前のものを提出し追加課題として「エラーを検知させよ」 だった為、条件として [5] その他の制限:途中までのソースコードがありますので、そちらに追記お願いします。 と記載しておりました。 できましたら、追記でお願いしたいのですが無理でしょうか? 宿題を解いて頂いているのに、文句言って本当にすいません。
- 546 名前:540 mailto:sage [2009/11/03(火) 20:56:58 ]
- >>545
ソースをみる限り第一引数に逆ポーランド式を指定しないとダメです。 たとえば、 foo.exe "1 1 +" とします。 >>544 おかしいですね。私のところでは、BCalculation はうまく動いていますが。(bcc32/gcc/VC++2008)
- 547 名前:509 mailto:sage [2009/11/03(火) 21:30:57 ]
- >540
逆ポーランド部分は出来ていると、自分の中では信じきっていました・・・ そうでしたか、もう一度考えてみます。
- 548 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 21:54:18 ]
- >>547
代数式(中置式)→逆ポーランド式(後置式)の変換は、定番の方法がありまして、 コンパイラ(とか数理言語)の教科書をみればたいてい説明されています。 ソースを得たいのであれば、 www.amazon.co.jp/dp/4874084141 にそのものがあります。ダウンロードは oku.edu.mie-u.ac.jp/~okumura/algo/archive/ からできます。これを気に書き直されるのも一興かと思います。
- 549 名前:548 mailto:sage [2009/11/03(火) 21:57:12 ]
- ×気に
○機に
- 550 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 21:58:19 ]
- >546 >547
mainを下記のように書き直して試してみた。 int main(void) { struct NewStr str; printf("式を入力\n"); gets(str.str); printf("\n"); // str = MtoB(str.str); printf("回答:%4.2lf\n\n",BCalculation(str.str)); return 0; } 例えば"6 3 +"を入力していて解答6となっておかしい、と思っていた。 コードを追っかけてみて"6 3 + "(最後にスペースが入っている)と入力すると上手く行くことがわかった。 これは仕様制限ということでよいのですよね? そういう前提でもう一度見てみる。 確認するけど、基本的に正常系の動作はしていて、 >演算不可能な場合は、エラー表示させること。 >例:6+3** 9// 9-5) 8+( という部分の実装が漏れている、ということなのかな。
- 551 名前:546=548 mailto:sage [2009/11/03(火) 22:12:06 ]
- >>550
>>509 の代数式→逆ポ変換 (MtoB()) は力作でして、(多分)うまく動いているのですが、 括弧の処理をとくにリカーシブに書いているところもあり、私もなかなか把握しきれないでいます。異常系の切り分けも難しい。 いずれ、どうあがいても、リカーシブに書かざるを得ないとは思いますが、ここで、心機一転、定石をお勧めしたしだいです。 MtoB() を自力でここまで書いたのであれば、尊敬に値します。少なくとも私にはできません。
- 552 名前:509 mailto:sage [2009/11/03(火) 22:34:48 ]
- >550
はい、その通りです。 >演算不可能な場合は、エラー表示させること。 >例:6+3** 9// 9-5) 8+( の部分が抜けています。 >551 しかし、一度提出してる手前、再度初めからとなると このエラーを表示させる課題ごと意味が無くなってしいます。 この課題に取り掛かって、1ヶ月ほど助言を受けたり、書いては 書き直ししているうちに段々訳がが分からなくなってきて気が付くと この形でした。
- 553 名前:551 mailto:sage [2009/11/03(火) 22:44:07 ]
- >>552
なるほど。 定石をお勧めしたい気持ちはやまやまなのですけれども。 ちょっと説明していただけますか?たとえば、 char stack[STR_MAX], str[STR_MAX], tempstr[STR_MAX*2]; int newstr_pos=0, i, flg=0, parentheses_flg=0, str_pos=0, minus_flg=0, tempstr_pos=0, stack_pos=-1; の各バッファ、各 pos の意味合いとか、どうしてこういう仕掛けを作ったかとか。
- 554 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 00:51:43 ]
- [1] 授業単元: C言語演習
[2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10056.txt [3] 環境 [3.1] OS:Windows/vista [3.2] コンパイラ名とバージョン: Visual C++ 2008 [3.3] 言語: C++ [4] 期限: 2009年11月6日 [5] その他の制限: 問題を乗せているテキストに進め方があるのでそれに沿ってもらえれば。 よろしくお願いします。
- 555 名前:509, 553 mailto:sage [2009/11/04(水) 01:21:51 ]
- こっちで持っている解答を示しておきます。
codepad.org/ziaFqKsi 定石の代数式→逆ポーランド変換を行いつつ、同時に各項の値を計算させています。
- 556 名前:509 mailto:sage [2009/11/04(水) 02:12:30 ]
- >551
申し訳ありません。逆ポーランドの所が出来ていなかったので 自分で考えると言った手前考えていましたらいつの間にか こんな時間になっており、質問が来ているのに気が付きませんでした。 533さんに書いて頂いたコードと548さんに紹介して頂いたサイトのコードを 参考に逆ポーランドの部分も間違いが直す事ができ、課題も完了する事が 出来ました。 皆様本当にありがとうございました。
- 557 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 02:23:14 ]
- 処理時間を計る関数の中で、最も最小単位まで計れる関数は何でしょうか?
教えてください
- 558 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 02:47:09 ]
- QueryPerformanceCounter
- 559 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 11:42:51 ]
- [1] 授業単元:プログラミング2
[2] 問題文(含コード&リンク):ユークリッド互除法を使って二つの数字の最大公約数を求める。ただし、マイナスの数も求められるようにする。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: Gcc3.4(MinGW) [3.3] 言語: C言語 [4] 期限: 今日中 [5] その他の制限: 特になし よろしくお願いいたします。
- 560 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 13:06:15 ]
- >>559
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10058.txt
- 561 名前:デフォルトの名無しさん [2009/11/04(水) 20:08:57 ]
- [1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10060.txt [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C言語 [4] 期限: 11/13 16:00まで [5] その他の制限: 特になし よろしくお願いします。
- 562 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 21:30:08 ]
- [1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10061.txt [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C言語 [4] 期限: 11/6 12:00まで [5] その他の制限: 特になし おねがいします
- 563 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 23:32:32 ]
- [1] 授業単元:ソフトウェア工学
[2] 問題文(含コード&リンク): (π/4) = tan^-1(1) = 1 - (1/3) + (1/5) - … + (-1)^k * (1/(2k+1)) + … の公式を用いて、第n項までの多項式近似により円周率を求め、その誤差と計算時間を測定するプログラムを作成せよ。 [3] 環境 [3.1] OS:Windows XP [3.2] コンパイラ名とバージョン:オールインワンエクリプス [3.3] 言語:C [4] 期限:できれば明日までに [5] その他の制限:特になし
- 564 名前:デフォルトの名無しさん [2009/11/05(木) 00:29:07 ]
- 【質問テンプレ】
[1] 授業単元:C言語 [2] 問題文 問題文1 整数 n を入力すると 'a' から n個目までのアルファベットを全て表示するプログラムを作成せよ。 (例:n=6 の時 abcdefを表示) 問題文2 整数 n を入力すると1からn までの間で 3の倍数か、 5の倍数のどちらかであるような数の和を表示するプログラムを作れ。 (例:n=10 の時 3+5+6+9+10=33) 問題文3 次のプログラムの (a)-(j)の部分をfor 文を使って書き直せ。 #include<stdio.h> int main() { int a[10]; double sum,ave; sum=0; a[0]=1; a[1]=5; a[2]=7; a[3]=2; a[4]=4; a[5]=1; a[6]=9; a[7]=4; a[8]=20; a[9]=5; sum=sum+a[0]; /* (a) ここ */ sum=sum+a[1]; /* (b) ここ */ sum=sum+a[2]; /* (c) ここ */ sum=sum+a[3]; /* (d) ここ */ sum=sum+a[4]; /* (e) ここ */ sum=sum+a[5]; /* (f) ここ */ sum=sum+a[6]; /* (g) ここ */ sum=sum+a[7]; /* (h) ここ */ sum=sum+a[8]; /* (i) ここ */ sum=sum+a[9]; /* (j) ここ */ ave=sum/10; printf("総和は %d です。平均は %d です。\n",sum, ave); } 問題文4 整数を5個入力すると、まずそのまま表示し、次に逆順で表示するプログラムを作れ。 実行例: 数を入力して下さい: 3 数を入力して下さい: 7 数を入力して下さい: 1 数を入力して下さい: 2 数を入力して下さい: 5 そのまま表示 3 7 1 2 5 逆順に表示 5 2 1 7 3 プログラムのテキストをコピーして下のテキスト入力フィールドへ出力結果と共に貼り付けて提出すること。 [3] 環境 [3.1] OS: XP [3.3] 言語: C++ [4] 期限: 明日まで [5] その他の制限 #include <stdio.h> int main() スタートでお願いします。
- 565 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 00:48:10 ]
- [1] 授業単元:C言語プログラミング
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10062.txt [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 11月05日18:00まで [5] その他の制限: 問題文どおりです
- 566 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 00:53:39 ]
- [1]授業単元 C言語実習
[2]コマンドラインで指定された英数字と空白、タブ、改行記号 のみから構成されるテキストファイルに含まれる単語の頻度を アルファベット順に出力するプログラム。 単語とは英数字のみで構成されているものを指す。 一つの単語が1回現れた時は部分単語すべてが現れたものとする。 部分単語とは、その単語の連続する部分文字列のことである。 授業で述べた多重ハッシュテーブルを利用すること。 行の長さ、行の総数、単語の長さに制限は無いが、頻度は 32bit整数(符号付き)で正の範囲に表せるものとする。 [3] Linux/gcc 4.0/C言語 [4] 今週の金曜日夕方18:00迄
- 567 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 01:03:37 ]
- 先ず答える前に問題の水準を誰かが大まかに分類しそれぞれの
水準別に解答貼付け専用スレを立ててそこに誘導したほうが 良くね?高校生レベルの問題と大学院修士課程レベルの問題とかが 混在したら回答者の精神衛生に問題が生じる可能性があるから
- 568 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 01:05:55 ]
- >>563
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10063.txt
- 569 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 01:33:33 ]
- [1] 授業単元:ソフトウェア工学
[2] 問題文(含コード&リンク): 台数近似を用いて、分割数nに対する I = ∫[1,2]ln(x)dx の値を求めるプログラムを作成し、誤差を求めよ。 [3] 環境 [3.1] OS:Windows XP [3.2] コンパイラ名とバージョン:オールインワンエクリプス [3.3] 言語:C [4] 期限:今日中 [5] その他の制限:特になし
- 570 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 01:42:04 ]
- やれるやつがやる
分類の必要なし 各人のスキルは違う 高校生が大学院生よりプログラムできることはある
- 571 名前:566 mailto:sage [2009/11/05(木) 02:02:07 ]
- 条件が一つ抜けてました。
《追加条件》 ファイルを読み込んでいる間に、記憶している単語別頻度の順位に変更が発生したら、その時点でアルファベット順に都度出力すること
- 572 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 02:04:18 ]
- 授業で述べた多重ハッシュテーブル
これわからん
- 573 名前:566 mailto:sage [2009/11/05(木) 02:16:21 ]
- >>572
お答え下さいましてとりあえずありがとうございます。 わたしも良くわからないんですが、ハッシュテーブルが 衝突だったら別のハッシュ関数でその下にテーブルを 作るとかかなんとかだったと記憶してますけど... ノートには次のように写してます。(板書写しなんで 間違ってるかもです) if( array[ hash1(string) ] = NIL ) array[ hash1(string) ] := string; else if array[hash1(string)][ hash2(strin) ]=NIL array[hash1(string)][hash2(string)]:=string; else ........
- 574 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 05:28:40 ]
- ch[n]がcharとしてpを素数として
ch[0] + p * ch[1] + p^2 * ch[2] + ・・・ + の上か下の何ビットかをハッシュにしたらいいのでは。 異なるハッシュがいくらでも作れる。
- 575 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 08:57:24 ]
- >>565
ひでーやり方だなw
- 576 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 09:03:31 ]
- なぜかヴァニラアイスのスタンド思い出した
- 577 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 09:34:47 ]
- >>565
for(i=p; i<=q; i++) a[i] = b[j] < c[k] ? b[j++] : c[k++];
- 578 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 09:50:27 ]
- >>564
detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1132363616 配列は使わなくて良いのでしょうか。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10064.c
- 579 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 10:42:21 ]
- >>564
問題文1が間違っている。 'f' は 'a' から 5 個目だろ。
- 580 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 10:43:06 ]
- 'a'を1個目として数えてるんだろ
- 581 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 12:35:48 ]
- >>562
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10065.c kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10066.c kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10067.c kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10068.c
- 582 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 14:34:01 ]
- アルファベットって順序があるんだ・・
- 583 名前:デフォルトの名無しさん [2009/11/05(木) 16:43:05 ]
- [1] 授業単元:ネットワークプログラミング
[2] 問題文(含コード&リンク):ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10069.zip [3] 環境 [3.1] Linux [3.2] gcc [3.3] c [4] 期限: 11月6日まで 問題はreadme.txtの中に書いておきました よろしくお願いします
- 584 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 16:58:20 ]
- >>565
その埋めるところ以外ってまさかもとから問題として書かれてるわけじゃないよな? 565が自分で書いてみただけだよな?
- 585 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 17:52:41 ]
- >>577
SENTINELは全く出てこないが...
- 586 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 17:59:20 ]
- SENTINELは不要?
for(i=p,j=k=0;i<=q;i++) if( j>m-p) a[i]=c[k++]; else if( k>=q-m) a[i]=b[j++]; else if(c[k]<b[k]) a[i]=c[k++]; else a[i]=b[j++]; }
- 587 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 17:59:38 ]
- SENTINELの意味わかってねーだろw
- 588 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 18:00:30 ]
- 565のマージソートは致命的な欠陥があるw
- 589 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 18:04:58 ]
- >>586
>else if(c[k]<b[k]) a[i]=c[k++]; >else if(c[k]<b[k]) a[i]=c[k++]; >else if(c[k]<b[k]) a[i]=c[k++]; >else if(c[k]<b[k]) a[i]=c[k++]; else if(c[k]<b[j]) a[i]=c[k++]; じゃね?
- 590 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 18:06:45 ]
- わずかなミスでそんなに嬉しそうに揚げ足とらなくてもw
- 591 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 18:11:17 ]
- >>588
どこ?おしえて
- 592 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 18:29:20 ]
- >>567
水準は兎も角、意外に奥の深い問題と学習確認クイズは 区別されたほうが良いかもな
- 593 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 18:33:25 ]
- >>590
プログラミングではわずかなミスが致命的なバグとなる事がよくある
- 594 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 18:35:00 ]
- 嬉しかったのは否定しないんだw
- 595 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 18:55:30 ]
- >>593
589の問題は嬉しそうに挙げ足をとっていることなんだけど 改行厨みたいで迷惑
- 596 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 19:19:55 ]
- [1] 授業単元:
アルゴリズムとプログラミング [2] 問題文(含コード&リンク): 下のアドレスのプログラムに追加して、ダイクストラ法のプログラムを完成させてください kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10070.txt プログラムに使用するデータファイル↓ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10071.txt [3] 環境 [3.1] OS: (Windows/Linux/等々) Linux [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) gcc [3.3] 言語: (C/C++/どちらでも可 のいずれか) C [4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) 11月10日 [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) 特にありません よろしくお願いします。
- 597 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 19:59:34 ]
- >>569
台形公式のことですよね。 codepad.org/XRuQqaF0
- 598 名前:初心者 ◆.6Hqkk7dyk [2009/11/05(木) 21:06:28 ]
- [1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): 2つの整数値と1つの文字を、例えば「4+2」のように入力し、 入力に応じた四則演算を行って結果を出力するプログラムを作成しなさい。 ただし、中央の文字に四則演算の記号以外の文字が入力された時のことも考慮しなさい。 [3] 環境 [3.1] OS: UNIXのemacs [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限:2009年11月7日17時まで まだまだ初心者でよくわかりませんorz よろしくお願いします。
- 599 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 21:51:19 ]
- [1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10073.txt [3] 環境 [3.1] OS: UNIX [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限:11月13日まで [5]無し 構造体とポインタの問題です、よろしくお願いします。
- 600 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 03:11:52 ]
- >>507
誰もやらないから最初の問題だけやってみた 提出あさってじゃんね kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10074.txt
- 601 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 08:26:53 ]
- >>599
1問目 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10075.txt 2問目 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10076.txt
- 602 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 13:20:08 ]
- >>565
N*2が並び替える配列のサイズであるとしたら、 最初に呼び出したときにSENTINELがb[N]、c[N]の範囲外に代入されてしまう。 再帰関数を呼び出すごとにb[N],c[N]を確保するのは領域の無駄以外の何者でもない。
- 603 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 15:43:27 ]
- >>602
codepad.org/JEJ72Jb5
- 604 名前:デフォルトの名無しさん [2009/11/06(金) 22:56:50 ]
- #include <iostream>
using namespace std; int main() { int i,goukei=0; int kokugo[5]; float heikin; for(i=0;i<5;i++) { cout << "出席番号" << i+1 << "番の国語の成績を入力してください\n"; cin >> kokugo[i]; goukei = goukei + kokugo[i]; } heikin = (float)goukei/5.0; cout << "平均点は" << heikin << "点です\n"; for(i=0;i<5;i++) { cout << "出席番号" << i+1 << "番の国語の成績は" << kokugo[i]; cout << "点で、平均との差は" << heikin-(float)kokugo[i] << "です\n"; } return 0; } これを 数学の点数も入力する 数学の平均も出力する 国語と数学の総合的な平均点も出力する ようにするにはどうすればいいんですか?
- 605 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 23:01:32 ]
- >>1を読む
- 606 名前:604 [2009/11/06(金) 23:21:34 ]
- ごめんなさい
C++です
- 607 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 23:45:10 ]
- じゃなくてちゃんとテンプレに従った形で書けって事
プログラムはろだにうpしろ
- 608 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 00:08:45 ]
- >>604
小学生でも出来るレベルだぞ・・・それ
- 609 名前:609 mailto:sage [2009/11/07(土) 02:02:45 ]
- #include <iostream>
using namespace std; int main() { int goukei_k = 0, goukei_s = 0; int kokugo[5], suugaku[5]; float heikin_k, heikin_s, heikin; for(int i=0; i<5; i++) { cout << "出席番号" << i+1 << "番の国語の成績を入力してください\n"; cin >> kokugo[i]; goukei_k += kokugo[i]; cout << "同じく数学の成績を入力してください\n"; cin >> suugaku[i]; goukei_s += suugaku[i]; } heikin_k = (float)goukei_k/5.0; cout << "国語の平均点は" << heikin_k << "点です\n"; heikin_s = (float)goukei_s/5.0; cout << "数学の平均点は" << heikin_s << "点です\n"; heikin = (float)(goukei_k + goukei_s)/5.0; cout << "合計の平均点は" << heikin << "点です\n"; for(int i=0; i<5; i++) { cout << "出席番号" << i+1 << "番の国語の成績は" << kokugo[i]; cout << "点で、平均との差は" << heikin_k - kokugo[i] << "です\n"; cout << "同じく数学の成績は" << suugaku[i]; cout << "点で、平均との差は" << heikin_s - suugaku[i] << "です\n"; cout << "同じく合計の成績は" << kokugo[i] + suugaku[i]; cout << "点で、平均との差は" << heikin - (kokugo[i]+suugaku[i]) << "です\n"; } return 0; }
- 610 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 10:36:26 ]
- [1] 授業単元:オペレーティングシステム実習
[2] 問題文 マルチプロセスを利用したシステムの開発を行い,結果を以下の項目にまとめ報告せよ. fork(),セマフォ,メッセージをすべて使用すること. ・システムの要求仕様 ・プログラムのソースファイル ・上記プログラムの簡単な解説,特に fork(),メッセージ,セマフォの周辺について [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: Gcc [3.3] 言語: C言語 [4] 期限: 11/9いっぱい [5] その他の制限:なし フォーク、セマフォの作り方がよくわからないのでよろしくおねがいします。
- 611 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 13:48:39 ]
- >>610
>>474-479
- 612 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 16:31:27 ]
- >>598
なにか異常な状況になると、なにもせずに終わります。 codepad.org/kU1vQSYE
- 613 名前:デフォルトの名無しさん [2009/11/07(土) 21:44:16 ]
- >>609
ありがとうございました
- 614 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 22:13:11 ]
- >>598
↓空白が入った場合は考慮していない(1 + 2など)。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10077.c
- 615 名前:デフォルトの名無しさん [2009/11/07(土) 23:42:13 ]
- C++で10進数を2進数に変換するプログラムを配列使って
順番通りに表示できるようにするのってどうするんですか #include <iostream> using namespace std; int main() { で始まる感じで(もしかしたらcmathとか使うかもしれないですが) 最後は return 0; }です
- 616 名前:デフォルトの名無しさん [2009/11/08(日) 00:52:50 ]
- >>608
へぇ〜ほぉ〜小学校でC言語やプログラミングって習うんだぁ。どこ?
- 617 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 00:56:18 ]
- 冥途市立地獄小学校
- 618 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 01:34:55 ]
- >>616
小学校は難しいとしても、勘のいい人なら普通の人でもできる内容かもね。 国語を算数に変えたら算数になることは分かるだろうし。
- 619 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 01:39:12 ]
- 出来ようが出来まいがプログラミング言語を小学生がやるのは愚の骨頂
- 620 名前:620 mailto:sage [2009/11/08(日) 01:42:22 ]
- #include <iostream>
using namespace std; int main() { int i, n, bin[32]; cout << "Number:"; cin >> n; cout << "Binary:"; for(i=0; i<32; i++) { bin[i] = n & 1; n >>= 1; } for(i=31; i>=0; i--) cout << bin[i]; return 0; }
- 621 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 01:47:24 ]
- >>619
小学生がやるのは個人の好き勝手だと思うし、愚かだとは思わない。 よしんば愚かだと思ってもそれが骨頂の愚かな行為とまでは思えない。
- 622 名前:デフォルトの名無しさん [2009/11/08(日) 01:52:07 ]
- >>620
19を2進数にすると10011だと思うんですが その前に0が沢山並ぶのはOKなんでしょうか?
- 623 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 02:04:07 ]
- >>621
プログラミングというのは本来、プログラミング言語自体を 作りながらやるもの。これは到底小学生に出来る世界じゃない。 出来合のプログラミング言語解釈疑似実行プログラム(=コンパイラ) を使って遊ぶことは、実はプログラミングとは言うのはかなり 恥ずかしい。 有害無益とまでは言わないが、商業的には兎も角、教育的な意味で 有益にするのはかなり難しい。 相当に優秀な教師でも居ない限りね。
- 624 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 02:14:49 ]
- >>623
たとえば何の言語作ったの?
- 625 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 02:20:48 ]
- Cはそれなりに安定した多方面に応用されている信頼できる言語の
ひとつだが万能な言語じゃない。万能な言語など無い。
- 626 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 02:22:36 ]
- Cが万能じゃないことなどプログラマなら誰でも知ってる。
それはそうと、俺は言語作ったこと無いけどみんなはあるの?
- 627 名前:デフォルトの名無しさん [2009/11/08(日) 02:26:47 ]
- >>623
プログラム言語だってコンパイラだって出来合いのをコンパイルしたもんだろ 機械語に直接翻訳するようなのを自分で作るなら話は別だが
- 628 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 02:28:20 ]
- >>623
>プログラミングというのは本来、プログラミング言語自体を >作りながらやるもの。 そもそもこの定義はどこから来たのw?
- 629 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 02:30:18 ]
- 比喩が理解出来なくなってる段階で、すっかりプログラム
されちゃってるなw
- 630 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 03:01:49 ]
- 比喩なんてもんじゃない、ただのバカだろw
- 631 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 03:03:10 ]
- 俺にはどれが何の比喩表現なのかが分からない
- 632 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 03:05:38 ]
- バカなプログラマは、コードにバグが無いと信じ、言語にバグがあると信じ込む。だから言語を作れるんだみたいな傲慢なことを言う。
優秀なプログラマは、天賦な言語にバグなどないと敬虔に信じ 救われる。
- 633 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 03:23:30 ]
- 彼は言語を作れるんだなんて言ってない。
プログラミングとは言語を作ることだと言っている。 つまり、プログラマと名乗る以上、優秀であろうとそうでなかろうと言語を作っているはずなんだよ だから俺はプログラマじゃないの。
- 634 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 03:25:48 ]
- プログラムをされている方なんですね...わかります
- 635 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 03:27:24 ]
- 行ってることが意味不明
C言語でおk
- 636 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 03:27:26 ]
- 文法とかの理解も妖しいのに言語なんか作れるのか?
- 637 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 04:23:01 ]
- 文法など理解出来るしろものじゃないからこそ言語を天賦の
ものじゃないと考えるわけだ。
- 638 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 05:23:26 ]
- [1] 授業単元:
[2] 問題文(含コード&リンク):ソケット通信を用いたチャットの作成 (mikilab.doshisha.ac.jp/dia/research/report/2003/0714/006/report20030714006.html) にある2.1、2.2のクライアント、サーバのプログラム(出来れば簡単な解説もお願いします) [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C++ [4] 期限: 2009年11月08日23:00まで [5] その他の制限: なし
- 639 名前:620 mailto:sage [2009/11/08(日) 07:55:58 ]
- >>620
19を2進数にすると10011だと思うんですが その前に0が沢山並ぶのはOKなんでしょうか? 620は○△先生じゃないから、質問されても答えられない。 -9を2進数にすると幾つだと思うか?!
- 640 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 09:03:53 ]
- >>616
東京にIQ130以上の子供だけを入園させることが出来る幼稚園(だっけな?)とかなかったかな 確かそこでプログラミングしてたはず それに近頃の、ませた小学生がプログラミングに興味を持ってるのもいるしなぁ。
- 641 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 09:34:41 ]
- >>596お願いします><
- 642 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 12:47:03 ]
- 俺、小学生の時、パソコン買って、プログラミングしてたよ。
簡単なお絵描きプログラムなんですが、 BASICの本のサンプルみたいなのを、機能拡張しながら使ってた。 そのときはテープも使えず、フロッピーディスクなんてのもないから、 覚えてしまったコードを毎回入力してたけど、毎回すこしずつ違ったコードでした。
- 643 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 13:49:24 ]
- >>639
負の数を2進数にする時のためにも、最初に全体のビット数は 何ビットなのかはっきりさせておかなければ 2進数では大抵負の数は2の補数という表現を取り、最上位 ビットは1になる
- 644 名前:デフォルトの名無しさん [2009/11/08(日) 20:09:22 ]
- [1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10079.txt [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限:11/13まで [5] その他の制限: 特になし
- 645 名前:デフォルトの名無しさん [2009/11/08(日) 20:35:07 ]
- [1] 授業単元: 画像情報工学
[2] 問題文:ブレゼンハムのアルゴリズムを用いて、ウィンドウ内に線分を描画するプログラムを 作成しなさい。(以下の仕様で作成せよ) ■仕様(マウスの右と左のボタンを使用する。候補線の表示なし。) マウスの左ボタンクリック 線分の始点座標の指定 マウスの右ボタンクリック 線分の終点座標の指定及び線分の描画 [3] 環境 [3.1] OS: Windows vista [3.2] コンパイラ名とバージョン: Visual C++ 2008 [3.3] 言語: C++ [4] 期限:2009年11月17日まで [5] その他の制限:特になし
- 646 名前:デフォルトの名無しさん [2009/11/08(日) 21:52:25 ]
- >>639
○△先生ってなんですか?
- 647 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 22:55:28 ]
- 丸さんかっけー
- 648 名前:デフォルトの名無しさん [2009/11/08(日) 23:32:22 ]
- >>647
意味わからないですよね? 普通に読むとそうですが
- 649 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 23:45:32 ]
- >>639
#include <iostream> #define TRUE (1==1) using namespace std; int main() { int i = 0, n, bin[sizeof(int) * 8]; cout << "Number:"; cin >> n; cout << "Binary:"; while(TRUE){ bin[i] = n & 1; if ((n >>= 1) == 0){break;} i++; } while(i >= 0){ cout << bin[i--]; } cout << '\n'; return 0; }
- 650 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 00:05:27 ]
- つーか直書きやめてcodepad使おうぜ
- 651 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 00:27:39 ]
- [1] 授業単元: C言語演習
[2] 問題文(含コード&リンク): 正の整数nの2乗の数に、2種類の数字しか現れない 4桁の正の整数 n をすべて挙げなさい [3] 環境 [3.1] OS: linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: c言語 [4] 期限: 2009年11月13日13:00まで [5] その他の制限:なるべく簡単にお願いします よろしくお願いします
- 652 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 00:40:56 ]
- >>651
#include<stdio.h> int main(void){ puts("1000 2000 3000 3114"); return 0; }
- 653 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 00:44:06 ]
- >>652
求めるプログラムお願いします
- 654 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 01:09:50 ]
- >>596
ダイクストラ法の部分だけ実装しています。シミュレーション部分は、そもそもなんのシミュレーションなのかわからないので 放っています。 codepad.org/bxTi0dpv 何をシミュレートしているのか詳しくおしえていただければ、あるいは続きを書けるかもしれません。
- 655 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 01:41:35 ]
- >>651
()を適当に埋めて整数の桁に現れる数を数え上げる関数 count(int n)を作ってこれを使って完成させな int count( int n ){ int i,c[10],d; for(i=0;i<(?);i++) c[i]=( ); while(?){ c[(?)]++;n/=10; } for(i=d=0;i<10;i++) d+=(c[i]==0)?(?):(?); return (?); }
- 656 名前:656 mailto:sage [2009/11/09(月) 01:42:47 ]
- #include <stdio.h>
int main(void){ int i, j, ii, count, digit[10]; for(i=1000; i<10000; i++){ // sqrt(1000) = 31.6227 for(j=0;j<10;j++) digit[j]=0; ii = i*i; for(j=0;j<8;j++) { // 10,000*10,000 = 100,000,000 digit[ii%10] = 1; ii /= 10; if(ii==0) break; } count = 0; for(j=0;j<10;j++) if(digit[j] == 1) count++; if(count==2) {//printf("-->"); printf("%d %d %d\n", i, count, i*i); } } }
- 657 名前:デフォルトの名無しさん [2009/11/09(月) 03:47:58 ]
- [1] 授業単元: C言語のポインタ、配列、ファイルの問題です
[2] 問題文(含コード&リンク): n件のデータを配列に入力しその平均値を出力するプログラムをつくり、 実行部において添字演算子は用いず、*(p+i)と*p++それぞれを用いるパターンを作る ただし、入出力処理をファイル処理に、入出力ファイル名はコマンドラインで指定する [3] 環境 [3.1] OS: とくになし [3.2] コンパイラ名とバージョン: とくになし [3.3] 言語: c言語 [4] 期限: 2009/11/09日中 [5] その他の制限:途中まで出来ている部分を使ってください。 #include<stdio.h> int main(void) { int A[100]; int a,b,i,n,*p; *p=A[0]; scanf("%d",&n); for(i=0;i<n;i++){ scanf("%d",*(p+i)); } for(i=0;i<n;i++){ b+=*(p+i); } a=b/n; printf("%d",a); return(0); } です。よろしくお願いします。
- 658 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 05:50:29 ]
- >>655-656
ありがとうございます.コンパイルしてみます
- 659 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 09:20:08 ]
- >>651
#include <stdio.h> int check(int n) { int i, a[2], temp, c = 0; while(n) { temp = n % 10; for(i=0; i<c; i++) if(a[i]==temp) break; if(i==2) return 0; if(i == c) a[c++] = temp; label: n /= 10; } return 1; } int main(void) { int i; for(i=1000; i<10000; i++) if(check(i*i)) printf("%d\n", i); return 0; }
- 660 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 09:21:02 ]
- ゴミが残った
label:は消しといて
- 661 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 09:29:06 ]
- >>659
バグってるぞ 実行結果 1000 2000 3000 3114
- 662 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 09:33:09 ]
- お前は何を言ってるんだ?
- 663 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 09:36:33 ]
- >>652も>>656も答えはその4つなんだが、どこがバグってるんだろ
表示するのは4桁の整数の方だし
- 664 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 10:34:07 ]
- 正の整数 nの2乗の数に、「10の倍数でなく、
10進数表記で、3種類以上の数字が現れる、 もしくは1種類の数字しか現れない」という ことが無いものをすべて挙げなさい
- 665 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 10:35:27 ]
- 正の整数 nで、その2乗が10の倍数でなく、
「「10進数表記で、3種類以上の数字が現れる、 もしくは1種類の数字しか現れない」という ことが無いもの」をすべて挙げなさい
- 666 名前:656 mailto:sage [2009/11/09(月) 10:37:30 ]
- 4桁までの数。
int main(void) { int i; for(i=1; i<10000; i++) if(check(i*i)) printf("%04d\n", i); return 0; }
- 667 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 10:52:35 ]
- で、勝手に問題書き換えてバグがないものをバグって言い張るつもり?
- 668 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 10:56:46 ]
- >>665は>>661とは無関係
>>652への追加課題
- 669 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 10:59:29 ]
- 問題出したきゃ、大学でも専門学校でもどこでもいいから講師になってからにしろよw
- 670 名前:656 mailto:sage [2009/11/09(月) 11:01:05 ]
- 書き換えてないぞ。柿加えた。10の倍数を含まない。
int main(void) { int i; for(i=1; i<10000; i++) if(i%10) if(check(i*i)) printf("%4d %d\n", i, i*i); return 0; }
- 671 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 11:02:37 ]
- 恥ずかしい突込みをした661が話を逸らそうとして必死にしか見えないんだがw
- 672 名前:656 mailto:sage [2009/11/09(月) 11:07:19 ]
- 1回だけのは除く。
for(i=4; ......
- 673 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 11:08:21 ]
- 講師は問題を解いて説明する
生徒はそれを写す んだろ?
- 674 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 11:12:54 ]
- 656なら他人の関数使ってないで、自分が書いたやり方でやれよw
- 675 名前:656 mailto:sage [2009/11/09(月) 11:34:26 ]
- >>670 で、数字が1種類でも動くようにcheck()を改良せよ。
- 676 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 11:39:58 ]
- >>661
で、どこがバグってるの?
- 677 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 11:40:22 ]
- >>656
出来ないの?
- 678 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 11:50:08 ]
- >>675
お前はなんで自分にレスしてんだよw
- 679 名前:613 mailto:sage [2009/11/09(月) 14:32:26 ]
- 関数ポインタをconstで宣言したいんですがー
const int(*func)(void*) = ... のように宣言すると、funcの挙動としてconstが定義されて(戻り値がconst int型となり) 変数func自体はconst化されず、プログラム中でポインタの書き換えが行えてしまいます。 関数の挙動としては戻り値にconstをつけず、ポインタ自体にconstを当てはめたいのですがー どなたかいい手法をご存知ないでしょうか?
- 680 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 14:35:30 ]
- 多分 int(* const func)(void*)
- 681 名前:679 mailto:sage [2009/11/09(月) 14:42:37 ]
- >>680
早レスありがとうございます。が、だめでしたora
- 682 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 14:42:39 ]
- やってみた
#include <stdio.h> int func(void) { return 1; } int main(void) { int (* const fun)(void) = func; printf("%d\n", fun()); return 0; } 出力結果 1
- 683 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 14:44:50 ]
- ちなみに
#include <stdio.h> int func(void) { return 1; } int func2(void) { return 2; } int main(void) { int (* const fun)(void) = func; printf("%d\n", fun()); fun = func2; return 0; } const_func2.c: In function 'main': const_func2.c:19: error: assignment of read-only variable 'fun'
- 684 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 14:44:59 ]
- そもそも なぜそのようなことをするのか
という疑問のほうが...
- 685 名前:679 mailto:sage [2009/11/09(月) 14:47:55 ]
- >>680
早レスありがとうございます。が、だめでしたora
- 686 名前:679 mailto:sage [2009/11/09(月) 14:49:30 ]
- >>680
と思ったら右辺のほうも書き換えないといけないんですね。 両方(*const func)で解決致しました。ありがとうございます。
- 687 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 14:49:56 ]
- コンパイラ何?ってかそろそろスレ違いなんで
【初心者歓迎】C/C++室 Ver.69【環境依存OK】 pc12.2ch.net/test/read.cgi/tech/1256022655/ ここあたりに行こうぜ
- 688 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 15:19:21 ]
- funcに一度値を設定したら書き換えることが出来ないんだろ?
どういう状況でfuncという変数を使うのか知ってみたい
- 689 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 15:27:38 ]
- int Stage1( void );
int Stage2( void ); int Stage3( void ); int (* const func[])(void) = { Stage1, Stage2, Stage3 }; { while(1) func[now_stage]; }
- 690 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 15:45:19 ]
- 趣味の問題ね()
- 691 名前:656 mailto:sage [2009/11/09(月) 16:37:19 ]
- >>659 待った?
int check(int n) { int i, a[2], temp, c = 0; while(n) { temp = n % 10; for(i = 0; i < c; i++) if(a[i] == temp) break; if(i == 2) return 0; // check NG if(i == c) a[c++] = temp; n /= 10; } if(c == 2) return 1; // check OK return 0; }
- 692 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 16:45:16 ]
- 659は関係ないだろw
- 693 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 16:49:14 ]
- おいおい、>>675の名前欄は656、つまりお前自身じゃねーかよw
自演で何やってんだよw
- 694 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 18:05:46 ]
- [1] 授業単元:画像処理
[2] 問題文(含コード&リンク): ブレゼンハムのアルゴリズムを用いて、ウインドウ内に線分を描画するプログラムを作成しなさい。 動作の仕様は2通りの中から選びなさい。(どちらでもよい) 仕様1(マウスの左ボタンと右ボタンを使用する。候補線を表示はなし。) マウスの左ボタンクリック 線分の始点座標の指定 マウスの右ボタンクリック 線分の終点座標の指定及び線分の描画 仕様2(マウスの左ボタンだけで操作する。候補線を表示する。) マウスの左ボタンクリック 線分の始点座標の指定、及び線分の描画開始 マウスの移動 始点から線分を絶えず候補として描画。(古い線分は消す) マウスの左ボタンクリック 線分の終点座標の確定。線分を描画。 ただし、ライブラリの点を描画するAPI関数を使って線分を引くこと。直線を引くAPI関数を使ってはならない。 [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ: Microsoft Visual C++ 2008 Express Edition [3.3] 言語: C++ [4] 期限: 09年11月11日(水) [5] その他の制限: 特になし 仕様は1と2どちらでもOKなので、簡単なほうで構いません。 よろしくお願いします。
- 695 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 18:36:14 ]
- [1] 授業単元: C言語
[2] 問題文(含コード&リンク):不定方程式が解を持つか判断して、持つ場合には解を求めるプログラムを作れ [3] 環境 [3.1] OS: Windows vista [3.2] コンパイラ名とバージョン: Visual C++ 2008 [3.3] 言語:C++ [4] 期限: 明日まで [5] その他の制限: 特になし もしどなたかやっていただけるならばお願いしますm(_)m
- 696 名前:デフォルトの名無しさん [2009/11/09(月) 19:30:06 ]
- [1] 授業単元: C言語
[2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10081.txt [3] 環境 [3.1] OS: Windows XP [3.2] コンパイラ名とバージョン: VC2003 [3.3] 言語: C [4] 期限: 明日中 [5] その他の制限: 特になし
- 697 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 19:58:10 ]
- >>654
ありがとうございます! シミュレーション内容について詳しく書いたファイルを↓に上げました。 よければよろしくお願いします。 [1] 授業単元: アルゴリズムとプログラミング [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10082.txt プログラムに使用するデータファイル↓ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10071.txt [3] 環境 [3.1] OS: (Windows/Linux/等々) Linux [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) gcc [3.3] 言語: (C/C++/どちらでも可 のいずれか) C [4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) 11月17日 [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) 特にありません
- 698 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 19:59:12 ]
- >>696
buf[4] = '\0';
- 699 名前:デフォルトの名無しさん [2009/11/09(月) 20:37:11 ]
- #include <iostream>
using namespace std; int main() { int a[100],b=-9999; int i=0,j; do { cout << "整数値を入力してください\n"; cin >> a[i]; b += a[i]; i++; }while( a[i-1] != 9999); cout << b << '\n'; for(j=0;j<i-1;j=j+1) cout << a[j] * 3 << '\n'; return 0; } このプログラムってループを抜ける条件は9999と入れた時だけですか?
- 700 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 21:02:19 ]
- >>699
いえ、他にも、100回を超えても何度も何度も操作を続けて 書き込み禁止のメモリに到達したときにも抜けます(異常終了という形で)。
- 701 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 21:27:03 ]
- >>694
仕様2で ttp://codepad.org/IeQFbfNo
- 702 名前:デフォルトの名無しさん [2009/11/09(月) 21:29:26 ]
- >>700
ありがとうございます
- 703 名前:604 [2009/11/09(月) 21:37:51 ]
- 国語と数学の総合的な平均点も出力する
っていう言葉の意味が分からないんですが、これは、合計を5で割ればいいんですかね? 10で割ればいいんですかね?
- 704 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 21:41:36 ]
- 国語の合計と数学の合計の合計を10で割るのが一番正確だが
国語の平均と数学の平均の合計を2で割ってもまぁ良い
- 705 名前:デフォルトの名無しさん [2009/11/09(月) 21:44:31 ]
- [1] 授業単元:データ構造とアルゴリズム設計
[2] 問題文(含コード&リンク): 入力された小文字のアルファベットを,リストを用いて順次格納する. ’−’が入力された時に文字の入力を終了し,それまでに格納された全ての文字を表示するプログラムを作成 せよ. ただし,リストに格納する際,リストの最後に追加するようにせよ. 例(a, b, c, - と順に入力したときa,b,cと出力される) [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:特に無し [5] その他の制限:双方向リストは使わない。 ヘッダは#include <stdio.h>以外は使わない
- 706 名前:604 [2009/11/09(月) 21:45:16 ]
- >>704
つまり、これは総合的平均っていうのは100を越すことはないという事ですか?
- 707 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 23:07:35 ]
- >705
制限付きで面白そうなのでやってみようかな
- 708 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 23:22:25 ]
- >>706
そういうことになるな。
- 709 名前:デフォルトの名無しさん [2009/11/09(月) 23:24:36 ]
- >>708
ありがとうございました
- 710 名前:デフォルトの名無しさん [2009/11/09(月) 23:35:40 ]
- 10進数を2進数に変換するプログラムを 順番通りに表示できるようにするプログラムを配列を使って作るんですが
#include <iostream> using namespace std; int main() { int i,n,bin[32]; cout << "10進数:"; cin >> n; cout << "2進数:"; for(i=0; i<32; i++) { bin[i] = n & 1; n >>= 1; } for(i=31; i>=0; i--) cout << bin[i]; return 0; } 結局これは、0がいっぱい出てくるから、ダメですかね? それとも負の数も考慮に入れたから、こういう事になったんですか?
|

|