1 名前:デフォルトの名無しさん [2009/06/24(水) 23:28:21 BE:454421568-DIA(282072)] あなたが解けない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++の宿題片付けます 127代目 pc12.2ch.net/test/read.cgi/tech/1244449887/
798 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 22:15:37 ] >>797 #include <stdio.h> int main() { int x1,y1,x2,y2,x3,y3; printf("x1>"); scanf("%d", &x1); printf("y1>"); scanf("%d", &y1); printf("x2>"); scanf("%d", &x2); printf("y2>"); scanf("%d", &y2); printf("x3>"); scanf("%d", &x3); printf("y3>"); scanf("%d", &y3); if ((x3 - x1) * (y2 - y1) == (x2 - x1) * (y3 - y1)) printf("同一直線上にあります\n"); else printf("同一直線上にありません\n"); return 0; }
799 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 22:26:35 ] [1]C言語中級 [2] int bitmap[640][480]はビットマップ画像の画素を表すものとする。 指定された点x,yを含む指定された境界色C2で囲まれた平面領域を 指定された色C1で塗りつぶす関数 paint(int x,int y,int c1,int c2)を作成 [3] linux/gcc/C言語 ☆再帰(間接を含む)を使ってはならない。 ☆十分な速度が必要( 基準PC(PCセンター端末 Cerelon 800MHz)で100回/秒以上) ☆三角形、四角形、円、楕円、放物線で囲まれた領域、それぞれ5つのケース について実行前のbitmapと実行後の配列をバイナリファイルとして triangle.pre.bitmap triangle.post.bitmap rectangle.pre.bitmap rectangle.post.bitmap circle.pre.bitmap circle.post.bitmap ellipse.pre.bitmap ellipse.post.bitmap parabora.pre.bitmap parabora.post.bitmap という名称で保存したものとソースコード、これをコンパイルしたものを work20090717.xxxxxx.zipという形式でzip圧縮したものをメール添付 (xxxxxxは学籍番号下6桁) [4] 7/17 正午まで
800 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 22:26:48 ] >>798 ありがとうございます!できました
801 名前:デフォルトの名無しさん [2009/07/09(木) 04:59:49 ] [1] 授業単元: コンピュータネットワーク [2] 問題文(含コード&リンク):(課題) Dijkstra法のプログラムを完成せよ。 (Dijkstraのアルゴリズムの擬似コード) #include <stdio.h> #define M 8 //ノードの数 #define Z 300 //無限大 int c[M][M] = { 0, Z, Z, Z, Z, Z, 7, 2},{ Z, 0, 8, 7, Z, Z, Z, 1},{ Z, 8, 0, Z, Z, Z, Z,10},{ Z, 7, Z, 0,10, 3, Z, Z},{ Z, Z, Z,10, 0, 8, Z, 5}, { Z, Z, Z, 3, 8, 0, 2, Z}, { 7, Z, Z, Z, Z, 2, 0, 9}, { 2, 1,10, Z, 5, Z, 9, 0}; //隣接行列 int main(void){ int start; //ソースのノード int d[M]; //ノードまでのコスト int v[M]; //確定フラグ int p[M]; //前のノードへのポインタ printf("start\n"); scanf("%d",&a);//ソースノードstartを指定する for (j=0; j<M; j++){ //最小コストのノードを探す、最小コストのノードを確定する for(k=0; k<M; j++){ //wを経由してkにいたるコストがそれまでの最短路のコストより小さければd(k)を更新 } } //ソースノードから各ノードへの最小コストと最短路を表示する } [3] 環境 [3.1] OS: Windows [3.3] 言語: C++ [4] 期限: 2009年7月9日16:00まで [5] その他の制限:なし 488です。焦りすぎて規約を読まずに投稿してしまいました。すみません。 期限ギリギリなのですがお力を貸していただけると嬉しいです。よろしくお願いします。
802 名前:784 mailto:sage [2009/07/09(木) 09:35:23 ] 784です。 一晩やってみたのですが、結局まったく出来ずに朝を迎えてしまいました・・・orz どなたか、どうかお願いします。
803 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 09:56:18 ] >>802 少し簡単にしてみた char* getword(FILE* f){ char buffer[MAXSIZE]={0}, firstchar[10]={0}; fscanf(f, "%*[^a-zA-Z]"); if(fscanf(f, "%1[a-zA-Z]%1022[0-9a-zA-Z]", firstchar, buffer+1)>=1){ buffer[0]=firstchar[0]; return strdup(buffer); } return NULL; }
804 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 10:47:17 ] [1] 授業単元:確率論 [2] 問題文(含コード&リンク): ・正規乱数の発生 (ボックスミュラー法) ボックス・ミュラー法により,区間[0, 1) の一様乱数から標準正規分布N(0, 1) に従う 正規乱数を100,000 個発生し,そのデータから得られる以下の各項目を報告せよ。 なお、一様乱数の生成は合同式法を用い,また正規乱数の生成はBox-Muller 法 を用いて,いずれもC言語プログラムで実現すること.(既存のRAND関数などを用いてはならない) 1. 正規乱数の平均値. 2. 正規乱数の標準偏差. 3. 正規乱数のヒストグラム.区間[-5, 5] を100 分割したものとする. (ヒストグラムはhistgram[100]の様に宣言し、100個それぞれの出現個数を足していったものです) [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: ([2009年7月10日12:00まで] [5] その他の制限: 既存のRAND関数使用不可 先日>>251 で教えていただいた中心極限定理を書き換えて作成していたのですが、 上手くできませんでした。 宜しくお願いします。
805 名前:デフォルトの名無しさん [2009/07/09(木) 11:53:21 ] >>804 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9712.txt RAND_MAXがダメだって話だったから、INT_MAXに書き換えておいた。
806 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 12:19:34 ] [1] 授業単元: 情報処理 [2] 問題文(含コード&リンク): 二つの複素数 α、βの実数部、虚数部の値(実数)をそれぞれ入力し、 α/β (αをβで割った商)を求めて表示せよ。(表示方法は複素数らしくなるよ うに工夫せよ。) ただし、複素数を、実数部と虚数部に対応するメンバで構成される構造体 として表し、複素数の除算用関数c_div()を作成して、これを利用すること。 この関数は、sとtを複素数を表す構造体としたとき、c_div(s,t)と呼び出 すと、戻り値としてsをtで除算した結果である複素数の構造体を返すものと する。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: c++Builder [3.3] 言語: C [4] 期限: 2009年7月10日12:00まで [5] その他の制限: なし お願いします。
807 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 12:28:34 ] >>806 あれ?デジャブ・・・
808 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 13:28:30 ] >>802 こんなんでいいかい? kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9713.zip
809 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 14:29:10 ] >>801 もう見てないかも試練がクソース kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9714.c
810 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 14:46:45 ] >>805 ありがとうございました。
811 名前:デフォルトの名無しさん [2009/07/09(木) 14:52:22 ] >>809 ありがとうございました。 助かりました!
812 名前:デフォルトの名無しさん [2009/07/09(木) 14:58:07 ] [1] 授業単元:C言語で簡単なゲーム [2] 4目並べの勝ち負け判定 [3] 環境 [3.1] OS: UNIX [3.2] gcc [3.3] cのみ [4] 期限: 7/9 18:00 [5] その他の制限:できるだけ簡単な作りにしていただきたいです。中高生なみの。 お願いします。
813 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 15:08:12 ] >>812 4目並べにもいろいろあるぞ。重力の有無、盤面サイズ、その他もろもろを教えれ
814 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 15:19:41 ] >>806 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9716.txt 思いっきりデジャブだけど、その時に作ったソースがそのまま 残っているのでそのままうpした
815 名前:784 mailto:sage [2009/07/09(木) 15:23:16 ] >808 すいません、今見に来ました。 何とか今日の夜まで猶予をもらったので、 もう一度zip落とさせてもらえないでしょうか。 落としてみたら、ファイルが無かったようなので・・・。
816 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 15:24:11 ] >>815 今やってみたら普通に落とせたけど?
817 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 15:24:37 ] >>815 まだ残ってるぞ
818 名前:784 mailto:sage [2009/07/09(木) 15:30:02 ] すいません、今もう一度やってみたらできました!! >>816 >>817 失礼しました。 >>784 本当にありがとうございました!大感謝です。 これで単位がもらえる・・・ 皆様、ありがとうございました。
819 名前:784 mailto:sage [2009/07/09(木) 15:31:08 ] 興奮して間違えたorz 改めて >>808 ありがとうございました!
820 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 16:18:20 ] お願いします。 [1] 授業単元: 論理設計 [2] 問題文: 3入力のクワイン・マクラスキー法のプログラムを作成せよ [3] 環境 特に無し(紙に書いて提出) 言語:C++ [4] 期限:07月13日(月)まで [5] その他の制限:特にないです。
821 名前:812 [2009/07/09(木) 17:07:41 ] 812での追記 4目並べ 重力は無しです、盤面サイズは10×10。 駒黒1 駒白−1 っと設定しています。これで、作っていただきたいです。
822 名前:デフォルトの名無しさん [2009/07/09(木) 17:34:59 ] 何人かの学生の3教科(数学、国語、英語)の得点を2次元配列を用いて処理するプログラムを作る。 (1)科目別の最高点、最低点を表示する。 (2)各学生の3教科の平均点を表示する。 (3)各教科の平均点を表示する。 ただし Ctrl+zが押されるまで次々と整数値を読み込んでいくものとする。 以上の問題お願いします m(__)m
823 名前:デフォルトの名無しさん [2009/07/09(木) 17:49:24 ] >>812 >>449 のプログラムを流用で kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9717.txt
824 名前:デフォルトの名無しさん [2009/07/09(木) 18:32:51 ] >>822 質問テンプレ忘れてました。 [1] 単元:プログラミング工学1 [2] 問題文:下記にあります。 [3] 環境 :Windows [3.3] 言語: C++ [4] 期限:あと40分位でお願いします。 何人かの学生の3教科(数学、国語、英語)の得点を2次元配列を用いて処理するプログラムを作る。 (1)科目別の最高点、最低点を表示する。 (2)各学生の3教科の平均点を表示する。 (3)各教科の平均点を表示する。 ただし Ctrl+zが押されるまで次々と整数値を読み込んでいくものとする。 以上の問題お願いします m(__)m
825 名前:デフォルトの名無しさん [2009/07/09(木) 19:20:54 ] 〔1〕授業単元:C言語 〔2〕問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9718.txt 〔3〕環境 [3.1] OS: Windows [3.3] 言語: C言語 〔4〕期限:7月10日 18時 〔5〕コマンド引数、再帰呼び出しまで習いました よろしくお願いします
826 名前:デフォルトの名無しさん [2009/07/09(木) 20:13:56 ] 1] 授業単元: 宿題 [2] 問題文(含コード&リンク): 整数を入力し、奇数か偶数かを判断するプログラム(switch文で [3] 環境 [3.1] OS: (Windows/Linux/等々) XP [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) borland [3.3] 言語: (C/C++/どちらでも可 のいずれか) [4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) 明日まで [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
827 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 20:41:18 ] [1] 授業単元:オペレーティングシステムT [2] 問題文(含コード&リンク):exp7.cのプログラムを応用し、コマンドの引数xxxxで指定したファイルが更新されたら直ちに "Modified xxxxfile on Day Month date hh:mm:ss yyyy" というメッセージを表示するプログラム(ファイル更新を監視する常駐プログラム)を作成せよ。常駐プログラム(バックグランドで起 動され一般に広義のデーモンと呼ばれる)は、kill pid コマンドが入力されるまで、動き続けるように作成すること。 exp7.cは kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9720.txt [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C言語 [4] 期限: 09年7月13日正午 [5] その他の制限: プログラミング能力を問う科目でないため、特に制限はありません。 ですが、添付したソースに適したレベルでお願いします。 <実行結果> $ gcc -o exp8 exp8.c $ exp8 exp8 & $ ps PID TTY TIME CMD 3028 pts/1 00:00:00 bash 3073pts/1 00:00:00 exp8 3074 pts/1 00:00:00 ps $ touch exp8 $ Modified exp8 file on Sun May 25 14:20:26 2008 touch exp8 $ Modified exp8 file on Sun May 25 14:20:26 2008 kill 3073 $
828 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 21:19:28 ] >>827 #include <stdio.h> #include <unistd.h> #include <sys/stat.h> int main(int argc, char **argv) { char *file_name = argv[1]; struct stat sb; time_t old_mtime; stat(file_name, &sb); old_mtime = sb.st_mtime; while (1) { usleep(500000); stat(file_name, &sb); if (old_mtime != sb.st_mtime) { printf("'%s'が書き換えられた!%s", file_name, ctime(&sb.st_mtime)); old_mtime = sb.st_mtime; } } }
829 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 21:46:36 ] >>826 switch文で判定するとか問題がカス過ぎるだろ #include <stdio.h> int main(){ int n; printf("input number > "); scanf("%d",&n); switch(n){ default: printf("%s",n&1 ? "odd" : "even"); } return 0; }
830 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 21:51:11 ] #include <stdio.h> int main(){ int n; printf("input number > ");scanf("%d",&n); switch(n%2){ case 0: printf("even¥n");break; case 1: printf("odd¥n");break; default: printf("Bug of processor??¥n");break; } return 0; } としたらBug of processorと表示されることは内と言える?
831 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 22:07:22 ] >>829 ひどい奴だなwww もっとこう出題者の意向をくんでやれよ。いいよ俺が答えてやる >>826 #include <stdio.h> int main(){ int n; printf("input number > "); scanf("%d",&n); switch(n){ case 0: case 2: printf("偶数です!\n"); break; case 1: case 3: printf("奇数です!\n"); break; default: printf("わかりません!\n"); break; } return 0; }
832 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 22:32:39 ] >>831 「わかりません」ってなんだよ >>826 下のプログラムを実行したら、ちゃんとintの範囲なら全部判定できるプログラムができるからやってみなw #include <stdio.h> #include <limits.h> int main(){ int i; printf("#include <stdio.h>\n" "int main(){\n" "\tint n;\n" "\tprintf(\"input number > \");\n" "\tscanf(\"%%d\",&n);\n" "\tswitch(n){\n" "\tcase %d:\n", INT_MIN); for(i = INT_MIN + 2; i > INT_MIN + 1; i+=2) printf("\tcase %d:\n", i); printf("\t\tprintf(\"%sです!\\n\");\n\tbreak;\n\tcase %d\n", INT_MIN % 2 ? "奇数" : "偶数", INT_MIN+1); for(i = INT_MIN + 3; i > INT_MIN + 1; i+=2) printf("\tcase %d:\n", i); printf("\t\tprintf(\"%sです!\\n\");\n\tbreak;\n", INT_MIN % 2 ? "偶数" : "奇数"); printf("\t}\n" "\treturn 0;\n" "}\n"); return 0; }
833 名前:832 mailto:sage [2009/07/09(木) 22:41:20 ] わりぃ、1箇所ばぐっとった printf("\t\tprintf(\"%sです!\\n\");\n\tbreak;\n\tcase %d\n", INT_MIN % 2 ? "奇数" : "偶数", INT_MIN+1); ↓ printf("\t\tprintf(\"%sです!\\n\");\n\tbreak;\n\tcase %d:\n", INT_MIN % 2 ? "奇数" : "偶数", INT_MIN+1); これで完璧。 期限までに間に合わんかったらごめんな。
834 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 22:48:06 ] 2009/7/9 24:00 締め切り埋め祭り >>830 &yen;以外で文字化け #include <stdio.h> int main(){ int n; printf("input number > "); scanf("%d",&n); switch( (n&1) == 0 ) { // 最下位ビットは0か case 0: printf("奇数です!\n"); break; // いいえ case 1: printf("偶数です!\n"); break; // はい } switch( (n&1) != 0) { // 最下位ビットは1か case 0: printf("偶数です!\n"); break; // いいえ case 1: printf("奇数です!\n"); break; // はい } return 0; }
835 名前:デフォルトの名無しさん [2009/07/09(木) 22:49:40 ] パスカルの三角形を出力するのに #include <stdio.h> #define N 10 int main(void){ int i, j = 1, x, y; int d[N][N]={}; /* 三角形を作成 */ for (i = 1 ; i < N ; i++){ d[i][0] = 1; while (j <= i - 1){ d[i][j] = d[i-1][j-1] + d[i-1][j]; j ++; } } /* 三角形の表示 */ for (y = 0; y < N; y++) { for (x = 0; x < N-y; x++) printf(" "); for (x = 0; x < y; x++) printf("%3d ", d[x][y]); printf("\n"); } return 0; } と書きましたが、すべての要素がゼロになってしまいます。 どこがまちがっているのでしょうか??
836 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 22:58:02 ] >>835 while文の前にj=1の初期化が抜けてる 表示部分でd[x][y]のxとyが逆
837 名前:836 mailto:sage [2009/07/09(木) 23:01:01 ] >>835 おま、Cなら俺に聞けスレとのマルチポストじゃねえか! しかもあっちで答もらってんじゃんよ! >>836 は取り消す。答えなかったことにする
838 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 23:02:35 ] やっぱテンプレ守れんやつは 守れんやつだけのことはあるってことか ご愁傷様
839 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 23:06:16 ] >>835 マルチポスト乙。 マルチポスト - Wikipedia ttp://ja.wikipedia.org/wiki/%E3%83%9E%E3%83%AB%E3%83%81%E3%83%9D%E3%82%B9%E3%83%88
840 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 23:07:56 ] >>830 CPUにバグなんてあるわけないだろ プログラムが仕込まれているわけでもあるまいし
841 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 23:09:11 ] >>840 CPUの場合はバグとはいわずエラッタという言葉で予定してない動きをさすのはあるよ インテルとかAMDもたまにやらかしてる
842 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 23:09:16 ] いやいやwww
843 名前:842 mailto:sage [2009/07/09(木) 23:10:15 ] >>842 は>>840 にっすよ念のため
844 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 23:34:09 ] >>835 別のスレに回答しておいた。 出力結果のサンプルはこんな感じ。 1 1 1 1 2 1 1 3 3 1
845 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 23:36:07 ] ・3・3・3・3・3・3・)v
846 名前:842 mailto:sage [2009/07/09(木) 23:39:12 ] ネタにマジレスして恥ずかしいので軽く吊ってくる
847 名前:デフォルトの名無しさん [2009/07/09(木) 23:43:14 ] デフォルトの名無しさん:2009/07/09(木) 20:13:56 1] 授業単元: アルゴリズム [2] 問題文(含コード&リンク): LLLアルゴリズムをCでプログラミング [3] 環境 [3.1] OS: (Windows/Linux/等々) Linux [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) gcc [3.3] 言語: C言語 [4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) 2009年7月17日 [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) Webや本を見ているのですが、 二次行列で書いてあったり一次行列で書いてあったりしてよく分かりません。 よろしくお願いします
848 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 00:19:21 ] [1] 授業単元:C++ [2] 問題文(含コード&リンク):日曜日から土曜日までの曜日を表す列挙型Dayが定義されている.このとき,2つの曜日を引数として与えると,その曜日間の最短距離を計測する関数day_distanceを作成せよ. [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:C++ [3.3] 言語: C++ [4] 期限: 2009年7月10日午前9時半 なので午前5時ぐらいまでにやっていただければ・・・ [5] その他の制限: 関数distanceの呼び出しは↓ #include <iostream> using namespace std; enum Day{Sun, Mon, Tue, Wed, Thu, Fri, Sat}; int main(){ cout << day_distance(Sun, Tue) << endl;//2が出力される cout << day_distance(Mon, Fri) << endl;//3が出力される cout << day_distance(Sun, Sat) << endl;//1が出力される return 0; } 以下,続きへ
849 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 00:21:47 ] >>848 の続きです #include <iostream> using namespace std; enum Day{Sun, Mon, Tue, Wed, Thu, Fri, Sat};//曜日を表す列挙型の定義 void day_load(Day a, Day b){ if(a<b){ Day temp; temp=a,a=b,b=temp;} switch(a-b){ case 1: cout << "1" << endl; break; case 2: cout << "2" << endl; break; case 3: cout << "3" << endl; break; } } int main(){ cout << day_distance(Sun, Tue) << endl;//2が出力される cout << day_distance(Mon, Fri) << endl;//3が出力される cout << day_distance(Sun, Sat) << endl;//1が出力される return 0; } のように作ったら,day_distanceが宣言されないと言われます どうすればいいでしょうか?
850 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 00:25:35 ] day_loadじゃないの?
851 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 00:27:35 ] voidの横をday_distanceにすると,voidとcoutの3つにエラーが出てしまいます ちなみにEclipseでやってます
852 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 00:38:58 ] >>849 cout << day_distance(Sun, Tue) << endl;//2が出力される cout << day_distance(Mon, Fri) << endl;//3が出力される cout << day_distance(Sun, Sat) << endl;//1が出力される を day_load(Sun, Tue); day_load(Mon, Fri); day_load(Sun, Sat); に変える
853 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 00:40:17 ] とりあえず答えだけ。いろいろアレ過ぎるんで、ネットじゃなくリアルで指導してもらった方が良い。 int day_distance(Day a, Day b){ return a > b ? a - b > 7 - a + b ? 7 - a + b : a - b : b - a > 7 - b + a ? 7 - b + a : b - a; }
854 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 00:42:05 ] >>849 >のように作ったら,day_distanceが宣言されないと言われます >どうすればいいでしょうか? day_distanceを宣言する #include <iostream> #include <cmath> using namespace std; enum Day{Sun, Mon, Tue, Wed, Thu, Fri, Sat}; int day_distance(Day d1,Day d2){ int table[]={0,1,2,3,3,2,1};//,{1,0,1,2,3,3,2}, return table[abs(d2-(d1-Sun))%7]; } int main(){ cout << day_distance(Sun, Tue) << endl;//2が出力される cout << day_distance(Mon, Fri) << endl;//3が出力される cout << day_distance(Sun, Sat) << endl;//1が出力される return 0; } そのswitch-case
855 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 00:43:17 ] は汎用性無いからやめた方がいい 途中で書き込んでしまったorz
856 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 00:47:39 ] >>854 すみません,includeの<cmath>って何でしょうか・・・? <iostream>しか使ったこと無いので・・・
857 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 01:09:13 ] math.hのC++版。数学関連の関数を使うために入れてる。ここではabs
858 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 01:10:36 ] 追記 iostreamをなぜ使っているかを理解してれば、そのような疑問は出てこないと思うんだけどね。 おまじないの犠牲者じゃないことを祈る。
859 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 01:25:55 ] >>857 すみません,習ってないので分からないです・・・ もしswitchでやる場合は,どこをいじればいいでしょうか?
860 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 01:30:25 ] >>857 だけど、>>854 は別人ね。 iostreamは習ったから使ってるという認識でいいのかな。 何のためにiostream使ってるの?
861 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 01:33:10 ] >>860 すみません、恥ずかしながら分からないです・・・ ただ「プログラミング演習」という授業で、プリントなどに最初からinclude<iostream>と書いていたので・・・
862 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 01:34:23 ] 問題点1 ・day_load関数を定義した ・day_distance関数を呼び出した という名前の矛盾 問題点2 day_(load|distance)関数の戻り値がvoidであるにも関わらず、 main関数で cout に放り込んでしまっていること switchがどうとかよりも、根本的な問題点はここなので、 そこを解決すればとりあえずは動くようになると思うし、 これまで通りロジックを考えることに専念できると思う
863 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 01:39:40 ] #include <iostream> using namespace std; enum Day{Sun, Mon, Tue, Wed, Thu, Fri, Sat} と int main(){ cout << day_distance(Sun, Tue) << endl;//2が出力される cout << day_distance(Mon, Fri) << endl;//3が出力される cout << day_distance(Sun, Sat) << endl;//1が出力される return 0; } は最初から問題で定義されているので,この状況でswitchを使う場合はどうすればいいでしょうか?
864 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 01:40:03 ] 問題点1について>>850 が解決方法を提案し >>851 で問題点1を解決した結果、問題点2が表面化した。 >>852 は問題点2の解決方法を提案してくれたが>>849 はそれを無視している。 問題解決は目前であるにも関わらず、全く別の解決方法である>>854 に目を向けて cmathがなんであるかなどと悩んでいる。
865 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 01:42:21 ] day_distance関数が数値を返すようにすればいい。
866 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 01:44:41 ] >>864 あ、すみません coutの3つをday_loadに変更してもエラーが発生したもので・・・ >>865 すみません、分かりません・・・ 本当に無知で申し訳ないです・・・
867 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 01:53:15 ] >>866 int day_distance(Day a, Day b){ // 戻り値をintに変えた 中略 case 1: return 1; // コンソール出力をするのではなく、数値を返却するように変えた case 2: return 2; // コンソール出力をするのではなく、数値を返却するように変えた case 3: return 3; // コンソール出力をするのではなく、数値を返却するように変えた } return -1; // どれにも当てはまらない場合は不正とみなして-1を返却するようにした } そもそも、main関数の記述が指定されている以上、>>852 の提案をはねつけるべき。
868 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 01:59:25 ] >>867 共に3と1が出力されるはずの2行目と3行目で-1が出力されてしまいます・・・
869 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 02:02:05 ] >>848 >>849 に質問があるけど >>859 switchを使うのは必須なの? 題意を満たすプログラムの制約をちゃんと示さないと無駄な回答が増えるだろ >>868 よくわかんないけど今まで言ってた条件満たしたプログラム書いてやるから待ってろ
870 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 02:03:38 ] >>868 それはあなたがこだわっていたswitchのロジックがおかしいだけ。 >>862 の、 > これまで通りロジックを考えることに専念できると思う はそれを指しているんじゃないの。
871 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 02:04:55 ] >>869 作ってくれなんて言われてないのに親切なお方
872 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 02:05:12 ] >>869 学校で友人に聞いたプログラミングの中にswitchが入っていたのですが、時間の都合上途中までしか聞けなかったもので・・・
873 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 02:08:25 ] #include <iostream> using namespace std; enum Day{Sun, Mon, Tue, Wed, Thu, Fri, Sat}; int day_distance(Day d1,Day d2){ int table[]={0,1,2,3,3,2,1};//,{1,0,1,2,3,3,2}, int distance=d2-(d1-Sun); distance=(distance<0)?-distance:distance; return table[distance%7]; } int main(){ cout << day_distance(Sun, Tue) << endl;//2が出力される cout << day_distance(Mon, Fri) << endl;//3が出力される cout << day_distance(Sun, Sat) << endl;//1が出力される return 0; }
874 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 02:13:25 ] >>873 ありがとうございます! ちゃんと出力されました! 他の皆さんも多大な迷惑をかけて申し訳ないです・・・
875 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 02:24:10 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): 文字列xに文字列yが含まれるかどうかを判定する関数str_comp(char[],char[])を作成せよ. 出力例: 文字列x(64字まで)? University 文字列y(64字まで)? sity "University"に"sity"は含まれます。 文字列x(64字まで)? University 文字列y(64字まで)? city "University"に"city"は含まれません。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限: 7/17 [5] その他の制限:文字列まで. お願いします
876 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 02:36:23 ] >>875 /* 含まれる場合は1 含まれない場合は0を返却 */ int str_comp(char src[],char dst[]) { return (strstr(src, dst) != NULL); }
877 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 02:38:31 ] 変数名がおかしすぎた。 /* 含まれる場合は1 含まれない場合は0を返却 */ int str_comp(char target[],char search[]) { return (strstr(target, search) != NULL); }
878 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 03:13:47 ] [1] 授業単元:プログラミング言語 [2] 問題文(含コード&リンク): char型配列xに格納された文字列を一文字ごとに空白を開けて逆順に出力する関数 reverse_array(char[])を以下のように出力されるよう作成せよ。 処理前:Tokyo 関数reverse_array()を呼び出しました 処理後:"o y k o T" [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限: 7/14 [5] その他の制限:おねがいします。
879 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 03:49:22 ] >>878 void reverse_array(char s[]) { int i, len = strlen(s); printf("処理前:%s\n", s); puts("関数reverse_array()を呼び出しました"); printf("処理後:\""); for(i=len-1; i>=0; --i){ putchar(s[i]); if(i) putchar(' '); } puts("\""); }
880 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 04:20:26 ] >>877 ありがとう それ使って書いてみたんだけどエラーが出てしまう・・・。 関数勉強し直します……。 誰か暇だったらでいいので例をつくってください。
881 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 04:47:24 ] >>880 877じゃないけどどんなエラーがでたのか書こうぜ 例ってなにを作って欲しいんだ?
882 名前: ◆/91kCCQXBo mailto:sage [2009/07/10(金) 07:20:19 ] エラーはこれを定義すれば直ると思う。 #include <string.h> main(スタブ)からは、関数パラメータを2個付けて呼び出すだけでいいだろう。
883 名前:デフォルトの名無しさん [2009/07/10(金) 11:10:12 ] すいません、どなたか>>825 をお願いします 厚かましくて申し訳ありません・・・
884 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 11:32:07 ] >>883 課題1 #include <stdio.h> int main(int argc, char **argv) { if (argc < 3) { fprintf(stderr, "Error: too few arguments\n"); return 1; } if (argc > 3) { fprintf(stderr, "Error: too many arguments\n"); return 1; } printf("My name is %s %s\n", argv[1], argv[2]); return 0; }
885 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 11:37:46 ] >>883 課題2 #include <stdio.h> #include <stdlib.h> #include <ctype.h> int main(int argc, char **argv) { int s = 0; int i; if (argc < 3) { fprintf(stderr, "Error: too few arguments\n"); return 1; } for (i = 1; i < argc; i++) { char *c; for (c = argv[i]; *c; c++) { if (!isdigit(*c)) { fprintf(stderr, "Error: %s is illegal arguments\n", argv[i]); return 1; } } s += atoi(argv[i]); } printf("%d\n", s); return 0; }
886 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 11:37:59 ] >>882 ありがとう、それ入れたらコンパイルできた。 >>881 コンパイルできる状態のプログラムが見たかったんだ。
887 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 11:42:37 ] >>883 課題3 実行例3の結果は4になるんじゃないかな #include <stdio.h> int sum(int n, int m) { return (n >= m)? n: n + sum(n + 1, m); } int main(int argc, char **argv) { int n, m; printf("n m: "); scanf("%d %d", &n, &m); if (n > m) { fprintf(stderr, "n should be smaller than m.\n"); return 1; } printf("%d\n", sum(n, m)); return 0; }
888 名前: ◆/91kCCQXBo mailto:sage [2009/07/10(金) 11:50:27 ] 3連続投球終わったか? //>>863 >>848 の先生は、なんで火曜から月曜が1日なんて常識はずれな。 enum Day {Sun,Mon,Tue,Wed,Thr,Fri,Sat}; // Sun=0 int day_load[7][7] = {{0,1,2,3,3,2,1},{1,0,1,2,3,3,2},{2,1,0,1,2,3,3},{3,2,1,0,1,2,3},{3,3,2,1,0,1,2},{2,3,3,2,1,0,1},{1,2,3,3,2,1,0}}; int table[]={0,1,2,3,3,2,1}; int day_distance(enum Day st, enum Day en){  int work,a=st,b=en;  switch(0) { /* ここには 1 から 4 の数字を入れる。どれでも同じ結果になる。 */  case 1: /* compact cost > speed cost */    work = st<en?en-st:st-en;    return work<=3?work:7-work;  case 2: /* compact cost < speed cost */    return day_load[st][en];  case 3: /* >>853 */    return  (a > b) ?        (  (a - b > 7 - (a - b)) ?            (7 - (a - b)) :            (a - b)        ):( (b - a > 7 - (b - a)) ?            (7 - (b - a)) :            (b - a)        );  case 4: /* >>854 */    work = st<en?en-st:st-en;    return table[work%7];  default: /* NORMAL */    return (en-st+7)%7;  } }
889 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 12:00:07 ] >>762 これもできればよろしくお願いします。
890 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 12:35:51 ] >>889 よくわからんけどなんとなくそれっぽいものを書いてみた #include <stdio.h> #define A 3 #define M 65535 #define N 128 #define S 17 int main(void) { int a[N]; int x0, x1; int i; x0 = S; for (i = 0; i < N; ++i) { x1 = (A * x0) % M; a[i] = x1; x0 = x1; } for (i = 0; i < N; ++i) { printf(" %8d", a[i]); if ((i + 1) % 8 == 0) puts(""); } return 0; }
891 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 14:54:16 ] >>890 ありがとうございます。助かります。
892 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 17:01:55 ] yaccとlexですがどなたか>>747 よろしくお願いします。
893 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 18:14:31 ] >>892 fabs,cosはlogを参考にすればいいし。 キャストは簡単だよね。
894 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 18:21:51 ] >>893 すいません、やってもらうことはできませんか?
895 名前:505 [2009/07/10(金) 19:44:39 ] 未解決問題 >>847 LLLアルゴリズムをCでプログラミング 7月17日 >>827 (9720) コマンドの引数xxxxで指定したファイルが更新されたら直ちにメッセージを表示する 7月13日正午 >>824 >>822 何人かの学生の3教科(数学、国語、英語)の得点を2次元配列を用いて処理する 7月9日 19:10 >>820 3入力のクワイン・マクラスキー法のプログラム 7月13日 >>799 指定された点x,yを含む指定された境界色C2で囲まれた平面領域を指定された色C1で塗りつぶす 7月17日 正午 >>791 (9708,9709,DLL_BMP_C) 歌詞を暗号鍵Kとして読み込み、画像 NewYear2003.bmpを暗号化した画像Cを生成する。 7月15日 >>790 入力したtxtファイルをFFT、IFFTせよ 7月8日 24:00 >>772 2問。4次のルンゲ−クッタ法を用いて連立微分方程式を解く 7月28日 >>749 配列を用いた計算機のプログラム 7月12日 >>747 (9696)>>892 yacc,lex 7月14日 >>681 (down11.ddo/1246872574) DirectX マップチップ 7月9日 >>660 (fukushima.jp) パソコン甲子園 2008 予選問題 問7 ふしぎな虫 7月6日 >>607 簡単なデータベース機能を持つプログラム 7月13日 >>451 (9656)>>504 (9661,9662) 最短路問題を解くアルゴリズムとしてベルマンフォード法がある。 7月6日
896 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 22:36:21 ] [1] 授業単元: プログラミングW [2] 問題文(含コード&リンク): オブジェクト指向を使って何でも良いのでプログラム を書け [3] 環境 [3.1] OS:Windows XP [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C++ [4] 期限: 7月17日(金) [5] その他の制限: メソッドを5個以上使う 変数はpublicとprivateを使いわける
897 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 23:02:41 ] [1] 授業単元: プログラミング [2] 問題文(含コード&リンク):この続きからC言語でベルマンフォードをお願いしたいです。 #include <stdio.h> #include <stdlib.h> main(void) { int n, s; /*頂点数、始点*/ int M; /*辺のないところを指定する数*/ int i, j, k; int W[100][100] /*重みを指定した行列*/ FILE *infile; /*入力ファイル*/ infile = fopen("data1.txt", "r"); /*入力ファイル名はdata1.txt*/ fscanf(infile, "%d %d", &n, &s); /*頂点数、始点の読み込み*/ for ( i=1 ; i<=n ; i++ ){ for ( j=1; j<=n; j++){ fscanf(infile,"%d\n",&W[i][j]); /*読み込み部分*/ } } fclose(infile); /*ファイルを閉じる*/ [3] 環境 [3.1] OS:linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: c [4] 期限: 2009年7月31日 [5] その他の制限:一番簡潔な書き方でお願いします@@;
898 名前:デフォルトの名無しさん [2009/07/10(金) 23:17:25 ] コンパイルしてアスタリスクがダイヤ形になるプログラムを教えてください。
899 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 23:35:21 ] >>897 ・問題文は、出題されたまま全文を書いてください。
900 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 23:42:12 ] >>886 文字列まで習ったって書いてあったから。。。
901 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 23:50:52 ] [1] 授業単元: C言語プログラミング演習 [2] 問題文(含コード&リンク): プログラムを実行すると 行列1: 1,2,3 4,5,6 7,8,9 行列2: 3,4,5 6,7,8 9,10,11 と表示する。最後に行列1と行列2の積を計算し、以下のように表示 するプログラム。 [行列1と行列2の積は ?,?,? ?,?,? ?,?,?] 課題2 配列のサイズを大きくして、時間を計測する。配列の内容は、各自指定すること。1から順に値を入れていってもよい [3] 環境 [3.1] OS: Windows/vista [3.2] コンパイラ名とバージョン:Visual Studio 2008 [3.3] 言語: C++ [4] 期限: ([2009年7月15日まで] [5] その他の制限: この流れの通りにやること kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9721.txt お願いします。
902 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 23:51:59 ] >>827 #include <sys/types.h> #include <sys/stat.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <time.h> #define SLEEP_TIME 1 int main(int argc, char *argv[]) { struct stat file; time_t prev_mtime; if (argc != 2) { printf("Usage: exp7 file1 file2\n"); exit(1); } if (stat(argv[1], &file) != 0) { printf("%s not found\n", argv[1]); exit(1); } prev_mtime = file.st_mtime; while (1) { stat(argv[1], &file); if (file.st_mtime != prev_mtime) { printf("\nModified %s %s", argv[1], asctime(localtime(&file.st_mtime))); prev_mtime = file.st_mtime; } sleep(SLEEP_TIME); } }
903 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 23:53:35 ] >>897 すみません >>896 問題:与えられた重みつき有向グラフGと指定された頂点sに対してベルマンフォード法を実行するプログラムをC言語を用いて作りなさい。 ・入力は以下の形式で記述されたテキストファイルによるものとする。 Gの頂点数、頂点s(番号) Gの各辺の重みを指定した行列(辺のないところは値を100とする) 例 5 1 100 2 1 100 100 100 100 100 -1 100 100 -1 100 100 1 100 100 3 4 100 100 100 100 100 100 ・頂点数は最大100まで対応できるようにする ・入力ファイルから読み込む形式にする
904 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 00:12:47 ] >>901 課題1 #include <stdio.h> int main(void) { int a[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; int b[3][3] = {{3, 4, 5}, {6, 7, 8}, {9, 10, 11}}; int ans[3][3]; int i, j, k; puts("行列1:"); for (i = 0; i < 3; ++i) { for (j = 0; j < 2; ++j) printf("%d,", a[i][j]); printf("%d\n", a[i][j]); } puts("行列2:"); for (i = 0; i < 3; ++i) { for (j = 0; j < 2; ++j) printf("%d,", b[i][j]); printf("%d\n", b[i][j]); } for (i = 0; i < 3; ++i) for (j = 0; j < 3; ++j) ans[i][j] = 0; for (i = 0; i < 3; ++i) for (j = 0; j < 3; ++j) for (k = 0; k < 3; ++k) ans[i][j] += a[i][k] * b[k][j]; puts("[行列1と行列2の積は"); for (i = 0; i < 2; ++i) { for (j = 0; j < 2; ++j) printf("%d,", ans[i][j]); printf("%d\n", ans[i][j]); } for (j = 0; j < 2; ++j) printf("%d,", ans[i][j]); printf("%d]\n", ans[i][j]); return 0; }
905 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 00:34:56 ] >>903 アンカミス?だよね
906 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 00:47:17 ] >>898 #include <stdio.h> int main(int argc, char **argv) { if (argc > 1) { char *c; for (c = argv[1]; *c; c++) if (*c == '*') printf("◇"); else putchar(*c); } return 0; }
907 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 01:00:04 ] わざと誤読すんなw
908 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 01:00:49 ] >>896 オブジェクト指向?それっておいしいの??と思ってる人間が書いたソース。 継承しないで委譲って感じになってると思う。 あと、動作は保障しない。うちの環境はVC9EEだ。 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9722.zip
909 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 01:41:23 ] >>896 >>908 さんとかぶったが一応やってみた 俺はC++本当にど素人なので何も保障できない 参考までに使ってくれ ttp://jbbs.livedoor.jp/bbs/read.cgi/computer/32221/1246384344/15-16
910 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 03:37:06 ] 901ですが>>904 ありがとうございます じつは自分でもやっていたのですがkansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9723.txt この文の最初のfor(j=0;j<3;j++)の後ろにfor(l=0;l<3;l++) main文の中のj=0;j<3;j++)の後ろにfor(l=0;l<3;l++)をつけたい 場合(答えはつける前と同じで)各 ans[i][j]=○○をどうやって書いたらいいのでしょうか?
911 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 03:40:06 ] >>910 >>904 見ればわかるだろ
912 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 03:52:28 ] と突き放しつつ ans[i][j]=ans[i][j]+a[i][l]*b[l][j];
913 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 03:56:22 ] >>911 >>912 911のコメントの後、作ったらできました。ありがとうございました!またそのあとのフォローのコメントもうれしかったです!
914 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 05:51:46 ] >>905 間違えました!すみませぬ。。。 >>903 は>>897 の修正です。よろしくお願いします。
915 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 11:17:40 ] >>898 ダイヤマークは周囲だけ?つまりダイヤマークの中は半角空白? 問題 >>前953(9534) 解答 >>014 (9548)
916 名前:デフォルトの名無しさん [2009/07/11(土) 14:08:29 ] 【質問テンプレ】 [1] 授業単元:情報基礎B [2] 問題文(含コード&リンク):(1) 平均、標準偏差 (2) 得点の高い順の点数のリスト [3] 環境 [3.1] OS:Linux [3.2] 不明です [3.3] 言語: C++ [4] 期限: 7・18まで [5] その他の制限:基本的なやつでお願いします。(2)はバブルソート
917 名前:デフォルトの名無しさん [2009/07/11(土) 14:09:57 ] 連投すいません 問題文に「試験の点数10人分をキーボードから入力」が抜けていました
918 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 14:10:35 ] >>916 丸投げもできないのか?
919 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 14:13:29 ] >916 しね
920 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 14:16:40 ] >>916 おまえはカスだ
921 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 14:17:33 ] >>916 sageろカス
922 名前:デフォルトの名無しさん [2009/07/11(土) 14:32:29 ] [1] 授業単元:プログラミング入門 [2] 問題文(含コード&リンク): if文を使って、月数に応じてコメントを表示するプログラム(1月ならばwinter、3月ならspringといった具合に)を作る。 月は1月〜12月までなので、13月以上の数値を打ち込んだ場合はerrorと表示させること。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:gcc 3.4…? [3.3] 言語:C [4] 期限: 2009年7月25日 [5] その他の制限:全くの初心者です。コメントつけてくれるとさいわいです
923 名前:デフォルトの名無しさん [2009/07/11(土) 14:37:13 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク):下に示すように,最初に整数を読み込み,その後,その個数だけ整数を読み込んでいき,そ の合計と平均を表示するプログラムを作成せよ。 整数は何個ですか: 6 No.1 : 65 No.2 : 23 No.3 : 47 No.4 : 9 No.5 : 153 No.6 : 777 合計値: 1074 平均値: 179.00 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン:Visual Studio 2008 [3.3] 言語: C [4] 期限: 09年07月30日 [5] その他の制限:どうかよろしくお願いします。
924 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 14:38:34 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク): 多数のファイルをクローズせずに何個もオープンするとどうなるか実験せよ. 実験用プログラム fopen.c のソースと実験結果と考察をレポートすること. % ./fopen 入力ファイル:fopen.c オープン 1 回目 オープン 2 回目 オープン 3 回目 ... オープン ??? 回目 これ以上オープンできません! 注意:「○○回までオープンできた」とかでは,現象・結果の説明にすぎず,考察とは言えない. その結果から何が理解できるのか?推理せよ. 換言:実験結果(具体例)から一般規則を導き出せ. [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限:09/07/20 [5] その他の制限: 特になし
925 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 14:59:22 ] >>916 LinuxならコンパイラはgccだろJK
926 名前:LOG参考まで mailto:sage [2009/07/11(土) 14:59:29 ] >>922 if文を使って、月数に応じてコメントを表示する 問題>>019 解答>>022 (CODE)>>025 (CODE) >>923 最初に整数を読み込み,その後,その個数だけ整数を読み込んでいき,合計と平均を表示する 問題>>050 解答>>052 (CODE) >>924 多数のファイルをクローズせずに何個もオープンするとどうなるか実験せよ 問題>>688-689 (9693) 回答>>696 (9695)>>709 (CODE)>>716 (CODE)
927 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 15:04:46 ] >>916 トンぺ─乙wwwww
928 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 15:20:19 ] >>922 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9725.txt >>923 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9726.txt
929 名前:デフォルトの名無しさん [2009/07/11(土) 22:21:40 ] [1] 授業単元: C言語 [2] 問題文(含コード&リンク): 主語、目的語、述部が入ったデータファイルを読み込み、それらをランダムに組み合わせて生成した短文を20個ファイルに出力するプログラムの作成。 短文の構文は必ず、「(主語)は、(目的語)(述部)。」となるようにする。 出力例:俺は、カレーが大好きだ。 データファイルは以下を使用すること。 主語: 俺 私 あなた 彼 彼女 先生 犬のポチ 猫のタマ ライオン その人 政治家 ネズミ の12個 目的語: カレー ご飯 肉 授業 男 女 すごいもの アレ アンパン お金 の10個 述部: が大好きだ が大嫌いだ を作った をなくした が欲しい に全力を尽くす を新しいものに交換した ?なにそれ美味いの? について深く考えた を捨てた に塩をふりかけた の11個 [3] 環境 [3.1] OS: Windows [3.3] 言語: C [4] 期限: 2009年7月20日
930 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 01:02:34 ] 全角空白' '区切り、1項目目は(主語などの)タイトルでいいのか?
931 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 01:07:48 ] むしろ>>930 が何を言ってるのか分からない タイトルって何だ
932 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 01:10:43 ] >>931 なんで分からないのかが分からない
933 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 01:11:23 ] つまりレコードの第1フィールドと各フィールドの区切り文字の話をしたいんじゃろ。 まったくもって>>930 の考えているとおりでいいんじゃないか? >データファイルは以下を使用すること。 ってなってるんだから、この形のまま記録されてるってことになる。
934 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 01:12:44 ] 当然 " の12個" とかも含まれるんだろうね
935 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 01:12:48 ] ちなみに最終フィールドは「の12個」のように 全角でそのレコードの総単語数が記録されているということに・・・
936 名前:デフォルトの名無しさん [2009/07/12(日) 01:28:41 ] 「の12個」などは含みません! 「の12個を使用すること」 という意味です。 分かりやすいようにつけたつもりだったんですが、逆にわかりづらくしてしまいました。 ごめんなさい。
937 名前:931 mailto:sage [2009/07/12(日) 02:07:36 ] ああ、おk >>930 がネタだと気づかなかった
938 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 02:30:17 ] どういう思考をしたらネタになるんだよ 文字ごとの区切りは本当に全角スペースでいいのか 各行の始まりに本当にXX: があるのかは重要なポイントだろ てかサンプルファイルをロダに上げろよ
939 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 03:10:30 ] >>929 一応作ってみた kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9730.txt 元々用意しておくファイルは、test2.txtとなってるから、そこは自分で名前変えて あと、あまり自信はないから間違ってたらごめん 他にも作ってる人いるっぽいからそっち参考にした方が良いと思う test2.txtはノートパッドに↓を貼り付け、実行ファイルと一緒のフォルダに保存 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9731.txt
940 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 04:59:18 ] >>897 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9732.c (ベルマンフォード法)
941 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 12:19:08 ] 以下のプログラムを、C++で動作させるにはどうしたらよいでしょうか #include <stdio.h> #include "gauss.h" #define LL 10 int main(void) { double a[LL] [LL+1] ,x[LL],esp10.e-19; int i, j, n; int ipivot; int sw=1; scanf("%d",&n); for (i=0; i<n; i++) for(j=0; j<=n; j++) scanf(" %lf",&a[i] [j]); ipivot=gauss(*a,x,LL,n,esp,sw); if(ipivot== 1) for(i=0;i<n;i++) printf("x %d=%lf\n",i+1,x[i]); else{ printf("ピボット値が小さすぎるので"); printf("計算を中断、終了させました"); } return(0); }
942 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 12:42:56 ] >>941 1.#include <stdio.h> を #include <cstdio> にかえる 2.C++のコンパイラでコンパイルする 以上
943 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 12:43:15 ] >>941 gauss.h を見せて
944 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 14:00:00 ] 【質問テンプレ】 [1] 授業単元:プログラミング演習 [2] 問題文(含コード&リンク): www.dotup.org/uploda/www.dotup.org229227.zip [3] 環境 [3.1] OS:Windows XP [3.2] コンパイラ名とバージョン: Visual Studio 2005 [3.3] 言語: C [4] 期限:7/16 18:00 〆 [5] その他の制限:2つあります よろしくお願いします
945 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 14:14:04 ] >>940 助かりました!ありがとうございましたー
946 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 15:34:11 ] 【質問テンプレ】 [1] 授業単元 C言語 [2] 問題文(含コード&リンク): 二つのバイナリファイルの中身を比較して等しいか、等しくないかを比較して結果を返す関数を作る [3] 環境 [3.1] OS:Windows XP [3.2] コンパイラ名とバージョン Visual Studio 2005 [3.3] 言語: C [4] 期限:7月13日 [5] その他の制限 ヒントにはバイトを比べると書いてありました
947 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 16:22:12 ] >>944 文字列strの中に、文字chが含まれている個数を返す関数 問題>>332 (9629) 解答>>338 (9632)>>341 (1246384344/6) >>944 文字列を左右逆に並び替える関数 問題>>150 解答>>153 (9574)
948 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 16:56:04 ] >>941 >>1 これでOKならC++じゃなくてCのミス。 イプシロンの後にイコールを1つ入れる。 double a[LL] [LL+1] ,x[LL],esp=10.e-19; D:\>type gauss.h int gauss(double*,double*,int,int,double,double); int gauss(double *a,double *b,int c,int d,double e,double f){ printf("%lf %lf %lf %lf\n",a[0],a[1],a[2],a[3]); } ファイル名を、任意.cで保存する。 D:\>gcc mondai.c D:\>a 2 11 12 13 14 15 16 11.000000 12.000000 13.000000 nan ピボット値が小さすぎるので計算を中断、終了させました
949 名前:デフォルトの名無しさん [2009/07/12(日) 18:15:29 ] 【質問テンプレ】 [1] 授業単元: C言語 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9733.txt [3] 環境 [3.1] OS: windows XP [3.2] コンパイラ名とバージョン: Borland C++ Compiler 5.5 [3.3] 言語: C [4] 期限: 7月14日 00:00まで [5] その他の制限: テキストに記載してあります。C言語の基本的なことは大方学びました。 よろしくお願い致します。
950 名前:デフォルトの名無しさん [2009/07/12(日) 19:15:07 ] 【質問テンプレ】 [1] 授業単元: C言語 [2] 問題文(含コード&リンク): 下に示すように,要素数が7 でint 型の配列に読み込んだ全要素を逆順に並べ替えるプログ ラムを作成せよ. vx[ 0] : 58 vx[ 1] : 32 vx[ 2] : 17 vx[ 3] : 46 vx[ 4] : 22 vx[ 5] : 73 vx[ 6] : 69 vx[ 0] = 69 vx[ 1] = 73 vx[ 2] = 22 vx[ 3] = 46 vx[ 4] = 17 vx[ 5] = 32 vx[ 6] = 58 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: Visual Studio 2008 [3.3] 言語: C [4] 期限: 7月14日まで [5] その他の制限:
951 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 19:31:40 ] >>950 #include <stdio.h> void rev(int* a,int size){ int i,temp; for(i = 0;i < size/2;i++){ temp = a[i]; a[i] = a[size-i-1]; a[size-i-1] = temp; } } int main(){ int i; int vx[] = {58,32,17,46,22,73,69}; printf("before\n"); for(i = 0;i < sizeof(vx)/sizeof(vx[0]);i++){ printf("vx[%d] = %d\n",i,vx[i]); } rev(vx,sizeof(vx)/sizeof(vx[0])); printf("after\n"); for(i = 0;i < sizeof(vx)/sizeof(vx[0]);i++){ printf("vx[%d] = %d\n",i,vx[i]); } return 0; }
952 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 19:35:58 ] >>950 #include <stdio.h> #define MAX_COUNT 7 int main() { int i, t, vx[MAX_COUNT]; for(i=0; i<MAX_COUNT; i++) { /* 入力 */ printf("vx[%2d] : ", i); if(scanf("%d", &vx[i]) != 1) { scanf("%*s"); i--; } } for(i=0; i<MAX_COUNT/2; i++) { /* 入れ替え */ t = vx[i], vx[i] = vx[MAX_COUNT-1-i], vx[MAX_COUNT-1-i] = t; } for(i=0; i<MAX_COUNT; i++) { /* 表示 */ printf("vx[%2d] = %d\n", i, vx[i]); } return 0; }
953 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 20:05:19 ] 誰か>>946 をお願いいたします。
954 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 20:18:51 ] >>946 #include <stdio.h> #include <string.h> int main(int argc, char *argv[]) { FILE *fp1, *fp2; if(argc != 3) {printf("Usage : %s file1 file2\n", argv[0]); return 1;} if(strcmp(argv[1], argv[2]) == 0) {puts("同じファイルです"); return 0;} fp1 = fopen(argv[1], "rb"); if(fp1 == NULL) {printf("%s file open error!\n", argv[1]); return 1;} fp2 = fopen(argv[2], "rb"); if(fp2 == NULL) {printf("%s file open error!\n", argv[2]); fclose(fp1); return 1;} while(getc(fp1) != getc(fp2)) { puts("異なります"); fclose(fp2); fclose(fp1); return 2; } puts("同じです"); fclose(fp2); fclose(fp1); return 0; }
955 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 20:56:03 ] >>954 ありがとうございます
956 名前:デフォルトの名無しさん [2009/07/12(日) 22:07:29 ] どなたか>>949 お願い出来ませんか? 一つのプログラムにまとめて頂いても結構ですので、よろしくお願いいたします。
957 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 22:55:27 ] [1] 授業単元: C言語 [2] 問題文(含コード&リンク): 100個の乱数を発生させ最大値、最小値、平均を求める また最大値、最小値それぞれ何番目にあるか答えよ (最初に読み込んだデータを1番目とする) [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 7月20日まで [5]基本的なのでお願いします
958 名前:デフォルトの名無しさん [2009/07/12(日) 23:13:34 ] >>957 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9734.txt
959 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 23:54:24 ] >>958 ありがとうございました!
960 名前:デフォルトの名無しさん [2009/07/13(月) 00:34:48 ] [1] 授業単元: プログラミング演習 [2] 問題文(含コード&リンク): 下に示すように,要素数が5 でint 型の配列に、5 人の学生の身長を読み込んで、その平均 身長を求めるプログラムを作成せよ。 身長を入力してください 1 番: 178 2 番: 175 3 番: 165 4 番: 179 5 番: 172 平均身長: 173.8vx[ 0] : 58 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: Visual Studio 2008 [3.3] 言語: C [4] 期限: 7月15日まで [5] その他の制限: まだ基礎しか習ってません。 よろしくお願いします。
961 名前:960 [2009/07/13(月) 00:36:39 ] 訂正です 誤 平均身長: 173.8vx[ 0] : 58 正 平均身長: 173.8
962 名前:デフォルトの名無しさん [2009/07/13(月) 01:09:27 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): www.dotup.org/uploda/www.dotup.org231968.txt.html [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc 3.4 [3.3] 言語:C [4] 期限: 090714 [5]特になし お願いします
963 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 01:40:40 ] >>949 >>956 はいよ。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9735.c
964 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 01:59:52 ] [1] 授業単元: プログラミング演習2 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9736.zip [3] 環境 [3.1] OS: Linux CentOS5 [3.2] コンパイラ名とバージョン: gcc 3.4.1 [3.3] 言語: C [4] 期限: 2009年07月14日10:00 [5] その他の制限: じpに入っているk1.cを書き換えて完成させろという課題です。 よろしくお願いいたします。
965 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 02:00:02 ] >>960 #include <stdio.h> int main(void) { double ave = 0; int a[5]; int i; for (i = 0; i < 5; i++) { printf("%d番: ", i + 1); scanf("%d", &a[i]); } for (i = 0; i < 5; i++) ave += a[i]; printf("平均身長: %.1f\n", ave / 5); return 0; }
966 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 02:12:45 ] >>964 最初から自分で書くなら兎も角、他人の書いた途中なソースに加筆して完成させるというのは それ以上の高度なスキルが必要でこのスレでそれが出来そうなのは麻呂(ry
967 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 02:21:10 ] 分子=1 分母=1063 1/1063=(0.000940733772342) 0. [ 0009407337723424270931326434619002822201317027281279397930385700846660( 70) 3951081843838193791157102539981185324553151458137347130761994355597365( 140) 9454374412041392285983066792097836312323612417685794920037629350893697( 210) 0837253057384760112888052681091251175917215428033866415804327375352775( 280) 1646284101599247412982126058325493885230479774223894637817497648165569( 350) 1439322671683913452492944496707431796801505174035747883349012229539040( 420) 4515522107243650047036688617121354656632173095014111006585136406396989( 490) 6519285042333019755409219190968955785512699905926622765757290686735653( 560) 8099717779868297271872060206961429915333960489181561618062088428974600( 630) 1881467544684854186265286923800564440263405456255879586077140169332079( 700) 0216368767638758231420507996237064910630291627469426152398871119473189( 770) 0874882408278457196613358419567262464722483537158984007525870178739416( 840) 7450611476952022577610536218250235183443085606773283160865475070555032( 910) 9256820319849482596425211665098777046095954844778927563499529633113828( 980) 7864534336782690498588899341486359360301034807149576669802445907808090( 1050) 310442144873]( 1062)
968 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 02:30:59 ] 下手の横好きってやつなんだけど、>>954 のプログラムについて聞きたい getc関数は一文字しか返さないから、その文字がたまたま一緒だった場合、 別の内容だったとしても同じだと判断してしまう危険性とかはないんだろうか? バイナリファイル自体がよく解ってない初心者なので、 誰かちょっと解説してもらえると助かる
969 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 03:04:25 ] >>968 その通り、getc,fgetcは使用すべきではないし、 ロジックもあなたの言う通り間違ってる。 コードを加筆修正して正しいコードを書いてみそ とでも>>954 は言いたげな漢字
970 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 05:13:09 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9737.zip [3] 環境 [3.1] OS: Windows XP [3.2] コンパイラ名とバージョン:Visual Studio 2005 [3.3] 言語:C [4] 期限:7/16/ [5] その他の制限: 問題文の通りにやっていただければ結構です。 宜しくお願いします。
971 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 05:51:03 ] >>970 /* */ len = (int)str_length(st); for(i=0;i<len/2;i++) { temp = *(st+i); *(st+i) = *(st+len-i-1); *(st+len-i-1) = temp; } /* */ rev_str(str);
972 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 06:03:57 ] >>949 #include <stdio.h> #define LEN 8192 int findrepeat(int r[], int *head, int *tail) { int i, j; for (i = 0; r[i]; ++i) for (j = i + 1; r[j]; ++j) if (r[i] == r[j]) { *head = i; *tail = j; return 1; } return 0; } int main(void) { int q[LEN], r[LEN]; int n, head, tail, i; printf("n? "); scanf("%d", &n); if (n == 1) { printf("1 / 1 = 1"); return 0; } for (i = 0; i < LEN; ++i) q[i] = r[i] = 0; head = tail = -1; q[0] = 1 / n; r[0] = 1 % n; for (i = 1; i < LEN && r[i - 1] != 0; ++i) { q[i] = 10 * r[i - 1] / n; r[i] = 10 * r[i - 1] % n; if (findrepeat(r, &head, &tail)) break; } printf("1 / %d = %d.", n, q[0]); for (i = 1; q[i] || r[i]; ++i) { if (i - 1 == head) printf("("); printf("%d", q[i]); if (i == tail) printf(")"); } return 0; }
973 名前:デフォルトの名無しさん [2009/07/13(月) 06:42:36 ] おはようございます>>678 です。 結局>>686 をCに変換できませんでした… どなたか、Cに書き換えてはいただけないでしょうか。
974 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 06:47:12 ] 最初からCって書いて置けよ C++もはいってるじゃねーか
975 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 06:50:32 ] >>973 どうみてもC++じゃなくてCで書かれてるんだが
976 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 06:53:10 ] >>975 拡張子がtxtのままとかどうせレベルの低い話なんだろうけどなw
977 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 06:54:32 ] >>976 それプラス ・課題(11_1)はmain_11_1をmainに書き換えてコンパイル ・課題(11_2)はmain_11_2をmainに(ry ってのがわかってないんだと思う
978 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 06:56:50 ] ああ、あまりにもあほらしくて中みてなかったが課題をまとめてくれてるのかw ほんとにて取り足取りでないとできないのかw
979 名前:デフォルトの名無しさん [2009/07/13(月) 07:36:42 ] これはいいツンデレ
980 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 07:47:26 BE:511223696-DIA(287979)] 次スレ立てました C/C++の宿題片付けます 129代目 pc12.2ch.net/test/read.cgi/tech/1247438792/
981 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 08:28:03 ] >>968 getcでもファイルの最後まで比較しながら読み込んでいけばいいんだけどね。 あなたの言うとおり、>>954 は最初の1文字でしか判定してないから思いっきり間違ってる。 本人はwhile使ってるあたり、最後まで比較したつもりなんだろうけど。
982 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 08:50:46 ] >>954 をいじるとこうなるのかな do { char c1, c2; c1 = getc(fp1); c2 = getc(fp2); if (c1 != c2) { puts("異なります"); return 2; } } while (c1 != EOF); puts("同じです"); return 0;
983 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 08:51:41 ] char じゃなくて int じゃないとまずいか
984 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 09:01:24 ] 初心者のころcharで受けて、ファイルの途中で読み込み終了して困ったことがあったなぁ。
985 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 10:00:54 ] >>966 そこで麻呂はない
986 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 10:29:46 ] >>975 >>736
987 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 10:45:07 ] >>986 「どうみても」といいつつちゃんと見てなかったw こいつは失礼した
988 名前: ◆jG/Re6aTC. mailto:sage [2009/07/13(月) 12:48:55 ] [1] 授業単元:アルゴリズム論演習 [2] 問題文(含コード&リンク): (1)3つ以上の整数の階層的プログラミングを行うプログラムを 作成せよ。ただし、整数間の距離は差、クラスタ間の距離はそ れぞれの要素間の距離のうち最小のものとする。出力は、クラ スタか、あるいは整数a,bを足して得られるクラスタをa,bとし、 これを帰納的に適用する表現で表せ。たとえば、1,2,5に対す る出力は((1,2),5)である。 (2)3つ以上の2次元ベクトルの階層的プログラミングを行うプ ログラムを作成せよ。ただし、ベクトル(u1,u2)と(v1,v2)の間 の距離をsqrt(u1*v1 + u2*v2)とし、クラスタ間の距離はそれ ぞれの要素間の距離の平均とする。出力は(1)の表現を用いよ。 [3] 環境 [3.1] OS:Windows [3.2] VisualStudio2008EE [3.3] 言語:C/C++のどちらでも可 (できれば後学のためC++でお願いします。) [4] 期限: [2009年07月23日まで] [5] その他の制限:特に制限はありません。
989 名前: ◆jG/Re6aTC. mailto:sage [2009/07/13(月) 12:50:09 ] >988 よろしくお願いいたします><;
990 名前: ◆/91kCCQXBo mailto:sage [2009/07/13(月) 13:00:51 ] >>982 お世話になった。 >>953 の時は作業中だったのに無理してしまった。 >>955 line 12 : while(getc(fp1) != getc(fp2)) { ↓ int c1=0,c2; /* do if((c1 = getc(fp1)) != (c2 = getc(fp2))) { puts("異なります"); fclose(fp2); fclose(fp1); return 2; } while (c1 != EOF); */ while (c1 != EOF) if((c1 = getc(fp1)) != (c2 = getc(fp2))) {
991 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 13:17:08 ] >>678 g++ でコンパイルしてみること。 エラーが出たらエラーメッセージを貼り付けること。
992 名前: ◆jG/Re6aTC. mailto:sage [2009/07/13(月) 14:14:37 ] >988 (誤)階層的プログラミング (正)階層的クラスタリング でした^^; よろしくです。
993 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 14:35:11 ] >>971 ありがとうございます。
994 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 15:20:18 ] [1] 授業単元: プログラミング演習 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9738.txt [3] 環境 [3.1] OS: Windows Vista [3.2] コンパイラ名とバージョン: VC 2009 [3.3] 言語: C言語 [4] 期限: 7/14 15時 [5] その他の制限: define,for文など よろしくお願いします
995 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 15:27:54 ] >>994 連立1次方程式の解をガウスの消去法用いて解く 問題>>162 解答>>174 (9580)>>183 (9582)
996 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 16:18:31 ] たとえば 3481 という数字(4桁/0含む)が与えられたとき 0 = 3 + 4 - 8 + 1 1 = 3 + 4 - 8 * -1 2 = -(3 + 4 - 8 - 1) 3 = 3 * 4 - 8 - 1 4 = (3 / (4 + 8))^-1 ... のように加減乗除のみで整数を順に造っていってください
997 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 16:24:11 ] 最後の例で思いっきり加減乗除を使っていない件
998 名前:794 mailto:sage [2009/07/13(月) 19:34:47 ] ここ2日ほど熱があり寝込んでました 先生に相談すると今週の間だけ待ってくれるとのこと まだ未解決なので再度宜しくお願いします
999 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 19:47:01 ] >>998 なんかのギャグですか?
1000 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 20:39:34 ] ume
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。