- 1 名前:デフォルトの名無しさん [2010/01/18(月) 23:25:55 BE:265079647-S★(508111)]
- あなたが解けない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++の宿題片付けます 133代目 pc12.2ch.net/test/read.cgi/tech/1260532772/
- 411 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 20:36:37 ]
- >>410
EOF入力してみた?
- 412 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 20:37:07 ]
- >>409
6以降はどうすんの?
- 413 名前:410 mailto:sage [2010/02/01(月) 20:41:12 ]
- >>411
わざわざ Ctrl-Dを入力しなくとも、一行の終わりは検知できていますが、何か?
- 414 名前:409 mailto:sage [2010/02/01(月) 20:43:57 ]
- すみません。誤りがありましたので訂正させて下さい。
[1] C言語演習 [2] int x[10]={-1,2,-3,4,-5,6,-7,8,-9,10} int y[10]={-5,-4,-3,-2,-1,1,2,3,4,5} が与えられている。 値x[0]*y[0] - 2*x[1]*y[1]+3*x[2]*y[2]- 4*x[3]*y[3]+5*x[4]*y[4]-6*x[5]*y[5] +7*x[6]*y[6]-8*x[7}*y[7]+9*x[8]}*y[8]-10*x[9]*x[9] が最大/最小になるようにx,yの各要素を並べ替えたものを出力するプログラム 最大/最小になる時のx[],y[]とその値を出力すること [3] Windows XP/Borland C++ 5.0/C言語 [4] 2/18迄 [5] 特に無し
- 415 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 20:51:49 ]
- >>413
入力してみ。
- 416 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 21:05:14 ]
- >>415
特になにもおこりません。というか fgets() で一行入力できているのですが。 どんな振る舞いが発生して、どうおかしいのか教えていただけないでしょうか?
- 417 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 21:21:57 ]
- >>416
> > cannot found がずっとでたけど。 EOFになったら綺麗に終了したほうがいいよ。
- 418 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 21:34:01 ]
- [1] C言語プログラミング演習(大学専門課程選択教科期末課題)
[2]kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10483.txt [3] [3-1] Windows Vista [3-2] Visual C++ 2005 [3-3] C/C++どちらでも可(なるべくC言語) [4] 2/11迄 [5]SQLがイマイチ理解できないので、指針だけでも よろしくお願いします
- 419 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 21:36:53 ]
- >>417
なるほど、bash でも Ctrl-D できれいに終了しますね。 これは改良の余地がありました。アドバイスありがとうございます。 コード中のgetline() (とmain())を書き直しました。 codepad.org/5NsN385B
- 420 名前:デフォルトの名無しさん [2010/02/02(火) 00:56:53 ]
- [1] 授業単元:プログラミング実践
[2] 問題文 アフィン変換のプログラムを作成し、下の図の真ん中を座標の中心にして90°回転した結果を出力せよ。 (図)affin.txt 00000 00000 11111 00000 00000 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名: gcc [3.3] 言語:C++ [4] 期限:2010年2月4日まで [5] その他の制限:特にありません 色々試しましたが、うまくいきませんでした。 よろしくお願いします。
- 421 名前:409 mailto:sage [2010/02/02(火) 00:59:25 ]
- すみません。
>>414の問題なんですがこちらの写し間違いみたいですので 結構です。取り敢えず今回はお願いを取り消させてください。 もういちど確かめてお願いするかもしれません。
- 422 名前:418 mailto:sage [2010/02/02(火) 14:40:57 ]
- >>418
の宿題のほう一部SQLが間違ったようですので 修正しました。まだ間違いがあるかもしれませんが。 注意事項も入れ忘れてましたので、いれました. 改めて依頼させて頂きます。 [1] C言語プログラミング演習(大学専門課程選択教科期末課題) [2]kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10484.txt [3] [3-1] Windows Vista [3-2] Visual C++ 2005 [3-3] C/C++どちらでも可(なるべくC言語) [4] 2/11迄 [5]SQLがイマイチ理解できてないので、指針だけでも よろしくお願いします
- 423 名前:デフォルトの名無しさん [2010/02/02(火) 15:56:42 ]
- [1] 授業単元:DirectX研究
[2] 問題文(含コード&リンク): サイコロを転がして目を決める。 ・テーブルとサイコロを作成する。 ・キー操作でサイコロを投げ下ろすように振る。 ・落下してきて,1つの目を上にして止まる。 ・何度でも遊べる ◎テーブルにサイコロの影がある ◎回転しながら落下してくる ◎自由な方向から見ることができる ◎テーブルの上でサイコロは跳ね,転がる。 ◎サイコロとして正しい [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:Microsoft Visual Studio 2008 [3.3] 言語:C++ [4] 期限: 2月10日まで [5] よろしくお願いいたします。
- 424 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 16:51:53 ]
- >>420
どのように試したの? >>421 素朴だが10!x10!の組み合わせ最適化問題 この手には一般論は無いだろから、奇麗なCプロ グラム一つに纏めるという発想が頭にあると困難かと. (いろいろ「補助手段」を開発しているうちに 別の手段で偶然、解けてしまって目的自体が大 きく喪失してしまう危険性がこの手の問題に はつきまとう) てか宿題としてC言語限定というのは不適当 >>422 SQLをわかる奴は少ないとオモ
- 425 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 16:59:09 ]
- SQL文はわかるが、プログラムに組み込めといわれると・・・
- 426 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 17:06:40 ]
- >>422
RDBMSには何を使うの? コネクションを張ってSQL文を投げるのには何のライブラリ使うの?自作するの?
- 427 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 17:09:14 ]
- SQL文を組み込むんじゃなくて、SQLで書かれた
抽象的な処理仕様に基づいて実装しろってことじゃ? SQL鯖とかが出てなかった昔は結構この手の奴あった 常識的にこの手の奴ではテーブル配列自体は勝手に ソート出来なかったり項目を拡張してはならなかったり とか色々とウルサイし、処理速度向上の為に細かい 最適化が要求されてメンドイんで俺はパス
- 428 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 17:15:17 ]
- >>427
そういう意味か。それは面倒だ。
- 429 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 17:21:16 ]
- >>427
問題文の kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10484.txt 前半: 固定項で項目の拡張無しの配列 後半: 解釈1) 題中のSQL文を与えたとして得られるであろう結果 と 同じ結果が得られるような関数を実装せよ (→ 関数実装時 SQL構文を解釈する必要は全く無い。 同じ結果を求めるコードを直接記述してね) 解釈2) 題中のSQL文を渡して結果が得られるような 関数を実装せよ (→ 関数実装時 SQL構文を解釈する必要が出てくる) ((題中に出てこない SQL文に関してはスルーの方向で)) こう読み取れるっぽいけど… …俺 SQL文わからんのでパス
- 430 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 17:40:19 ]
- >>429
どこの大学か知らんが、宿題として汎用SQLパーサーを 作れって奴出す教師も、それを真に受ける奴もちょっと って感じ。 てか市販のRDBMSのSQLパーサーの性能は相当に 高くなってきてるけど、ちょっと大きなデータ+複雑なSQLに なると手動で作ったCPG+CSVデータにパフォーマンスで 大敗することも多い。 酷いSQLだったり酷い構造のテーブルが多いってことも 多いけど
- 431 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 17:57:49 ]
- >>429
とても動きそうにないコードだけど、これは 解釈1)の方だね。 pc12.2ch.net/test/read.cgi/tech/1261443439/569
- 432 名前:429 mailto:sage [2010/02/02(火) 18:09:32 ]
- >>430
俺はそこらへんの事情を全く知らないんで勘弁して。 問題文の意図が分からなかったんで >>429 と…
- 433 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 19:50:16 ]
- あんだけgroup byがネストしてたらやる気失う。
- 434 名前:429 mailto:sage [2010/02/03(水) 00:28:45 ]
- >>431
とりあえずありがとうございます。 がprologではなくあくまでもCの宿題なので、 参考のみにさせて頂きます。 ちなみにそのスレに私は書き込んでいません。 もし誰かが転記したのをやって頂いてここに貼りなおして 下さったというのであれば結果的に相当無駄なお手数を おかけしたことになります。 構造体をほぼSQLのまま定義しその構造体の配列にデータ が詰め込まれた状態でlist関数が呼び出されるという前提で、 SQLが記述しているセレクト処理で得られるレコードを そのままコンソール出力すれば良いと 同輩が言ってたのですがやっぱり皆様が御指摘の 通りめんどうなコードになるんでしょうか? (ちなみにSQL自体が何をする処理なのか 今ひとつつかめてません。おわかりの方が いらしゃいましたら教えて頂けると嬉しいです) DB板というのがあるそうでそちらのほうでも 聞いてみます。
- 435 名前:デフォルトの名無しさん [2010/02/03(水) 00:29:10 ]
- どなたか317を作ってもらえませんか?
私の力では手におえません。。。
- 436 名前:418 mailto:sage [2010/02/03(水) 00:30:16 ]
- レス番号のほう間違えました。
>>418=>>422=>>434でした。
- 437 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 00:42:08 ]
- 配列 int out[3]={1,5,3};
の配列の各要素の大小関係を比べるプログラムをfor文で作りたんですけど どうすればいいですか?
- 438 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 00:42:52 ]
- 質問は「俺に聞け」スレで
- 439 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 00:49:00 ]
- >>434
>>431じゃないけどSQLは多少わかる 「テーブルSEISEKIHYOUから、 より人数が多いクラスの5科目平均点 以上の5科目成績の生徒で、より人数が 多いクラスの国語平均点の最高よりは 下の国語成績で、数学が最も成績が 高かった生徒について、その担当教師 と氏名、数学成績、国語成績を リストする。」
- 440 名前:デフォルトの名無しさん [2010/02/03(水) 00:58:45 ]
- 420のものです。
ファイル読み込みまではいけたのですが、回転はさっぱりでした。 ご教授ねがいます。
- 441 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 01:09:31 ]
- >>440
公式を当てがうだけのつまらない問題だね 出来ないのは言語によるものじゃなくて アフィン変換がどういうものか分かってないだけ。
- 442 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 01:13:22 ]
- 00000
00000 11111 00000 00000 を90度 回転させると 00100 00100 00100 00100 00100 これじゃ駄目?
- 443 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 01:14:55 ]
- >>435
書こうと思ったけどエラー処理がめんどくさいんだよな
- 444 名前:デフォルトの名無しさん [2010/02/03(水) 17:13:38 ]
- >>442
まさにその通りなんですが、それをプログラムでかくことができなかったです・・・
- 445 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 18:28:27 ]
- 自分用のメモ
>>317
- 446 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 18:47:37 ]
- >>420,440,441,442,444
簡単、簡単、 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10485.c
- 447 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 19:25:39 ]
- >>420
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10486.c tp://www.geocities.co.jp/SiliconValley-Bay/4543/Rubic/Mathematics/Mathematics-2.html
- 448 名前:434 mailto:sage [2010/02/03(水) 19:33:42 ]
- DB板で相談したところすんなりとコードを
書いて頂けました。 もちろん許可をとってないのでお見せする わけにはいかないのですが合計250行にも なる立派なコードでした。
- 449 名前:デフォルトの名無しさん [2010/02/03(水) 19:43:01 ]
- >>446
ご回答ありがとうございます。 試してみたんですが、コンパイルはうまくいきましたが何も表示されませんでした。 何か打ち込まなくては、いけないのですか? 質問ばっかですいません。。。
- 450 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 19:54:22 ]
- >>448
「立派なコード」を「すんなり」ですか
- 451 名前:yui ◆zuLLaJzEzk mailto:sage [2010/02/03(水) 20:26:20 ]
- [1] 授業単元:情報処理入門
[2] 問題文(含コード&リンク): rep1.ppmとrep2.ppmの2つの画像を加算するプログラムを作成せよ. プログラム中で加算したデータは,コントラスト強調を行った上で PPM画像ファイル(h12r.ppm)として保存するようにすること. Cのソースファイルh12r.cおよび実行することにより作成 される画像ファイルを提出すること.rep1.ppmとrep2.ppmの サイズはいずれも横124×縦124画素である.h12r.ppmのサイズも同じとする. rep1.ppm kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10487.zip rep2.ppm kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10488.zip [3] 環境 [3.1] OS: (Windows/Linux/等々) Linux [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) gcc 3.4 [3.3] 言語: (C/C++/どちらでも可 のいずれか) Cでおねがいします。 [4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) 提出期限2010年2月8日 [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) 特にありません。 前回は皆さんに本当にお世話になりました。あらためてお礼を言いたいです。本当にありがとうございました。 今回が最終レポートになるのですがどうか助けていただけないでしょうか? よろしくお願い致します。
- 452 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 21:15:14 ]
- >>451
#include <stdio.h> #define W 124 #define H 124 int main(){ double d,cl = -10.0; unsigned char data1[H*W*3],data2[H*W*3],data3[H*W*3]; char buff[128]; FILE *fin1,*fin2,*fout; int i; if((fin1=fopen("rep1.ppm","rb"))==NULL)goto EXIT; if((fin2=fopen("rep2.ppm","rb"))==NULL)goto EXIT; if((fout=fopen("h12r.ppm","wb"))==NULL)goto EXIT; for(i=0;i<3;i++)fgets(buff,128,fin1); for(i=0;i<3;i++)fgets(buff,126,fin2); fread(data1,1,sizeof(data1),fin1); fread(data2,1,sizeof(data2),fin2); for(i=0;i<H*W*3;i++){ d=data1[i]+data2[i]; d=d+cl*(d-127.5); if(d>255)data3[i]=255; else if(d<0)data3[i]=0; else data3[i]=(unsigned char)d; } fprintf(fout,"P6\n124 124\n255\n"); fwrite(data3,1,H*W*3,fout); EXIT: if(fin1)fclose(fin1); if(fin2)fclose(fin2); if(fout)fclose(fout); return 0; }
- 453 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 21:25:30 ]
- >>447
ひえーこの場合はこれで正解なのか 偶然だな
- 454 名前:デフォルトの名無しさん [2010/02/03(水) 22:51:55 ]
- >>447
ご回答ありがとうございます。 その処理を 00000 00000 11111 00000 00000 でしたいんですが、どうしたらいいですか?
- 455 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 23:31:12 ]
- [1] 授業単元: アルゴリズム
[2] 問題文(含コード&リンク):課題2−2と2−3です。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) [3.3] 言語: C [4] 期限: [2010年02月07日23:59まで] [5] その他の制限: よろしくお願いします。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10490.zip
- 456 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 23:59:33 ]
- [1] 授業単元: データ演習
[2] 問題文(含コード&リンク): [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) [3.3] 言語: C言語 [4] 期限: [2010年02月08日20:00まで] [5] その他の制限: 努力はするも此方も断念 何方か宜しくお願い致す。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10491.zip
- 457 名前:447 mailto:sage [2010/02/04(木) 01:19:54 ]
- >>454
// 入力 for(i=0; i<MAX; ++i) for(j=0; j<MAX; ++j) a[i][j] = (i==MAX/2)?1:0;
- 458 名前:デフォルトの名無しさん [2010/02/04(木) 01:28:05 ]
- >>457
ありがとうございます。 ちゃんと表示されました。
- 459 名前:デフォルトの名無しさん [2010/02/04(木) 01:35:10 ]
- [1] 授業単元:プログラミング実践
[2] 問題文 アフィン変換のプログラムを作成し、下の図の真ん中を座標の中心にして60°回転した結果を出力せよ。 (図)affin.txt 000000000 000010000 000010000 000010000 011111110 000010000 000010000 000010000 000000000 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名: gcc [3.3] 言語:C++ [4] 期限:2010年2月5日まで [5] その他の制限:特にありません 420のものです。 度々申し訳ありませんが、よろしくお願いします。
- 460 名前:デフォルトの名無しさん mailto:sage [2010/02/04(木) 02:03:01 ]
- >>459
・問題文は、出題されたまま全文を書いてください。 もしそのまま出題されているとするなら糞問題です 添削スレで晒しちゃいましょう
- 461 名前:デフォルトの名無しさん mailto:sage [2010/02/04(木) 02:29:39 ]
- 良問自作テキスト:熱心な先生だ
悪問自作テキスト:着服しただろこいつ
- 462 名前:447 mailto:sage [2010/02/04(木) 02:45:18 ]
- kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10492.c
数学なら左回転でいいのでした。
- 463 名前:デフォルトの名無しさん mailto:sage [2010/02/04(木) 03:51:41 ]
- >459
アンチエイリアシング
- 464 名前:デフォルトの名無しさん mailto:sage [2010/02/04(木) 05:56:57 ]
- >>460
なぜ糞問題と思ったのでしょうか、そこをひとつ。
- 465 名前:デフォルトの名無しさん mailto:sage [2010/02/04(木) 07:29:06 ]
- [2] CIP法での1次元の移流計算
[3] 環境 [3.1] OS:Vista [3.2] コンパイラ名:Microsoft Visual Studio 2008 [3.3] 言語:C++ 自分で以下のプログラムを作ったところ。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10493.txt tの値を増やすにつれてf[n][t]のnの初期のほうの値がなぜかでかい数字が出てしまいます。 自分の計算ではtの値を増やせば、f[n][t]のnの初期のほうの値は0になると思うんですが、一体どこが悪いのか、ご教授をお願いいたします。
- 466 名前:デフォルトの名無しさん mailto:sage [2010/02/04(木) 08:26:07 ]
- >>459
これでいいのかな? kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10494.c
- 467 名前:デフォルトの名無しさん mailto:sage [2010/02/04(木) 08:40:53 ]
- >>466
オレなら if(x>=-4 && x<=4 && y>=-4 && y<=4) mat2[i][j] = mat1[4 + x][4 + y]; こうするな はみ出たらカット
- 468 名前:447 mailto:sage [2010/02/04(木) 12:23:47 ]
- >>462 間違い sqrt(3)/2 だった。
x = i - MAX/2; y = j - MAX/2; m = x/2.0 - y*SQRT3/2; n = x*SQRT3/2 + y/2.0; x = m + MAX/2; y = n + MAX/2; if(x<0 || x>=MAX) continue; if(y<0 || y>=MAX) continue; // 左回転 if(b[x][y]==0) b[x][y] = a[i][j];
- 469 名前:デフォルトの名無しさん [2010/02/04(木) 20:21:37 ]
- >>462
>>466 ありがとうございました。 手つかずだったので、ほんと助かりました。。
- 470 名前:466 mailto:sage [2010/02/05(金) 16:32:53 ]
- 要素の計算方法が逆だったのかな?と今考えてるけど。
変換先位置から変換元の要素を求めたんだけど、 画像の変換の問題じゃないんだから、逆の方が良かったかな?
- 471 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 19:17:12 ]
- >>470
90度回転なら、どちらの方法でも、隙間ができない。 60度回転では、・・・ ってことがポイントになる問題だったのでは? 画像かどうかは関係ないでしょ。
- 472 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 15:42:11 ]
- >>455
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10496.c kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10497.c どうぞ。
- 473 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 16:15:20 ]
- どなたか406お願い出来ないでしょうか?
- 474 名前:っっ [2010/02/06(土) 16:26:33 ]
- このプログラミングの前まではうまくいっているのですが、この部分がうまくいきません。助けてくださいm(_ _)m
printf("A/Sの式\n"); for(j=1;j<=12;j++){ a[i][j]/s[j]; printf("%3.1f\n",a[i][j]); }
- 475 名前:っっ [2010/02/06(土) 16:32:18 ]
- _. - ._ _
/. -−- \ l `i __ // ヽ } ´ ̄ ´ '´ う |{ /\ ____ j / ( ヽ '.l. ___/ ヽ´ ー-=ニ.¨`7 r ' r──’ `ヽ .ゞ ' ´ '. `丶、 / (´_ ̄ ヽ / | \ \/ ‘ー⊂. \ / , l | |、 ヽ‐-,ヽ  ̄ ̄\ \. / / ! ∧ ||ヽ__| ∨ ` \ \ / / | / ' ||'´ヽ l l. ', オワタ \ \l ' | ,ィ´′ ∨ ハ. | Nヽ. |、 i \ \l. | /|/ / / ', |、ヽ! \ ヽ、. | i ∨ 三三 ハ. ! \ \. /\ | | xィ彡 ・{ l. ∧ / /\ / }'ヽ! "´ ,、_, l |∨ ∨ / / / \ ‘7´ ) .ノ | l { / ',\ 、__,. ' ,/ | / \ / ', ヽ----r ' ´ | | ./ | ー ´ ', ', ヽ | | / 提出期限過ぎてしまった
- 476 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 19:00:28 ]
- >474
s/\//\/=/
- 477 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 20:55:03 ]
- >>406
- 478 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 20:56:51 ]
- >>474
a[i][j]/s[j]; の結果をどうしたいのですか?どこに保存するのですか?
- 479 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 23:49:03 ]
- >>475
小学校の国語から始めるべきです C言語はその後で良いでしょう
- 480 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 01:25:57 ]
- [2] プログラム
環境 [3.1] OS:Linux [3.2] コンパイラ名:gcc [3.3] 言語:C++ 以下の実行結果はどうなるか #include<stdio.h> #define N10 int main(){ int i,wa=0; for(i=1;i<N;i++){ if((i%2) == 0) continue; wa+=i;} printf("%d\n",wa); return 0;} よろしくお願いします。
- 481 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 01:31:24 ]
- >>480
Nが未定義という類のエラーが出るでしょう
- 482 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 01:40:50 ]
- >>480
codepad.org/721ieWJG
- 483 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 03:45:18 ]
- [1] C言語プログラミング初歩(専門学校)
[2] int型の配列変数A[64][32]をB[32][64]に代入する. 次の対応があるようにすること A[0][0] -> A[0][1] -> A[0][31] ->A[1][0] ->....->A[63][31] B[0][0] -> B[0][1]-> B[0][31] -> B[0][32]->....->B[31][63] (上の段と下の段が一致) A[m][n]には値 (m+n) % 31が入っているものとする。 [3] Windows Vista /Visual studio 2008/C言語 [4] 2/15迄 [5] 1月開講です。ポインタはまだ習ってません
- 484 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 05:03:38 ]
- >>483
こんな感じ? #include<stdio.h> int main() { static int A[64][32], B[32][64]; int m,n; for(m=0;m<64;m++) for(n=0;n<32;n++) A[m][n]=(m+n)%31; for(m=0;m<32;m++) for(n=0;n<64;n++) B[m][n]=A[2*m+n/32][n%32]; return(0); }
- 485 名前:冷やかしです mailto:sage [2010/02/07(日) 05:41:31 ]
- return(0)はかっこ良すぎ(カッコ付け過ぎ)
return 0;で十分w てか関数呼び出しと見間違えやすいので付けないほうが吉
- 486 名前:温めます mailto:sage [2010/02/07(日) 09:35:40 ]
- int *a = &A[0][0], *b = &B[0][0];
for(m=0;m<32;m++) for(n=0;n<64;n++) *b++ = *a++;
- 487 名前:前スレ639 mailto:sage [2010/02/07(日) 11:46:40 ]
- 宿題でなく質問させてもらいます。
pc12.2ch.net/test/read.cgi/tech/1260532772/652 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10348.txt 上のプログラムについて聞きたいのですが このプログラムはfor文を2回まわしているので数列の長さをLとしたとき計算量は2LなのでO(L)と言えるのでしょうか? それと、ソースの下の方にある ? はifの省略記法なのでしょうか? 初心者でよくわからなかったのでお教えください
- 488 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 12:08:15 ]
- >>487
O(n^2) 実際に適当な値入れて何回実行されるか考えたらいいと思う。 そういう捉え方もできなくもないが別物。 三項演算子とかでググったらいいと思う。
- 489 名前:前スレ639 mailto:sage [2010/02/07(日) 12:22:19 ]
- >>488
このプログラムを作ったくれた作者さんのレスを載せると >数列のn[i]について毎回「n[i]の前後にn[i]よりも大きい数と小さい数があるか」を調べる場合、 >計算量は数列の長さをLとして O(L^2)かかる。 >一方、>>646のように、n[i]までの最大値と最小値を先に計算してしまうと計算量はO(L)で済む。 と書いてあり、 自分で考えてみてもl-1回計算するfor文が2個あるので2l-2なので、やはりO(L)といえる気もしますが・・・よくわかりません。 ?は条件演算子ですね。分かりました。ありがとうございました。
- 490 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 12:23:36 ]
- >>487
>計算量は2LなのでO(L)と言えるのでしょうか? YES。入れ子になってれば積になってO(L^2)だけど、 別々になっているので全体の計算量は多い方(今回は同じ)になる。 ?は "c ? a : b" という三項演算子の一部。詳細はぐぐれば分かる。 基本的にはifとは別物だが、非常に限定された場面では代わりに使うこともできる。
- 491 名前:488 mailto:sage [2010/02/07(日) 12:30:26 ]
- 最初の奴はよく見てなかった。
- 492 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 12:31:17 ]
- しかも、今度は途中送信スマン
- 493 名前:前スレ639 mailto:sage [2010/02/07(日) 12:38:12 ]
- それでは計算量は作者のとおりO(L)ということで正しいのですね?
ありがとうございます!勉強になりました!
- 494 名前:デフォルトの名無しさん [2010/02/07(日) 13:14:34 ]
- 【質問テンプレ】
[1] 授業単元:C言語入門 [2] 問題文: キーボードから英文を1文字ずつ入力し母音の出現数をカウントする。その数だけアスタリスクを表示する。ただし、入力を終了するときはCtrl+Zを押すものとする。(vowel.c) [3] 環境 [3.1] OS:Windows Vista [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2月8日 [5] その他の制限:特にありません。 よろしくお願いします。
- 495 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 14:55:13 ]
- >>494
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10499.c こんな感じでしょうか。
- 496 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 15:55:53 ]
- >>495
ありがとうございます! ですがコンパイル出来ませんでした; 制御構造の単元なのですが、While文などを使ってもう少し簡単にしていただくことはできるでしょうか?;
- 497 名前:495 mailto:sage [2010/02/07(日) 16:46:58 ]
- >>496
エラーメッセージを全部コピペしてもらえます?
- 498 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 17:18:05 ]
- >>497
vowel.c: エラー E2140 vowel.c 31: ここでは宣言はできない(関数 countVowel ) エラー E2141 vowel.c 32: 宣言の構文エラー(関数 countVowel ) エラー E2139 vowel.c 70: 宣言に ; がない(関数 countVowel ) エラー E2134 vowel.c 70: 複合文に } がない(関数 countVowel ) *** 4 errors in Compile *** です。
- 499 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 17:24:13 ]
- >>497
すみません。 こちら側のミスでエラではなく警告のみでした。 vowel.c: 警告 W8057 vowel.c 68: パラメータ 'argc' は一度も使用されない(関数 main ) 警告 W8057 vowel.c 68: パラメータ 'argv' は一度も使用されない(関数 main )
- 500 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 17:35:10 ]
- >>499
int main (int argc, char* argv[]) を int main () もしくは int main(void) に書き換えてみてください。
- 501 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 17:58:32 ]
- >>500
int main()に書き換えたらコンパイル出来ました! for文苦手なので本当に助かりました。 ありがとうございました!!
- 502 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 18:16:02 ]
- [1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク): 入力された2つの文字列str1,str2を比較し、str1にstr2の文字列が含まれている場合に1を、含まれていない場合に-1を返す関数、strcmpを作成せよ。 int strcmp( char *str1, char *str2); ex. str1=”abaabab” , str2=”aab” 1 ex. str1=”abaabab” , str2=”abb” -1 [3] 環境 [3.1] OS:XP [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 出来れば今日中に。急ぎで申し訳ありません。 #include<stdio.h> #include<string.h> #define LENGTH 10 int strcmp(char *sp1,char *sp2); int main(){ char str1[LENGTH+1]; char str2[LENGTH+1]; printf("aとbを使って10文字入力してください。\n"); scanf("%s",str1); printf("aとbを使って2文字入力してください。\n"); scanf("%s",str2); printf(結果) strcmp(&str1[0],&str2[0]); ここまで作ったのですが(中途半端ですみません)関数に行き詰まり、ネットで調べたところ本来のstrcmpの使い方とこの課題で求められているstrcmpの使い方が異なることが分かりどうすればいいのか混乱してしまいました。 この後、関数strcmpを使い、str1とstr2を比較して・・・をどうのようにすれば良いでしょうか?
- 503 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 19:23:30 ]
- >>502
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10500.c これでいいかな。 「strcmp」という名前で関数を定義できなかたので、別名をつけています。 > ネットで調べたところ本来のstrcmpの使い方とこの課題で求められている > strcmpの使い方が異なることが分かりどうすればいいのか混乱してしまいました。 その通り。 標準関数のstrcmpは、二つの文字列が一致しているか判定する関数。 課題の出し方が悪いと思う。 (あるいは学生をあえて混乱させようとしているのか・・・)
- 504 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 19:47:32 ]
- strstrだよね
- 505 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 20:54:35 ]
- strstrでググったら実装がすぐ見つかっちゃうからじゃないの
strcmpと被せたのは<string.h>使わせないためとか
- 506 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 21:00:09 ]
- それ以前に今日中という期限設定は常識を疑いたいもの
- 507 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 21:02:59 ]
- #include<string.h>をはずして関数名strcmpにしてなんとか形になりました。
>>503さん、本当にありがとうございました。 またこのスレにお世話になってしまうかもしれませんが宜しくお願いします。
- 508 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 21:20:25 ]
- 1] 授業単元:プログラミング演習
[2] 問題文:次のプログラムを改造し、定積分の面積を求めるプログラムにせよ [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:無期限 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10501.txt お願いします
- 509 名前: ◆QZaw55cn4c mailto:sage [2010/02/07(日) 21:49:54 ]
- >>456
ちょっと皆さんにご意見をお聞きしたいところです。 二分木で番兵(sentinel) をおく意義がわからない、どんなsentinel をおけばいいかわからないのですが、 どうすればいいのでしょうか。 sentinel をおくことで if 文が減らなければならない、と考えているのですが。
- 510 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 21:50:58 ]
- ameblo.jp/ruhuraro/image-10357111023-10267569832.html
ここで解説出てるよ
- 511 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 22:02:39 ]
- >>510
真に受けた俺が悪うございました。
|

|