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/
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 だ。
629 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 01:06:18 ] >>625 お前は何を言ってるんだ?
630 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 01:06:27 ] b = (b & 0xFFDB) & b;
631 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 01:07:33 ] >>625 残念ながらそのような手法では配列を動的には確保出来ませんよ
632 名前:デフォルトの名無しさん [2008/06/05(木) 01:18:43 ] .;;;;彡彡ミミ;;; .;;;;彡彡ミミ;;; ;;;;彡彡ミミミ;;; ;;;;彡彡ミミミ;;; ;;;;;;彡彡ミミミ;;;;; ;;;;彡ミ彡ミミミミ;;; ;;;彡ミ彡;;人;;;ミ彡ミ;;; ;;;彡ミ彡ノ ヽ;ミ彡ミ;;; ;;;彡ミ;;;;ノ.人 ヽ;彡ミ;;; ;;;彡ミ;;;ノ | ..| ;ヽ彡ミ;;; ;;;彡ミ;;ノ .| | ヽ彡ミ;;; ;;;彡ミ;ヽ |.・.| /彡ミ;;; ;;;彡ミ;;ヽ| .| /;;彡ミ;;; .;;;;;;;ミ;;;ヽ|( )|./ミ彡;;;; ..;;;彡;;;;ヽ| .|/;;;ミ;;; ..;;;;.彡;|.|;;ミ;;;;;.... ;;;;;彡;彡|;;ミミミ;;;; ;;彡彡彡*ミミミミ;; マンコ ;;;;彡彡ミミミ;;; ;;彡彡ミミミ;;;
633 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 01:47:07 ] [1] 授業単元: C言語演習V [2] 問題文(含コード&リンク): 九九の表を1次元配列と配列を引数とする関数を用いて作成せよ。 ・作成要項 main関数内で用いる配列は演算結果を格納するab[81]と九九の各段を一時的に格納する a[9]のみとし(呼び出す関数側ではどのような配列を宣言してもよい)、関数に格納用 配列と段数を渡してひとつの段ごとに計算させる。 ひとつの段の計算結果が関数から戻されるごとに返ってきた値を配列abに格納しなおし 全部の段の計算が終わったあとで一括して表示させること(グローバル変数は使わないこと) (プログラム例) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6795.txt [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: cygwin gcc [3.3] 言語: C言語 [4] 期限:本日 6/5 PM1時までにお願いします。 [5] その他の制限:グローバル変数の使用は不可、配列の使用が前提です。 今日は徹夜で宿題をやっているので、オールナイトで待っています。よろしくお願いします。
634 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 02:00:39 ] >>625 宿題レベルなら固定で int a[8][8]; ってしときー
635 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 02:03:20 ] >>634 兄さんそれ99やない
636 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 02:06:35 ] >>633 #include<stdio.h> void kuku(int [], int ); int main(void) { int i,j; int a[9],ab[81]; for(i=0;i<9;i++){ kuku(a,i); for(j=0;j<9;j++){ ab[i*9+j] = a[j]; } } for(i=0;i<9;i++){ for(j=0;j<9;j++){ printf(" %2d", ab[i*9+j]); } printf("\n"); } return 0; } void kuku(int a[], int rank) { int i; for(i=0;i<9;i++){ a[i] = (rank+1) * (i+1); } }
637 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 02:17:59 ] >>634 パパーパパー
638 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 02:26:32 ] >>636 ありがとうございます。 これで少しは眠れそうです。
639 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 10:00:15 ] すみません >>622 氏のところのをやってみたのですが 下記のエラーが出てしまいまして $ gcc.exe memosp.c memosp.c: In function `main': memosp.c:60: warning: passing arg 1 of `input' from incompatible pointer type memosp.c:62: warning: passing arg 1 of `check' from incompatible pointer type memosp.c:63: warning: passing arg 1 of `show' from incompatible pointer type memosp.c:70: warning: passing arg 1 of `show' from incompatible pointer type どこを直せばいいんでしょうか・・・ アドバイスよろしくお願いします><
640 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 10:22:54 ] >>639 gccはよくわからんけど、xcodeで試したらcheckをcheck2とか適当な名前に変更すればコンパイルはした
641 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 10:35:01 ] >>639 とりあえず const int b[][BOARD_SIZE] を int b[][BOARD_SIZE] にすれば警告は消える でも、なんで警告が出るんだろう?
642 名前: ◆DuoCt8/SKk [2008/06/05(木) 12:43:10 ] >>604-605 ありがとうございます. 今日が締切なので,引き続き>>592 をお願いしたいのですが・・・ よろしくお願いします!
643 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 12:50:43 ] >>635 アンカーの先をよく見るんだ弟よ
644 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 13:31:02 ] >>641 > >>639 以下はtccの場合。 :60: cannot cast 'int **' to 'const int **' constを付けると、コンパイラはconst領域に変数等を割り当てようとするが、今回のように 書きかえ可の領域 ---> 書きかえ不可の領域へのキャスト指示はプログラムミスと見なされる。
645 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 13:34:22 ] >>644 続き。 const領域を書きかえようとした場合のエラー。 #include<stdio.h> int main(){ const int a=3; a=2; } :4: error: assignment of read-only variable ‘a’
646 名前:ロベ [2008/06/05(木) 13:49:11 ] [1] 授業単元:プログラミング [2] 問題文:BMPファイルの情報(画像サイズ、色数等)を表示する BMPファイルの画像を上下・左右反転させる BMPファイルの画像を回転(90、180、270度)させる BMPファイルのカラー画像をグレースケール化するプログラムの作成 輝度を変換する式は、下記の式を使用すること Y=0.298912*R+0.586611*G+0.114478*B ※BMPファイルにはWindows形式とOS/2形式があります。どちらにも正しく対応できるように。 ※入力ファイル名は、プログラム実行後に聞いてくるものとします。 ※出力ファイル名は、プログラム実行後に聞いてくるものとします。 ※反転・回転方法の指示は、プログラム実行後に聞いてくるものとします。 ※ソースには必ずコメントを書いて下さい。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:Borland C++ 5.5.1 for Win32 [3.3] 言語:C [4] 期限:6月5日 0:00 [5] その他の制限:無し よろしくおねがいします
647 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 14:15:52 ] >>644-645 嘘を教えるなよ。。。
648 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 14:22:25 ] constがどこにかかってるかを考えれば、なんとなくわかるぞ
649 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 14:50:50 ] [1] 授業単元:C言語 [2] 問題文: int 型の2つの数をキーボードから読み込んで, それらの3乗の和を出力するプログラムを作成せよ。 ただし,2つの数の3乗の和を計算する部分は, 関数 int cubesum(int x, int y) を作成してそれを使え。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2008年6月9日 [5] その他の制限:
650 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 15:04:16 ] int cubesum(int x, int y) { return x*x*x + y*y*y; }
651 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 18:07:23 ] #include <stdio.h> int cubesum(int x, int y) { return x*x*x + y*y*y; } int main() { int a, b; printf("2つの整数を入れてください:"); scanf("%d %d", &a, &b); printf("%d^3 + %d^3 = %d\n", a, b, cubesum(a, b)); return 0; }
652 名前:デフォルトの名無しさん [2008/06/05(木) 19:31:10 ] .;;;;彡彡ミミ;;; ;;;;彡彡ミミミ;;; ;;;;彡彡ミミミ;;; ;;;;;;彡彡ミミミ;;;;; ;;;;彡ミ彡ミミミミ;;; ;;;彡ミ彡;;人;;;ミ彡ミ;;; ;;;彡ミ彡ノ ヽ;ミ彡ミ;;; ;;;彡ミ;;;;ノ.人 ヽ;彡ミ;;; ;;;彡ミ;;;ノ | ..| ;ヽ彡ミ;;; ;;;彡ミ;;ノ .| | ヽ彡ミ;;; ;;;彡ミ;ヽ |.・.| /彡ミ;;; ;;;彡ミ;;ヽ| .| /;;彡ミ;;; .;;;;;;;ミ;;;ヽ|( )|./ミ彡;;;; ..;;;彡;;;;ヽ| .|/;;;ミ;;; ..;;;;.彡;|.|;;ミ;;;;;.... ;;;;;彡;彡|;;ミミミ;;;; ;;彡彡彡*ミミミミ;; マンコ ;;;;彡彡ミミミ;;; ;;彡彡ミミミ;;;