- 1 名前:デフォルトの名無しさん [2007/07/15(日) 22:31:51 ]
- あなたが解けない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++の宿題を片付けます 92代目 pc11.2ch.net/test/read.cgi/tech/1183511364/
- 652 名前:デフォルトの名無しさん [2007/07/22(日) 18:53:43 ]
- あるカップラーメンの値段を店ごとに調べた.それを配列に
入れて,下の出力のように10円刻みに分布をとることを考える. そのためのプログラムを下に示す.空白を補え. 80- 89円: 2 90- 99円: 2 100-109円: 1 110-119円: 2 120-129円: 1 130-139円: 2
- 653 名前:デフォルトの名無しさん [2007/07/22(日) 18:55:33 ]
- #include <stdio.h>
#define C_NUM 6 void makedist(int a[10], int b[C_NUM]) { int i; for(i = 0; i < 10; i ++) { b[ (a) ] += 1; } } void main(void) { int price[10] = {80, 120, 111, 130, 139, 95, 98, 89, 105, 119}; int dist[C_NUM], i; for(i = 0; i < C_NUM; i++) { dist[i] = (b) ; } makedist( (c) , dist); for(i = 0; i < C_NUM; i++) { printf("%3d-%3d円: %3d\n", (d) , (e) , dist[i]); } } これもさっぱりです・・・ 教えてください
- 654 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 18:58:12 ]
- >653
(a)a[i]/10-8 (b)0 (c)price (d)80 + i * 10 (e)89 + i * 10
- 655 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 19:08:49 ]
- >>650-651
a:c b:0 c:i d:mat[i][j] e:mat[j][i]
- 656 名前:655 mailto:sage [2007/07/22(日) 19:10:03 ]
- 訂正
d:mat[i][j]→&mat[i][j] e:mat[j][i]→&mat[j][i]
- 657 名前:655 mailto:sage [2007/07/22(日) 19:20:36 ]
- 何度も済まん…
>>650-651 a:c b:0 c:i+1 d:&mat[i+1][j] d:&mat[j][i+1]
- 658 名前:デフォルトの名無しさん [2007/07/22(日) 19:23:54 ]
- ありがとうございます!!
- 659 名前:デフォルトの名無しさん [2007/07/22(日) 19:29:39 ]
- 与えられた正数aの逆数1/aを,除算を用いずに求めるアルゴリズムを
ニュートン法によって作りたい. ただし,初期値x0は十分に解に近いところから出発するものとする. 次の[1]から[4]の空欄(a)から(f)を埋めよ. [1] ニュートン法でaの逆数1/aを求めるためには f(x)=(a)のゼロ点を求めればよい. [2] [1]の式に対して,ニュートン法による第n+1回目の反復による値Xn+1は, 第n回目の反復による値Xnを用いて Xn+1=(b)と表される.
- 660 名前:デフォルトの名無しさん [2007/07/22(日) 19:30:11 ]
- [3]
[2]で示した反復によるアルゴリズムを実現すると次のようになる. #include <stdio.h> void main(void) { double u, v; int i; printf("正数を入力して下さい.\n"); scanf( (c) ); printf("逆数に十分近い初期値を入力して下さい.\n"); scanf( (d) ); for(i = 0; i < 3; i ++) { u = (e) ; printf("%5.3f\n", u); } } [4] [3]で作ったプログラムを実行し,「3」,「0.5」の順に入力した際に for文の中のprintf関数による出力結果をすべて示すと次のようになる. (f)
- 661 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 20:37:35 ]
- >>659
(a) 1/x - a {x = 1/a → 0 = 1/x - a だから} (b) Xn*(2-a*Xn) {Xn-f(Xn)/f'(Xn) →Xn-(1/Xn-a)/(1/(-Xn*Xn))だから} (c) "%lf",&v (d) "%lf",&u (e) u*(2-v*u) (f) 0.5 0.250 0.332
- 662 名前:デフォルトの名無しさん [2007/07/22(日) 20:37:52 ]
- 関数myreplaceを使って実際に文字列を変換させるプログラムを作成したところ,
出力結果(1)は「tuat」となった. 空欄(a)〜(f)を埋めて次のプログラムを完成させ, 出力結果(2)を空欄(g)に記入せよ.
- 663 名前:デフォルトの名無しさん [2007/07/22(日) 20:39:44 ]
- #include <stdio.h>
(a) ; void main(void) { char code[16] = "GHIGFACDFDBA"; char ret[16] = ""; myreplace(" (b) ", ret); printf("%s\n", ret); ・・・出力結果(1) myreplace(code, ret); printf("%s\n", &ret[5]); ・・・出力結果(2) } void myreplace(char org[ ], char ret[ ]) { char string1[16] = (c) ; char string2[16] = "v)(^e_tua"; int i, j; for(i = 0; org[i] != (d) ; i ++) { for(j = 0; string1[j] != (d) ; j ++) { if(org[i] == string1[j]) { (e) } } } (f) /* 終端記号 */ } 出力結果 (g)
- 664 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 20:42:23 ]
- >>659 訂正
(f) 0.250 0.313 0.332
- 665 名前:デフォルトの名無しさん [2007/07/22(日) 21:04:07 ]
- [1] 授業単元:
[2] 問題文(含コード&リンク): 2 つのchar 型配列x[],y[] に格納された文字列を入れ替えるプログラムを作成せよ. ただし入替え処理には,関数swap array(char *,char *) を作成して用いること. % ./test 入替前のx: "abcdefgh" 入替前のy: "ABC" 関数swap_array() を呼び出しました 入替前のx: "ABC" 入替前のy: "abcdefgh" % [3] 環境 [3.1] OS: (Linux) [3.2] コンパイラ名とバージョン: (gcc 3.4) [3.3] 言語: (C) [4] 期限: (07月23日00:00まで) [5] その他の制限:ポインタまで習ってます よろしくおねがします
- 666 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 21:05:33 ]
- >>650マルチ必死だな(´,_ゝ`)プッ
- 667 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 21:39:34 ]
- >>662 なんかヤな問題だな。回答は複数あるけどたぶん↓
(a) void myreplace(char org[], char ret[]); (b) GHIG (c) "ABCDEFGHI" (d) '\0' (e) ret[i] = string2[j]; (f) ret[i] = '\0'; (g) v(^_^)v
- 668 名前:デフォルトの名無しさん [2007/07/22(日) 22:05:25 ]
- [1] 授業単元:
[2] 問題文(含コード&リンク): 1start で示されるアドレスからlength バイト分だけの領域に関して, 値val で埋める関数cmemset(char*start, int value, int length) を作成せよ. さらに,malloc() 関数を用いてchar 型配列のメモリ領域を確保し, cmemset() が正確に動作することを確認 (メモリ領域の内容を整数値として表示)するプログラムを作成せよ. %./kadai 4 -89 0 1 5 43 ... 112 ← cmemset 使用前 0 0 0 0 0 0... 0 ← 0 で埋めたとき 88 88 88 88 88 88 ... 88 ← 88 で埋めたとき % 2src で示されるアドレスからlength バイト分だけの領域を,dest で示される領域へコピーする関数 cmemmove(char *dest, char *src, size t length) を作れ.なお,送り元の領域と送り先の領 域がオーバーラップしていても,正しくコピーできる仕様にせよ.さらに,malloc() 関数を用いて char 型配列のメモリ領域を確保し,cmemmove() が正確に動作することを確認(メモリ領域の内容を 整数値として表示)するプログラムを作成せよ. % ./kadai 1 2 3 4 5 0 0 0 0 0 0 0 0 0 0 0 0 0 ← cmemmove 実行前 1 2 3 4 5 0 0 0 0 0 1 2 3 4 5 0 0 0 ← 0 番目から5 個を10 番目へ 1 2 3 1 2 3 4 5 0 0 1 2 3 4 5 0 0 0 ← 0 番目から5 個を3 番目へ % [3] 環境 [3.1] OS: (Linux3.2) [3.2] コンパイラ名とバージョン: (gcc 3.4) [3.3] 言語: (C) [4] 期限: (07月23日まで) [5] その他の制限:おねがいします
- 669 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 22:24:59 ]
- char配列埋めるのにvalueはintかよ
- 670 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 22:27:26 ]
- 標準のmemset()もそうでしょ
- 671 名前:デフォルトの名無しさん [2007/07/22(日) 22:41:46 ]
- わかる方でいいのでおねがいします
- 672 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 22:43:25 ]
- 何を?
- 673 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 22:43:59 ]
- どれを?
- 674 名前:671 mailto:sage [2007/07/22(日) 22:45:03 ]
- すみません全部忘れてました
村上ファンド事件についてインサイダー取引という単語を用いて100字以内にまとめよ です
- 675 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 22:47:02 ]
- he is very very bad
- 676 名前:デフォルトの名無しさん [2007/07/22(日) 22:51:21 ]
- 665と668です
- 677 名前:671 [2007/07/22(日) 23:03:48 ]
- 本当に誰か答えてください><
- 678 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 23:11:30 ]
- >>665
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4711.c ココの人、みんな"わかる方"だからさ。そういう言い方なんか違うと思うよ。
- 679 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 23:16:22 ]
- Linux3.2 うひょ
- 680 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 23:31:17 ]
- char *cmemset(char *start, int value, int length)
{ const unsigned char ch = value; while(num--) *ptr++ = ch; return start; } char *cmemmove(char *dest, char *src, size t length) { while(length--) *(dest+length) = *src; return dest; }
- 681 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 23:34:45 ]
- [1] 授業単元:プログラミング
[2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4712.zip [3] 環境 [3.1] OS: (Mac) [3.2] コンパイラ名とバージョン: (gcc 3.4) [3.3] 言語: (C) [4] 期限: ([2007年7月23日9:00まで] ) [5] その他の制限:問題文、プログラム内で使うデータファイル、自分で作ったソースをzipにしました 何故動かないのかわからないのでご教授下さいませ
- 682 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 23:35:25 ]
- メモリコピーはアドレスの大小関係で
昇順、降順を切り替えないとおかしなことになるよ
- 683 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 23:45:59 ]
- >>681
その汚いソースをなんとか動くようにしてくださいっていうなら絶望的だな どっかしらでsegmentation faultが起きてるから頑張って探しな
- 684 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 23:52:08 ]
- >>679
大分未来からお越しのようですね
- 685 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 00:14:45 ]
- [1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):整数集合 { 1, 2, 3, 4, 5 } と { 2, 4, 6 } の 共通集合を求め、表示するプログラム 集合をリストを用いて実現し、emptySet, inSet, addElem, intersection, printSet, freeSet を リストを用いた集合操作に変更しなさい。 コード:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4713.c [3] 環境 [3.1] OS: Linux [3.2] gcc [3.3] 言語: C [4] 期限: 2007/7/25 15:00 プログラムのコード自体はやってる最中なのでめちゃくちゃですが気にしないでください。 コンパイルは特にエラーもなく通ります。 実行したあと %./a.out と出るだけでそこから何も起きません。 無限ループに陥ってる可能性を考えてmain関数内にprintfを設置しました。 コードを見てもらえばわかるのですが、main関数内の2行目に配置したprintfすら実行されません(1行目はint型の変数宣言)。 これはmain関数が実行されていないということでしょうか? 原因解明お願いします。
- 686 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 00:16:28 ]
- >>681
enter と enter2 で xtopx->child1 や xtopx->child2 が使われているけど xtopx 自体が初期化されていない気がする
- 687 名前:デフォルトの名無しさん [2007/07/23(月) 00:17:31 ]
- >>680もう少しヒントをください
- 688 名前:685 mailto:sage [2007/07/23(月) 00:19:53 ]
- すいません。捕捉です。
このプログラムは、元は配列を用いて集合を実現してました。これをリスト構造に改編しろ。 という問題です。
- 689 名前:686 mailto:sage [2007/07/23(月) 00:27:52 ]
- >>681
あとグローバルでstruct member **result; が宣言されているのに search および search2 で ローカルで struct member **result; が宣言されている ローカル側のresult;に代入しているから result=(struct member **)malloc(sizeof(struct member *)*(MEMBER_MAX+1)); で確保した領域が保存されていない.returnで戻しているけどmain でその戻り値保存していないし というかこのresultのポインタリストはどこで使われているのだろうか?
- 690 名前:デフォルトの名無しさん [2007/07/23(月) 00:32:12 ]
- 最近のCって型定義に変数宣言しても通るの?
- 691 名前:デフォルトの名無しさん [2007/07/23(月) 00:34:02 ]
- 間違えた
×型定義に ○型定義前に 普通は構造体定義してから変数宣言だよね?
- 692 名前:686 mailto:sage [2007/07/23(月) 00:35:39 ]
- >>681がすでにいない気もするけど
>>681 Top1 と Top2 は 0 か NULL で初期化されていないので enter と enter2 の if(!Top1){ } が実行されずに top=Top1; while(top){ } で失敗する可能性がある (HDDから怪しい音が・・・こわい)
- 693 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 00:42:08 ]
- >>685
int inSet(ElementP s,int v){/*変更可*/ while(s->next!=NULL){ if(s->data==v){ return 1; } } return 0; } ここで無限ループしてる
- 694 名前:デフォルトの名無しさん [2007/07/23(月) 00:46:51 ]
- >>680もう少し補足していただくと・・・
- 695 名前:685 mailto:sage [2007/07/23(月) 00:46:57 ]
- >693
指摘ありがとうございます。 しかし、修正してみたものの症状変わらず・・・。
- 696 名前:681 mailto:sage [2007/07/23(月) 00:47:46 ]
- >>692
すいません、プログラムと睨めっこしてました ちょっといじってみます、また何かあったらご教授いただけると幸いです
- 697 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 00:48:48 ]
- while(p->next!=NULL)
{ if(p->data < val->data) val=p; p=p->next; } ここでも無限ループしてる
- 698 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 01:04:24 ]
- >>685
流し読みだけど、ElementP emptySet(){ return NULL; }で。 やり方は他にもあるけど、少なくとも次がない=空じゃないです。そうすると mallocは、s==NULLのとき、addElemでして、return sってことになるかと。 void addElem(ElementP s,int v) → ElementP addElem(ElementP s,int v) ですね。あと、freeSetが最初しか開放してないから再帰でnextたどってく感じで。
- 699 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 01:17:33 ]
- >>680 int main()内が分かりません
助けてください><
- 700 名前:685 mailto:sage [2007/07/23(月) 01:31:09 ]
- >697
すいません、どこで無限ループなのかわからないです。 >698 その方法もやってみます。 freeSetの件も修正してみます。
- 701 名前:685 mailto:sage [2007/07/23(月) 02:00:10 ]
- どうやら環境の差のようです。Windowsで実行したところ正常に動きました。
いろいろとありがとうございました。
- 702 名前:681 mailto:sage [2007/07/23(月) 02:01:28 ]
- >>681ですが、アドバイスをいただいて直してみましたがうまくいきません
アップしたソースの不都合な所はばっさり変更しても良いので、 なんとか動くように訂正お願いします
- 703 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 02:04:14 ]
- 環境の差なわけねえwww
- 704 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 02:18:42 ]
- [1] 授業単元:C言語
[2] 問題文(含コード&リンク): [プログラム説明] 2桁の16進数('41'〜'49'、 '50'〜'59')を入力すると対応する文字を表示する。 ただし、%xは使用しないこと。なお、入力に間違いはないものとする。(ヒン ト:入力は一つの数値か、二つの文字か?) 実行結果 2桁の16進数('41'〜'49'、 '50'〜'59')を入力してください:53 文字コード「53」文字は「S」です。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: VC [3.3] 言語: C++ [4] 期限: ([明日の朝まで] または [無期限] のいずれか) [5] その他の制限: printf() scanf()を最近習いました
- 705 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 02:27:40 ]
- >>704
#include <stdio.h> int scan_ascii(){ int c1,c2; printf("2桁の16進数('41'〜'49'、 '50'〜'59')を入力してください:"); scanf("%c%c", &c1, &c2); return (c1<<4 + c2); } int print_ascii(int c){ printf("文字コード「%d」文字は「%c」です。\n", c, c); } int main(){ print_ascii(scan_ascii()); return 0; }
- 706 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 02:34:50 ]
- すいません、returnとasciiは習ってないです・・・
でもありがとうございます!1原型ができました
- 707 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 02:40:08 ]
- >>702
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4715.c
- 708 名前:707 mailto:sage [2007/07/23(月) 02:42:00 ]
- アンカー間違えた
>>702 じゃなくて >>701 だった
- 709 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 03:09:46 ]
- >>420
まだ全然わからないんでお願いします
- 710 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 03:28:43 ]
- \n n番目に表れた\(...\)の中の文字列にマッチ (nは1から9の整数)
が意味わからね 方針として入力文字列を"トークン"列に変換してから置換処理がクレバーじゃね? struct toknの設計がつぼおおおぉおおおおぉおぉおぉおおおおおおおおおおおあおあさだおssd
- 711 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 03:44:20 ]
- \nの前の正規表現を\( \)で囲っておくとあとで呼び出せるってやつです
ja.wikipedia.org/wiki/%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE \([asdf]\)\(fty\)\([frty]\)\(t\)\3 で aftytterをチェックした場合 \3はtと同じです system()からsed呼び出して同じ動作するものは作れたんですけど、それだと題意にあわないんで・・・
- 712 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 10:36:35 ]
- >>530
返事が遅くなってすいません。>>530に書いてあるものを使ってpop,pushを使い たいです。+-*/は数字の大きさで表したいです
- 713 名前:デフォルトの名無しさん [2007/07/23(月) 11:05:05 ]
- [1]授業単元:プログラミング技術III
[2]問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4718.txt [3] 環境 [3.1] OS: Linux [3.2] コンパイラ: gcc [3.3] 言語: C [4] 期限:7/24まで [5]その他の制限:特になし よろしくお願いします
- 714 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 11:12:26 ]
- >>712は、自分が書いた文を自分で理解できるのか?
- 715 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 11:51:28 ]
- \(\(c\)b\)d\) の場合"2"番目は何を意味する?
\([ab]\)\1の場合 aa と bb にはマッチするが ab にはマッチしないと理解して良いのか? (否なら単に[ab][ab]と記述すればいいしなクソ) それとこれ本当に宿題か? \nさえなけりゃ理論的な意味の正規表現についての良問だと思うが \nの性で劇的に難しくなってね? お前何科の何年生? あるいは問題間違ってねえ?
- 716 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 12:02:40 ]
- [1] 授業単元:C++実習
[2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4719.txt プログラム問題文に沿って作ったものと、それに2つの要素を追加修正した 2つのプログラムの作成をお願いします。 [3] 環境 [3.1] OS: windows XP [3.2] visual studio 2005 [3.3] 言語: C++ [4] 期限: 2007/07/26 13:00まで [5] その他の制限: 特に無し よろしくお願いします
- 717 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 12:18:51 ]
- \(\)って入れ子にはしないんじゃないか
- 718 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 12:25:06 ]
- [1] 授業単元:C
[2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4721.txt [3] 環境 [3.1] OS: windows XP [3.2] bcc32 [3.3] 言語: C [4] 期限: 2007/07/23 13:00まで [5] その他の制限: 特に無し
- 719 名前:デフォルトの名無しさん [2007/07/23(月) 13:06:20 ]
- >>715
問題文には正規表現の各表現の説明があった後に . * [abc…]、\が使えるようなプログラムを実装せよとかかれてました ちなみに2回のC初心者向けの演習です 期末レポートなんですが、人によって問題が違って明らかにはずれくじをひいたっぽいですorz
- 720 名前:デフォルトの名無しさん [2007/07/23(月) 13:08:52 ]
- あと、正規表現では括弧の入れ子は外から順に数えていくはずです
- 721 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 13:54:35 ]
- 二回で正規表現の実装かよ
Perlとかでならまだしも・・・
- 722 名前:デフォルトの名無しさん [2007/07/23(月) 14:02:30 ]
- ほかの人の課題は1時間とかで終わるのもあるんで、\n入れると難易度極端に変わるなら、実はそれ無しかもしれないです
- 723 名前:デフォルトの名無しさん [2007/07/23(月) 14:06:51 ]
- 出題者は、正規表現の複雑な仕様を完全に実装しろと言っている訳ではないよね。
単純なパターンチェックと置換を実装すればいいんじゃないの?
- 724 名前:デフォルトの名無しさん [2007/07/23(月) 14:09:17 ]
- [1] 授業単元:C++
[2] 問題文(含コード&リンク): クラスcomplexのメンバ関数で、複素数の絶対値を与える関数を新たに作成せよ。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: CC [3.3] 言語: C++ [4] 期限: [無期限] [5] その他の制限: 特になし よろしくおねがいします。
- 725 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 14:15:43 ]
- >>716
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4722.cpp
- 726 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 14:16:34 ]
- (含コード&リンク):
のくせになんにも貼られてないってどうよ
- 727 名前:デフォルトの名無しさん [2007/07/23(月) 14:26:47 ]
- [1] 授業単元:C言語
[2] 問題文(含コード&リンク):正の整数を入力し1からその数までの間に素数がいくつあるのか数えるプログラムを作れ。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:VC [3.3] 言語:C++ [4] 期限:7月中 [5] その他の制限:特にないです。 よろしくお願いします。
- 728 名前:デフォルトの名無しさん [2007/07/23(月) 14:30:37 ]
- [1] 授業単元:C言語
[2] 問題文(含コード&リンク): nを入力してs=1/1-1/3 + 1/5-1/7 + 1/9....+(-1)^n-1/(2n-1) の和を求めるプログラムを作れ。nが大きくなるにつれてs*4がどうなるか [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:VC [3.3] 言語:C++ [4] 期限:7月中 [5] その他の制限:特にないです。 問題が難しくて困っています。 お願いいたします。
- 729 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 14:35:16 ]
- double s;
int i,n,j; printf("n: "); scanf("%d", &n); j = 1; for(i = 0; i < n; i++) { s += j/(2n-1); j = -j; } printf("s = %lg\n", s);
- 730 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 14:57:03 ]
- これはひどい
- 731 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 14:58:48 ]
- #include<stdio.h>
int main(){ double s=0; int i,n,j=1; printf("n: "); scanf("%d", &n); for(i = 1; i <= n; i++) { s += (double)j/(2*i-1); j = -j; } printf("s = %lg\n", s*4); return 0; }
- 732 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 15:33:33 ]
- 設問的にはcout/cinじゃまいか
- 733 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 15:41:51 ]
- >>727
おまいのレベルに合わせてコーディングした #include<stdio.h> int main(){ while(1){ int i,j,n,c=0; printf("正数 = "); scanf("%d",&n); for(i=2;i<=n;c++,i++) for(j=2;j<=i/2;j++) if(i%j==0){ c--; break; } printf("素数 = %d 個\n",c); } return 0; }
- 734 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 15:52:57 ]
- 正規表現のアルゴリズムとか考えたこともなかったな
一度単純な実装見てみたい
- 735 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 16:27:02 ]
- >>728
#include <iostream> #include <iomanip> #include <cmath> int main() { double s = 0; int i, n; std::cin >> n; for(i = 1; i <= n; i++){ s += pow(-1, i - 1)*1/(2*i - 1); std::cout << std::setw(10) << i << " : " << s*4 << std::endl; } return 0; }
- 736 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 17:23:18 ]
- >>714
出来ます。+-*/の順に1234とつけて行き大きい数字から(/から)優先 で計算するようにしたいんです。
- 737 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 17:53:38 ]
- >>736
スタックを2つ作り、数字と演算子を別々に積み上げておいて、演算子はどの数字を計算対象にしたら良いか、分かるのか?
- 738 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 18:05:53 ]
- >>736
もうちょいで自分でできるぞ なんかね、道間違えている気がする
- 739 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 18:22:04 ]
- >>734
ttp://www2.starcat.ne.jp/~fussy/algo/index.htm に単純な実装があるよ。
- 740 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 19:12:04 ]
- >>725
Test operator = (const Test& t) とかを Test& operator = (const Test& t) にしないと return *this が Test(const Test& t) を呼んじまうぜよ
- 741 名前:ゆみ [2007/07/23(月) 19:24:32 ]
- 超初心者です。制限時間45分で出題されましたが、解答できなかった為持ち帰りになりました(>_<)
どうか御教授お願いします。 ・char 型の配列aに"HellowWorld"の文字列を格納すること。 ・配列aからchar 型の配列bにデータをコピーすること。 ※標準関数(memcpy,strcpy等)を使用しないこと。 ・配列bからchar 型の配列cにデータをコピーすること。 ※但し、"w"、"W"は"*"にデータをすりかえてデータをコピーすること。 →配列cには文字列"Hello**orld"を格納すること。 ・printf()で表示する際は、配列cのデータを一文字づつ表示すること。 ※"o"を表示する際は、"o"を表示する代わりに"O"を5つ表示すること。 ・VCのプロジェクト名は"ckadai3"とすること。
- 742 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 19:27:52 ]
- >>741
ESPの俺が応える お前男なのにキモイ
- 743 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 19:30:51 ]
- >>741-742
ESPってなに?
- 744 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 19:31:32 ]
- >>742
知り合いみたいだからよろしく
- 745 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 19:31:36 ]
- ESPなら、カキコを阻止してくれよ
- 746 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 19:49:57 ]
- >>744
マジ?
- 747 名前:デフォルトの名無しさん [2007/07/23(月) 20:06:13 ]
- [1] 授業単元:プログラミング
[2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4727.txt [3] 環境 [3.1] OS:linux [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: (C/C++/どちらでも可 のいずれか) [4] 期限:2007/07/24 [5] その他の制限:なるべく問題文の指定以外の変更はしないで頂きたいです。どうか宜しくお願いします。
- 748 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 20:29:41 ]
- >>747
>>294 >>494 >>600
- 749 名前:741 [2007/07/23(月) 20:57:04 ]
- 741です。どなたかお願いします。For文もif文もままならないレベルなので、自力で解くのは厳しいです。また30分後にきます(´〜`;)
- 750 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 20:58:46 ]
- うざ
- 751 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 21:06:14 ]
- 質問テンプレを利用しましょう。
- 752 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 21:08:29 ]
- 向こうで回答されてなかったっけ
|

|